From 305c3576e37c1d627e30d982bdfbdcf43743aaef Mon Sep 17 00:00:00 2001 From: Vladless Date: Sun, 6 Apr 2025 21:15:59 +0300 Subject: [PATCH] cli-interface --- bot.py | 2 +- cli_launcher.py | 198 + handlers/payments/cryprobot_pay.c | 19698 -------------- ...probot_pay.cpython-312-x86_64-linux-gnu.so | Bin 255176 -> 442200 bytes handlers/payments/gift.c | 22379 ---------------- .../gift.cpython-312-x86_64-linux-gnu.so | Bin 280168 -> 479088 bytes handlers/payments/stars_pay.c | 19160 ------------- .../stars_pay.cpython-312-x86_64-linux-gnu.so | Bin 231016 -> 434008 bytes handlers/payments/utils.c | 14233 ---------- .../utils.cpython-312-x86_64-linux-gnu.so | Bin 158152 -> 384744 bytes handlers/payments/yookassa_pay.c | 20230 -------------- ...okassa_pay.cpython-312-x86_64-linux-gnu.so | Bin 251048 -> 442264 bytes handlers/payments/yoomoney_pay.c | 16944 ------------ ...omoney_pay.cpython-312-x86_64-linux-gnu.so | Bin 192808 -> 413560 bytes main.py | 2 +- requirements.txt | 1 + 16 files changed, 201 insertions(+), 112646 deletions(-) create mode 100644 cli_launcher.py delete mode 100644 handlers/payments/cryprobot_pay.c mode change 100755 => 100644 handlers/payments/cryprobot_pay.cpython-312-x86_64-linux-gnu.so delete mode 100644 handlers/payments/gift.c mode change 100755 => 100644 handlers/payments/gift.cpython-312-x86_64-linux-gnu.so delete mode 100644 handlers/payments/stars_pay.c mode change 100755 => 100644 handlers/payments/stars_pay.cpython-312-x86_64-linux-gnu.so delete mode 100644 handlers/payments/utils.c mode change 100755 => 100644 handlers/payments/utils.cpython-312-x86_64-linux-gnu.so delete mode 100644 handlers/payments/yookassa_pay.c mode change 100755 => 100644 handlers/payments/yookassa_pay.cpython-312-x86_64-linux-gnu.so delete mode 100644 handlers/payments/yoomoney_pay.c mode change 100755 => 100644 handlers/payments/yoomoney_pay.cpython-312-x86_64-linux-gnu.so diff --git a/bot.py b/bot.py index fc5e2256..456d3fbb 100644 --- a/bot.py +++ b/bot.py @@ -19,7 +19,7 @@ bot = Bot(token=API_TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTM storage = MemoryStorage() dp = Dispatcher(bot=bot, storage=storage) -version = "4.1-beta(02)" +version = "4.1-preRelease" register_middleware(dp) diff --git a/cli_launcher.py b/cli_launcher.py new file mode 100644 index 00000000..452ca8e7 --- /dev/null +++ b/cli_launcher.py @@ -0,0 +1,198 @@ +import os +import sys +import subprocess +import requests +from rich.console import Console +from rich.prompt import Prompt, Confirm +from rich.table import Table +from rich.text import Text + +from config import SERVICE_NAME + +try: + sys.stdin.reconfigure(encoding='utf-8') + sys.stdout.reconfigure(encoding='utf-8') +except Exception: + pass + +if not os.environ.get("LC_ALL", "").endswith("UTF-8"): + os.environ["LC_ALL"] = "en_US.UTF-8" + os.environ["LANG"] = "en_US.UTF-8" + +BACK_DIR = os.path.expanduser("~/.solobot_backup") +TEMP_DIR = os.path.expanduser("~/.solobot_tmp") +PROJECT_DIR = os.path.abspath(os.path.dirname(__file__)) +GITHUB_REPO = "https://github.com/Vladless/Solo_bot" + +console = Console() + + +def print_logo(): + logo = Text(""" +███████╗ ██████╗ ██╗ ██████╗ ██████╗ ██████╗ ████████╗ +██╔════╝██╔═══██╗██║ ██╔═══██╗██╔══██╗██╔═══██╗╚══██╔══╝ +███████╗██║ ██║██║ ██║ ██║██████╔╝██║ ██║ ██║ +╚════██║██║ ██║██║ ██║ ██║██╔══██╗██║ ██║ ██║ +███████║╚██████╔╝███████╗╚██████╔╝██████╔╝╚██████╔╝ ██║ +╚══════╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ +""", style="bold cyan") + console.print(logo) + + +def backup_project(): + console.print("[yellow]Создаётся резервная копия проекта...[/yellow]") + subprocess.run(["rm", "-rf", BACK_DIR]) + subprocess.run(["cp", "-r", PROJECT_DIR, BACK_DIR]) + console.print(f"[green]✅ Бэкап сохранён в: {BACK_DIR}[/green]") + + +def install_git_if_needed(): + if subprocess.run(["which", "git"], capture_output=True).returncode != 0: + console.print("[blue]Установка Git...[/blue]") + os.system("sudo apt update && sudo apt install -y git") + + +def install_dependencies(): + console.print("[blue]🔧 Установка зависимостей...[/blue]") + os.system("source venv/bin/activate && pip install -r requirements.txt") + + +def restart_service(): + console.print("[blue]🚀 Перезапуск службы...[/blue]") + os.system(f"sudo systemctl restart {SERVICE_NAME}") + + +def update_from_beta(): + if not Confirm.ask("[yellow]🔁 Подтвердите обновление Solobot с ветки BETA[/yellow]"): + return + + backup_project() + install_git_if_needed() + + os.chdir(PROJECT_DIR) + git_dir = os.path.join(PROJECT_DIR, ".git") + + if os.path.isdir(git_dir): + console.print("[cyan]🔄 Найден .git. Выполняется git pull...[/cyan]") + os.system("git reset --hard") + os.system("git pull") + else: + console.print("[cyan]📥 .git не найден. Клонируем репозиторий заново...[/cyan]") + subprocess.run(["rm", "-rf", TEMP_DIR]) + if os.system(f"git clone {GITHUB_REPO} {TEMP_DIR}") != 0: + console.print("[red]❌ Ошибка при клонировании. Обновление отменено.[/red]") + return + subprocess.run(["cp", "-r", f"{TEMP_DIR}/.", PROJECT_DIR]) + subprocess.run(["rm", "-rf", TEMP_DIR]) + + install_dependencies() + restart_service() + console.print("[green]✅ Обновление с ветки BETA завершено.[/green]") + + +def update_from_release(): + if not Confirm.ask("[yellow]🔁 Подтвердите обновление Solobot до последнего релиза[/yellow]"): + return + + backup_project() + install_git_if_needed() + + try: + response = requests.get( + "https://api.github.com/repos/Vladless/Solo_bot/releases/latest", timeout=10 + ) + tag_name = response.json().get("tag_name") + + if not tag_name: + raise ValueError("Не удалось получить тег релиза") + + console.print(f"[cyan]📥 Клонируем релиз {tag_name} во временную папку...[/cyan]") + subprocess.run(["rm", "-rf", TEMP_DIR]) + if os.system(f"git clone --depth 1 --branch {tag_name} {GITHUB_REPO} {TEMP_DIR}") != 0: + console.print("[red]❌ Ошибка при клонировании релиза. Обновление отменено.[/red]") + return + + subprocess.run(["cp", "-r", f"{TEMP_DIR}/.", PROJECT_DIR]) + subprocess.run(["rm", "-rf", TEMP_DIR]) + + install_dependencies() + restart_service() + console.print(f"[green]✅ Обновление до релиза {tag_name} завершено.[/green]") + + except Exception as e: + console.print(f"[red]❌ Ошибка при обновлении: {e}[/red]") + + +def show_update_menu(): + table = Table(title="Выберите способ обновления", title_style="bold green") + table.add_column("№", justify="center", style="cyan", no_wrap=True) + table.add_column("Источник", style="white") + table.add_row("1", "Обновить с BETA (git pull или clone)") + table.add_row("2", "Обновить с последнего релиза (GitHub Release)") + table.add_row("3", "Назад в меню") + + console.print(table) + choice = Prompt.ask("[bold blue]Введите номер[/bold blue]", choices=["1", "2", "3"]) + + if choice == "1": + update_from_beta() + elif choice == "2": + update_from_release() + + +def show_menu(): + table = Table(title="Solobot CLI", title_style="bold magenta", header_style="bold blue") + + table.add_column("№", justify="center", style="cyan", no_wrap=True) + table.add_column("Операция", style="white") + + table.add_row("1", "Запустить бота (systemd)") + table.add_row("2", "Запустить напрямую: venv/bin/python main.py") + table.add_row("3", "Перезапустить бота (systemd)") + table.add_row("4", "Остановить бота (systemd)") + table.add_row("5", "Показать логи (50 строк)") + table.add_row("6", "Показать статус") + table.add_row("7", "Обновить Solobot") + table.add_row("8", "Выход") + + console.print(table) + + +def main(): + if os.geteuid() != 0: + console.print("[bold red]⛔ Требуется запуск от имени root или через sudo.[/bold red]") + sys.exit(1) + + os.chdir(PROJECT_DIR) + + print_logo() + + while True: + show_menu() + choice = Prompt.ask("[bold blue]Введите номер действия[/bold blue]", choices=[str(i) for i in range(1, 9)]) + + if choice == "1": + os.system(f"sudo systemctl start {SERVICE_NAME}") + elif choice == "2": + if Confirm.ask("[green]Вы действительно хотите запустить main.py вручную?[/green]"): + os.system("sudo venv/bin/python main.py") + elif choice == "3": + if Confirm.ask("[yellow]Вы действительно хотите перезапустить бота?[/yellow]"): + os.system(f"sudo systemctl restart {SERVICE_NAME}") + elif choice == "4": + if Confirm.ask("[red]Вы уверены, что хотите остановить бота?[/red]"): + os.system(f"sudo systemctl stop {SERVICE_NAME}") + elif choice == "5": + os.system(f"sudo journalctl -u {SERVICE_NAME} -n 50 --no-pager") + elif choice == "6": + os.system(f"sudo systemctl status {SERVICE_NAME}") + elif choice == "7": + show_update_menu() + elif choice == "8": + console.print("[bold cyan]👋 Выход из CLI. Удачного дня![/bold cyan]") + break + + + +if __name__ == "__main__": + main() diff --git a/handlers/payments/cryprobot_pay.c b/handlers/payments/cryprobot_pay.c deleted file mode 100644 index dce24db9..00000000 --- a/handlers/payments/cryprobot_pay.c +++ /dev/null @@ -1,19698 +0,0 @@ -/* Generated by Cython 3.0.12 */ - -/* BEGIN: Cython Metadata -{ - "distutils": { - "extra_compile_args": [ - "-O2", - "-static-libgcc" - ], - "extra_link_args": [ - "-s" - ], - "name": "handlers.payments.cryprobot_pay", - "sources": [ - "handlers/payments/cryprobot_pay.py" - ] - }, - "module_name": "handlers.payments.cryprobot_pay" -} -END: Cython Metadata */ - -#ifndef PY_SSIZE_T_CLEAN -#define PY_SSIZE_T_CLEAN -#endif /* PY_SSIZE_T_CLEAN */ -#if defined(CYTHON_LIMITED_API) && 0 - #ifndef Py_LIMITED_API - #if CYTHON_LIMITED_API+0 > 0x03030000 - #define Py_LIMITED_API CYTHON_LIMITED_API - #else - #define Py_LIMITED_API 0x03030000 - #endif - #endif -#endif - -#include "Python.h" -#ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) - #error Cython requires Python 2.7+ or Python 3.3+. -#else -#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API -#define __PYX_EXTRA_ABI_MODULE_NAME "limited" -#else -#define __PYX_EXTRA_ABI_MODULE_NAME "" -#endif -#define CYTHON_ABI "3_0_12" __PYX_EXTRA_ABI_MODULE_NAME -#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI -#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "." -#define CYTHON_HEX_VERSION 0x03000CF0 -#define CYTHON_FUTURE_DIVISION 1 -#include -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef HAVE_LONG_LONG - #define HAVE_LONG_LONG -#endif -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX -#if defined(GRAALVM_PYTHON) - /* For very preliminary testing purposes. Most variables are set the same as PyPy. - The existence of this section does not imply that anything works or is even tested */ - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 1 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(PYPY_VERSION) - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #if PY_VERSION_HEX < 0x03090000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00) - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(CYTHON_LIMITED_API) - #ifdef Py_LIMITED_API - #undef __PYX_LIMITED_VERSION_HEX - #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API - #endif - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 1 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_CLINE_IN_TRACEBACK - #define CYTHON_CLINE_IN_TRACEBACK 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 1 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #endif - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 1 - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 1 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #ifndef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 1 - #endif - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 - #endif -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #ifndef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #if PY_MAJOR_VERSION < 3 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #ifndef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #ifndef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #ifndef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL (PY_MAJOR_VERSION < 3 || PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030C00A6) - #endif - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL (PY_VERSION_HEX >= 0x030700A1) - #endif - #ifndef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 1 - #endif - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #if PY_VERSION_HEX < 0x030400a1 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #elif !defined(CYTHON_USE_TP_FINALIZE) - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #if PY_VERSION_HEX < 0x030600B1 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #elif !defined(CYTHON_USE_DICT_VERSIONS) - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX < 0x030C00A5) - #endif - #if PY_VERSION_HEX < 0x030700A3 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #elif !defined(CYTHON_USE_EXC_INFO_STACK) - #define CYTHON_USE_EXC_INFO_STACK 1 - #endif - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 1 - #endif -#endif -#if !defined(CYTHON_FAST_PYCCALL) -#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) -#endif -#if !defined(CYTHON_VECTORCALL) -#define CYTHON_VECTORCALL (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1) -#endif -#define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1) -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_MAJOR_VERSION < 3 - #include "longintrepr.h" - #endif - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(maybe_unused) - #define CYTHON_UNUSED [[maybe_unused]] - #endif - #endif - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR - #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x) -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_USE_CPP_STD_MOVE - #if defined(__cplusplus) && (\ - __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)) - #define CYTHON_USE_CPP_STD_MOVE 1 - #else - #define CYTHON_USE_CPP_STD_MOVE 0 - #endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#ifdef _MSC_VER - #ifndef _MSC_STDINT_H_ - #if _MSC_VER < 1300 - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - typedef unsigned int uint32_t; - #else - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; - #endif - #endif - #if _MSC_VER < 1300 - #ifdef _WIN64 - typedef unsigned long long __pyx_uintptr_t; - #else - typedef unsigned int __pyx_uintptr_t; - #endif - #else - #ifdef _WIN64 - typedef unsigned __int64 __pyx_uintptr_t; - #else - typedef unsigned __int32 __pyx_uintptr_t; - #endif - #endif -#else - #include - typedef uintptr_t __pyx_uintptr_t; -#endif -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(fallthrough) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif -#ifdef __cplusplus - template - struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);}; - #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL::value) -#else - #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0) -#endif -#if CYTHON_COMPILING_IN_PYPY == 1 - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000) -#else - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000) -#endif -#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer)) - -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" - #define __Pyx_DefaultClassType PyClass_Type - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" - #define __Pyx_DefaultClassType PyType_Type -#if CYTHON_COMPILING_IN_LIMITED_API - static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyObject *exception_table = NULL; - PyObject *types_module=NULL, *code_type=NULL, *result=NULL; - #if __PYX_LIMITED_VERSION_HEX < 0x030B0000 - PyObject *version_info; - PyObject *py_minor_version = NULL; - #endif - long minor_version = 0; - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); - #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000 - minor_version = 11; - #else - if (!(version_info = PySys_GetObject("version_info"))) goto end; - if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end; - minor_version = PyLong_AsLong(py_minor_version); - Py_DECREF(py_minor_version); - if (minor_version == -1 && PyErr_Occurred()) goto end; - #endif - if (!(types_module = PyImport_ImportModule("types"))) goto end; - if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end; - if (minor_version <= 7) { - (void)p; - result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else if (minor_version <= 10) { - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else { - if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end; - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell); - } - end: - Py_XDECREF(code_type); - Py_XDECREF(exception_table); - Py_XDECREF(types_module); - if (type) { - PyErr_Restore(type, value, traceback); - } - return result; - } - #ifndef CO_OPTIMIZED - #define CO_OPTIMIZED 0x0001 - #endif - #ifndef CO_NEWLOCALS - #define CO_NEWLOCALS 0x0002 - #endif - #ifndef CO_VARARGS - #define CO_VARARGS 0x0004 - #endif - #ifndef CO_VARKEYWORDS - #define CO_VARKEYWORDS 0x0008 - #endif - #ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x0200 - #endif - #ifndef CO_GENERATOR - #define CO_GENERATOR 0x0020 - #endif - #ifndef CO_COROUTINE - #define CO_COROUTINE 0x0080 - #endif -#elif PY_VERSION_HEX >= 0x030B0000 - static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyCodeObject *result; - PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); - if (!empty_bytes) return NULL; - result = - #if PY_VERSION_HEX >= 0x030C0000 - PyUnstable_Code_NewWithPosOnlyArgs - #else - PyCode_NewWithPosOnlyArgs - #endif - (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes); - Py_DECREF(empty_bytes); - return result; - } -#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif -#endif -#if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE) - #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type) -#else - #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is) - #define __Pyx_Py_Is(x, y) Py_Is(x, y) -#else - #define __Pyx_Py_Is(x, y) ((x) == (y)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone) - #define __Pyx_Py_IsNone(ob) Py_IsNone(ob) -#else - #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue) - #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob) -#else - #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse) - #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob) -#else - #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False) -#endif -#define __Pyx_NoneAsNull(obj) (__Pyx_Py_IsNone(obj) ? NULL : (obj)) -#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o) -#else - #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o) -#endif -#ifndef CO_COROUTINE - #define CO_COROUTINE 0x80 -#endif -#ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x200 -#endif -#ifndef Py_TPFLAGS_CHECKTYPES - #define Py_TPFLAGS_CHECKTYPES 0 -#endif -#ifndef Py_TPFLAGS_HAVE_INDEX - #define Py_TPFLAGS_HAVE_INDEX 0 -#endif -#ifndef Py_TPFLAGS_HAVE_NEWBUFFER - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef Py_TPFLAGS_SEQUENCE - #define Py_TPFLAGS_SEQUENCE 0 -#endif -#ifndef Py_TPFLAGS_MAPPING - #define Py_TPFLAGS_MAPPING 0 -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #if PY_VERSION_HEX >= 0x030d00A4 - # define __Pyx_PyCFunctionFast PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords - #else - # define __Pyx_PyCFunctionFast _PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords - #endif -#endif -#if CYTHON_METH_FASTCALL - #define __Pyx_METH_FASTCALL METH_FASTCALL - #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast - #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords -#else - #define __Pyx_METH_FASTCALL METH_VARARGS - #define __Pyx_PyCFunction_FastCall PyCFunction - #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords -#endif -#if CYTHON_VECTORCALL - #define __pyx_vectorcallfunc vectorcallfunc - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET PY_VECTORCALL_ARGUMENTS_OFFSET - #define __Pyx_PyVectorcall_NARGS(n) PyVectorcall_NARGS((size_t)(n)) -#elif CYTHON_BACKPORT_VECTORCALL - typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args, - size_t nargsf, PyObject *kwnames); - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET ((size_t)1 << (8 * sizeof(size_t) - 1)) - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)) -#else - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0 - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n)) -#endif -#if PY_MAJOR_VERSION >= 0x030900B1 -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func) -#else -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func) -#endif -#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func) -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth) -#elif !CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func) -#endif -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags) -static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) { - return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self; -} -#endif -static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) { -#if CYTHON_COMPILING_IN_LIMITED_API - return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc; -#else - return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -#endif -} -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc) -#if __PYX_LIMITED_VERSION_HEX < 0x030900B1 - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b)) - typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *); -#else - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) PyType_FromModuleAndSpec(m, s, b) - #define __Pyx_PyCMethod PyCMethod -#endif -#ifndef METH_METHOD - #define METH_METHOD 0x200 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyThreadState_Current PyThreadState_Get() -#elif !CYTHON_FAST_THREAD_STATE - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked() -#elif PY_VERSION_HEX >= 0x03060000 - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#elif PY_VERSION_HEX >= 0x03000000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_Current -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE void *__Pyx_PyModule_GetState(PyObject *op) -{ - void *result; - result = PyModule_GetState(op); - if (!result) - Py_FatalError("Couldn't find the module state"); - return result; -} -#endif -#define __Pyx_PyObject_GetSlot(obj, name, func_ctype) __Pyx_PyType_GetSlot(Py_TYPE(obj), name, func_ctype) -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((func_ctype) PyType_GetSlot((type), Py_##name)) -#else - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((type)->name) -#endif -#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) -#include "pythread.h" -#define Py_tss_NEEDS_INIT 0 -typedef int Py_tss_t; -static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { - *key = PyThread_create_key(); - return 0; -} -static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { - Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); - *key = Py_tss_NEEDS_INIT; - return key; -} -static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { - PyObject_Free(key); -} -static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { - return *key != Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { - PyThread_delete_key(*key); - *key = Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { - return PyThread_set_key_value(*key, value); -} -static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { - return PyThread_get_key_value(*key); -} -#endif -#if PY_MAJOR_VERSION < 3 - #if CYTHON_COMPILING_IN_PYPY - #if PYPY_VERSION_NUM < 0x07030600 - #if defined(__cplusplus) && __cplusplus >= 201402L - [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]] - #elif defined(__GNUC__) || defined(__clang__) - __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))) - #elif defined(_MSC_VER) - __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")) - #endif - static CYTHON_INLINE int PyGILState_Check(void) { - return 0; - } - #else // PYPY_VERSION_NUM < 0x07030600 - #endif // PYPY_VERSION_NUM < 0x07030600 - #else - static CYTHON_INLINE int PyGILState_Check(void) { - PyThreadState * tstate = _PyThreadState_Current; - return tstate && (tstate == PyGILState_GetThisThreadState()); - } - #endif -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION - #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#else - #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) { - PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name); - if (res == NULL) PyErr_Clear(); - return res; -} -#elif PY_MAJOR_VERSION >= 3 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000) -#define __Pyx_PyDict_GetItemStrWithError PyDict_GetItemWithError -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#else -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) { -#if CYTHON_COMPILING_IN_PYPY - return PyDict_GetItem(dict, name); -#else - PyDictEntry *ep; - PyDictObject *mp = (PyDictObject*) dict; - long hash = ((PyStringObject *) name)->ob_shash; - assert(hash != -1); - ep = (mp->ma_lookup)(mp, name, hash); - if (ep == NULL) { - return NULL; - } - return ep->me_value; -#endif -} -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#endif -#if CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyType_GetFlags(tp) (((PyTypeObject *)tp)->tp_flags) - #define __Pyx_PyType_HasFeature(type, feature) ((__Pyx_PyType_GetFlags(type) & (feature)) != 0) - #define __Pyx_PyObject_GetIterNextFunc(obj) (Py_TYPE(obj)->tp_iternext) -#else - #define __Pyx_PyType_GetFlags(tp) (PyType_GetFlags((PyTypeObject *)tp)) - #define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature) - #define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v) -#else - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v) -#endif -#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000 -#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\ - PyTypeObject *type = Py_TYPE((PyObject*)obj);\ - assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\ - PyObject_GC_Del(obj);\ - Py_DECREF(type);\ -} -#else -#define __Pyx_PyHeapTypeObject_GC_Del(obj) PyObject_GC_Del(obj) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define CYTHON_PEP393_ENABLED 1 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GetLength(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((void)u, 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((void)u, (0)) - #define __Pyx_PyUnicode_DATA(u) ((void*)u) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)k, PyUnicode_ReadChar((PyObject*)(d), i)) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GetLength(u)) -#elif PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) - #define CYTHON_PEP393_ENABLED 1 - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_READY(op) (0) - #else - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #endif - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) ((int)PyUnicode_KIND(u)) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, (Py_UCS4) ch) - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #else - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #endif - #endif -#else - #define CYTHON_PEP393_ENABLED 0 - #define PyUnicode_1BYTE_KIND 1 - #define PyUnicode_2BYTE_KIND 2 - #define PyUnicode_4BYTE_KIND 4 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535U : 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((int)sizeof(Py_UNICODE)) - #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = (Py_UNICODE) ch) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #if !defined(PyUnicode_DecodeUnicodeEscape) - #define PyUnicode_DecodeUnicodeEscape(s, size, errors) PyUnicode_Decode(s, size, "unicode_escape", errors) - #endif - #if !defined(PyUnicode_Contains) || (PY_MAJOR_VERSION == 2 && PYPY_VERSION_NUM < 0x07030500) - #undef PyUnicode_Contains - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) - #endif - #if !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) - #endif - #if !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) - #endif -#endif -#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) -#else - #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) -#endif -#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) - #define PyObject_ASCII(o) PyObject_Repr(o) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject - #define PyString_Type PyUnicode_Type - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact -#ifndef PyObject_Unicode - #define PyObject_Unicode PyObject_Str -#endif -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) - #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) -#else - #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) - #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) -#endif -#if CYTHON_COMPILING_IN_CPYTHON - #define __Pyx_PySequence_ListKeepNew(obj)\ - (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj)) -#else - #define __Pyx_PySequence_ListKeepNew(obj) PySequence_List(obj) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) __Pyx_IS_TYPE(obj, &PySet_Type) -#endif -#if PY_VERSION_HEX >= 0x030900A4 - #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) -#else - #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i) - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o) -#else - #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i) - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v) - #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o) -#endif -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name) -#else - static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) { - PyObject *module = PyImport_AddModule(name); - Py_XINCREF(module); - return module; - } -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type - #define PyInt_Check(op) PyLong_Check(op) - #define PyInt_CheckExact(op) PyLong_CheckExact(op) - #define __Pyx_Py3Int_Check(op) PyLong_Check(op) - #define __Pyx_Py3Int_CheckExact(op) PyLong_CheckExact(op) - #define PyInt_FromString PyLong_FromString - #define PyInt_FromUnicode PyLong_FromUnicode - #define PyInt_FromLong PyLong_FromLong - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_AsLong PyLong_AsLong - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsSsize_t PyLong_AsSsize_t - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #define PyNumber_Int PyNumber_Long -#else - #define __Pyx_Py3Int_Check(op) (PyLong_Check(op) || PyInt_Check(op)) - #define __Pyx_Py3Int_CheckExact(op) (PyLong_CheckExact(op) || PyInt_CheckExact(op)) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject -#endif -#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY - #ifndef PyUnicode_InternFromString - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) - #endif -#endif -#if PY_VERSION_HEX < 0x030200A4 - typedef long Py_hash_t; - #define __Pyx_PyInt_FromHash_t PyInt_FromLong - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t -#else - #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t -#endif -#if CYTHON_USE_ASYNC_SLOTS - #if PY_VERSION_HEX >= 0x030500B1 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods - #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) - #else - #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) - #endif -#else - #define __Pyx_PyType_AsAsync(obj) NULL -#endif -#ifndef __Pyx_PyAsyncMethodsStruct - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - } __Pyx_PyAsyncMethodsStruct; -#endif - -#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) - #if !defined(_USE_MATH_DEFINES) - #define _USE_MATH_DEFINES - #endif -#endif -#include -#ifdef NAN -#define __PYX_NAN() ((float) NAN) -#else -static CYTHON_INLINE float __PYX_NAN() { - float value; - memset(&value, 0xFF, sizeof(value)); - return value; -} -#endif -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#define __PYX_MARK_ERR_POS(f_index, lineno) \ - { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifdef CYTHON_EXTERN_C - #undef __PYX_EXTERN_C - #define __PYX_EXTERN_C CYTHON_EXTERN_C -#elif defined(__PYX_EXTERN_C) - #ifdef _MSC_VER - #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.") - #else - #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead. - #endif -#else - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__handlers__payments__cryprobot_pay -#define __PYX_HAVE_API__handlers__payments__cryprobot_pay -/* Early includes */ -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; - const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; - -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s); -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*); -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if PY_MAJOR_VERSION < 3 - #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#else - #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize -#endif -#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyObject_AsWritableString(s) ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -#define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o) -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) -#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); -#if CYTHON_ASSUME_SAFE_MACROS -#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#else -#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#endif -#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#else -#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_VERSION_HEX >= 0x030C00A7 - #ifndef _PyLong_SIGN_MASK - #define _PyLong_SIGN_MASK 3 - #endif - #ifndef _PyLong_NON_SIZE_BITS - #define _PyLong_NON_SIZE_BITS 3 - #endif - #define __Pyx_PyLong_Sign(x) (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK) - #define __Pyx_PyLong_IsNeg(x) ((__Pyx_PyLong_Sign(x) & 2) != 0) - #define __Pyx_PyLong_IsNonNeg(x) (!__Pyx_PyLong_IsNeg(x)) - #define __Pyx_PyLong_IsZero(x) (__Pyx_PyLong_Sign(x) & 1) - #define __Pyx_PyLong_IsPos(x) (__Pyx_PyLong_Sign(x) == 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) (__Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_SignedDigitCount(x)\ - ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x)) - #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue) - #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x) - #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x) - #else - #define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_CompactValue(x) ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0]) - #endif - typedef Py_ssize_t __Pyx_compact_pylong; - typedef size_t __Pyx_compact_upylong; - #else - #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0) - #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0) - #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0) - #define __Pyx_PyLong_IsPos(x) (Py_SIZE(x) > 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) __Pyx_sst_abs(Py_SIZE(x)) - #define __Pyx_PyLong_SignedDigitCount(x) Py_SIZE(x) - #define __Pyx_PyLong_IsCompact(x) (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1) - #define __Pyx_PyLong_CompactValue(x)\ - ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0])) - typedef sdigit __Pyx_compact_pylong; - typedef digit __Pyx_compact_upylong; - #endif - #if PY_VERSION_HEX >= 0x030C00A5 - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit) - #else - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->ob_digit) - #endif -#endif -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII -#include -static int __Pyx_sys_getdefaultencoding_not_ascii; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - PyObject* ascii_chars_u = NULL; - PyObject* ascii_chars_b = NULL; - const char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - if (strcmp(default_encoding_c, "ascii") == 0) { - __Pyx_sys_getdefaultencoding_not_ascii = 0; - } else { - char ascii_chars[128]; - int c; - for (c = 0; c < 128; c++) { - ascii_chars[c] = (char) c; - } - __Pyx_sys_getdefaultencoding_not_ascii = 1; - ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); - if (!ascii_chars_u) goto bad; - ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); - if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { - PyErr_Format( - PyExc_ValueError, - "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", - default_encoding_c); - goto bad; - } - Py_DECREF(ascii_chars_u); - Py_DECREF(ascii_chars_b); - } - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - Py_XDECREF(ascii_chars_u); - Py_XDECREF(ascii_chars_b); - return -1; -} -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#else -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#include -static char* __PYX_DEFAULT_STRING_ENCODING; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); - if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; - strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - return -1; -} -#endif -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } - -#if !CYTHON_USE_MODULE_STATE -static PyObject *__pyx_m = NULL; -#endif -static int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm = __FILE__; -static const char *__pyx_filename; - -/* #### Code section: filename_table ### */ - -static const char *__pyx_f[] = { - "handlers/payments/cryprobot_pay.py", -}; -/* #### Code section: utility_code_proto_before_types ### */ -/* #### Code section: numeric_typedefs ### */ -/* #### Code section: complex_type_declarations ### */ -/* #### Code section: type_declarations ### */ - -/*--- Type declarations ---*/ -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot; -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection; -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook; -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash; -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment; -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount; -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input; - -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_exists; - PyObject *__pyx_v_expected_hash; - PyObject *__pyx_v_i; - PyObject *__pyx_v_key_count; - PyObject *__pyx_v_session; - PyObject *__pyx_v_state; -}; - - -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection { - PyObject_HEAD - PyObject *__pyx_v_amount; - PyObject *__pyx_v_amount_str; - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_data; - PyObject *__pyx_v_e; - PyObject *__pyx_v_invoice; - PyObject *__pyx_v_state; - PyObject *__pyx_v_usdt_amount; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; - PyObject *__pyx_t_3; - PyObject *__pyx_t_4; - PyObject *__pyx_t_5; -}; - - -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook { - PyObject_HEAD - PyObject *__pyx_v_data; - PyObject *__pyx_v_e; - PyObject *__pyx_v_request; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; -}; - - -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash { - PyObject_HEAD - PyObject *__pyx_v_body_text; - PyObject *__pyx_v_crypto_pay_signature; - PyObject *__pyx_v_request; -}; - - -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment { - PyObject_HEAD - PyObject *__pyx_v_amount; - PyObject *__pyx_v_amount_str; - PyObject *__pyx_v_custom_payload; - PyObject *__pyx_v_e; - PyObject *__pyx_v_payload; - PyObject *__pyx_v_user_id; - PyObject *__pyx_v_user_id_str; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; -}; - - -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_state; -}; - - -struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input { - PyObject_HEAD - PyObject *__pyx_v_amount; - PyObject *__pyx_v_builder; - PyObject *__pyx_v_e; - PyObject *__pyx_v_invoice; - PyObject *__pyx_v_message; - PyObject *__pyx_v_state; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; - PyObject *__pyx_t_3; - PyObject *__pyx_t_4; - PyObject *__pyx_t_5; -}; - -/* #### Code section: utility_code_proto ### */ - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, Py_ssize_t); - void (*DECREF)(void*, PyObject*, Py_ssize_t); - void (*GOTREF)(void*, PyObject*, Py_ssize_t); - void (*GIVEREF)(void*, PyObject*, Py_ssize_t); - void* (*SetupContext)(const char*, Py_ssize_t, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -#ifdef WITH_THREAD - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - } - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } -#else - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__)) - #define __Pyx_RefNannyFinishContextNogil() __Pyx_RefNannyFinishContext() -#endif - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_XINCREF(r) do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContextNogil() - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_Py_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; Py_XDECREF(tmp);\ - } while (0) -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* PyErrExceptionMatches.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* PyThreadStateGet.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#if PY_VERSION_HEX >= 0x030C00A6 -#define __Pyx_PyErr_Occurred() (__pyx_tstate->current_exception != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL) -#else -#define __Pyx_PyErr_Occurred() (__pyx_tstate->curexc_type != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->curexc_type) -#endif -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() (PyErr_Occurred() != NULL) -#define __Pyx_PyErr_CurrentExceptionType() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6 -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* PyObjectGetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* PyObjectGetAttrStrNoError.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* TupleAndListFromArray.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n); -static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n); -#endif - -/* IncludeStringH.proto */ -#include - -/* BytesEquals.proto */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); - -/* UnicodeEquals.proto */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); - -/* fastcall.proto */ -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i) -#elif CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i) -#else - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i) -#endif -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg) - #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg) -#else - #define __Pyx_Arg_NewRef_VARARGS(arg) arg - #define __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds) -#define __Pyx_KwValues_VARARGS(args, nargs) NULL -#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s) -#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw) -#if CYTHON_METH_FASTCALL - #define __Pyx_Arg_FASTCALL(args, i) args[i] - #define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds) - #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs)) - static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 - CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues); - #else - #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw) - #endif - #define __Pyx_Arg_NewRef_FASTCALL(arg) arg /* no-op, __Pyx_Arg_FASTCALL is direct and this needs - to have the same reference counting */ - #define __Pyx_Arg_XDECREF_FASTCALL(arg) -#else - #define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS - #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS - #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS - #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS - #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS - #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg) - #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start) -#else -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop) -#endif - -/* RaiseArgTupleInvalid.proto */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* RaiseDoubleKeywords.proto */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywords.proto */ -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, - const char* function_name); - -/* PyDictVersioning.proto */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __pyx_dict_cached_value;\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) do {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* PyFunctionFastCall.proto */ -#if CYTHON_FAST_PYCALL -#if !CYTHON_VECTORCALL -#define __Pyx_PyFunction_FastCall(func, args, nargs)\ - __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); -#endif -#define __Pyx_BUILD_ASSERT_EXPR(cond)\ - (sizeof(char [1 - 2*!(cond)]) - 1) -#ifndef Py_MEMBER_SIZE -#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) -#endif -#if !CYTHON_VECTORCALL -#if PY_VERSION_HEX >= 0x03080000 - #include "frameobject.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #define __Pxy_PyFrame_Initialize_Offsets() - #define __Pyx_PyFrame_GetLocalsplus(frame) ((frame)->f_localsplus) -#else - static size_t __pyx_pyframe_localsplus_offset = 0; - #include "frameobject.h" - #define __Pxy_PyFrame_Initialize_Offsets()\ - ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ - (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) - #define __Pyx_PyFrame_GetLocalsplus(frame)\ - (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) -#endif -#endif -#endif - -/* PyObjectCall.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* PyObjectCallMethO.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectFastCall.proto */ -#define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL) -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs); - -/* IncludeStructmemberH.proto */ -#include - -/* FixUpExtensionType.proto */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type); -#endif - -/* FetchSharedCythonModule.proto */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void); - -/* FetchCommonType.proto */ -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); -#else -static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases); -#endif - -/* RaiseException.proto */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* GetTopmostException.proto */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* SwapException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* PyObjectCall2Args.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* PyObjectCallOneArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* PyObjectGetMethod.proto */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); - -/* PyObjectCallMethod1.proto */ -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); - -/* PyObjectCallNoArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); - -/* CoroutineBase.proto */ -struct __pyx_CoroutineObject; -typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_ExcInfoStruct _PyErr_StackItem -#else -typedef struct { - PyObject *exc_type; - PyObject *exc_value; - PyObject *exc_traceback; -} __Pyx_ExcInfoStruct; -#endif -typedef struct __pyx_CoroutineObject { - PyObject_HEAD - __pyx_coroutine_body_t body; - PyObject *closure; - __Pyx_ExcInfoStruct gi_exc_state; - PyObject *gi_weakreflist; - PyObject *classobj; - PyObject *yieldfrom; - PyObject *gi_name; - PyObject *gi_qualname; - PyObject *gi_modulename; - PyObject *gi_code; - PyObject *gi_frame; - int resume_label; - char is_running; -} __pyx_CoroutineObject; -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self); -static int __Pyx_Coroutine_clear(PyObject *self); -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value); -static PyObject *__Pyx_Coroutine_Close(PyObject *self); -static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_Coroutine_SwapException(self) -#define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state) -#else -#define __Pyx_Coroutine_SwapException(self) {\ - __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\ - __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\ - } -#define __Pyx_Coroutine_ResetAndClearException(self) {\ - __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\ - (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\ - } -#endif -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue) -#else -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue) -#endif -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue); -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state); - -/* PyObject_GenericGetAttrNoDict.proto */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr -#endif - -/* PatchModuleWithCoroutine.proto */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code); - -/* PatchGeneratorABC.proto */ -static int __Pyx_patch_abc(void); - -/* Coroutine.proto */ -#define __Pyx_Coroutine_USED -#define __Pyx_Coroutine_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineType) -#define __Pyx_Coroutine_Check(obj) __Pyx_Coroutine_CheckExact(obj) -#define __Pyx_CoroutineAwait_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineAwaitType) -#define __Pyx_Coroutine_New(body, code, closure, name, qualname, module_name)\ - __Pyx__Coroutine_New(__pyx_CoroutineType, body, code, closure, name, qualname, module_name) -static int __pyx_Coroutine_init(PyObject *module); -static PyObject *__Pyx__Coroutine_await(PyObject *coroutine); -typedef struct { - PyObject_HEAD - PyObject *coroutine; -} __pyx_CoroutineAwaitObject; -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg); -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args); - -/* GetAwaitIter.proto */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o); -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *o); - -/* CoroutineYieldFrom.proto */ -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* GetItemInt.proto */ -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - -/* ObjectGetItem.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key); -#else -#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) -#endif - -/* DictGetItem.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); -#define __Pyx_PyObject_Dict_GetItem(obj, name)\ - (likely(PyDict_CheckExact(obj)) ?\ - __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) -#else -#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) -#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) -#endif - -/* PyObjectFormatSimple.proto */ -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#elif PY_MAJOR_VERSION < 3 - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\ - PyObject_Format(s, f)) -#elif CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\ - likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\ - PyObject_Format(s, f)) -#else - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#endif - -/* PyIntCompare.proto */ -static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* pep479.proto */ -static void __Pyx_Generator_Replace_StopIteration(int in_async_gen); - -/* PyObjectFormat.proto */ -#if CYTHON_USE_UNICODE_WRITER -static PyObject* __Pyx_PyObject_Format(PyObject* s, PyObject* f); -#else -#define __Pyx_PyObject_Format(s, f) PyObject_Format(s, f) -#endif - -/* JoinPyUnicode.proto */ -static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char); - -/* GetAttr.proto */ -static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *); - -/* HasAttr.proto */ -static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *); - -/* ReturnWithStopIteration.proto */ -#define __Pyx_ReturnWithStopIteration(value)\ - if (value == Py_None) PyErr_SetNone(PyExc_StopIteration); else __Pyx__ReturnWithStopIteration(value) -static void __Pyx__ReturnWithStopIteration(PyObject* value); - -/* RaiseTooManyValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); - -/* RaiseNeedMoreValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); - -/* IterFinish.proto */ -static CYTHON_INLINE int __Pyx_IterFinish(void); - -/* UnpackItemEndCheck.proto */ -static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); - -/* pybytes_as_double.proto */ -static double __Pyx_SlowPyString_AsDouble(PyObject *obj); -static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length); -static CYTHON_INLINE double __Pyx_PyBytes_AsDouble(PyObject *obj) { - char* as_c_string; - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - as_c_string = PyBytes_AS_STRING(obj); - size = PyBytes_GET_SIZE(obj); -#else - if (PyBytes_AsStringAndSize(obj, &as_c_string, &size) < 0) { - return (double)-1; - } -#endif - return __Pyx__PyBytes_AsDouble(obj, as_c_string, size); -} -static CYTHON_INLINE double __Pyx_PyByteArray_AsDouble(PyObject *obj) { - char* as_c_string; - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - as_c_string = PyByteArray_AS_STRING(obj); - size = PyByteArray_GET_SIZE(obj); -#else - as_c_string = PyByteArray_AsString(obj); - if (as_c_string == NULL) { - return (double)-1; - } - size = PyByteArray_Size(obj); -#endif - return __Pyx__PyBytes_AsDouble(obj, as_c_string, size); -} - -/* pyunicode_as_double.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS -static const char* __Pyx__PyUnicode_AsDouble_Copy(const void* data, const int kind, char* buffer, Py_ssize_t start, Py_ssize_t end) { - int last_was_punctuation; - Py_ssize_t i; - last_was_punctuation = 1; - for (i=start; i <= end; i++) { - Py_UCS4 chr = PyUnicode_READ(kind, data, i); - int is_punctuation = (chr == '_') | (chr == '.'); - *buffer = (char)chr; - buffer += (chr != '_'); - if (unlikely(chr > 127)) goto parse_failure; - if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure; - last_was_punctuation = is_punctuation; - } - if (unlikely(last_was_punctuation)) goto parse_failure; - *buffer = '\0'; - return buffer; -parse_failure: - return NULL; -} -static double __Pyx__PyUnicode_AsDouble_inf_nan(const void* data, int kind, Py_ssize_t start, Py_ssize_t length) { - int matches = 1; - Py_UCS4 chr; - Py_UCS4 sign = PyUnicode_READ(kind, data, start); - int is_signed = (sign == '-') | (sign == '+'); - start += is_signed; - length -= is_signed; - switch (PyUnicode_READ(kind, data, start)) { - #ifdef Py_NAN - case 'n': - case 'N': - if (unlikely(length != 3)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+1); - matches &= (chr == 'a') | (chr == 'A'); - chr = PyUnicode_READ(kind, data, start+2); - matches &= (chr == 'n') | (chr == 'N'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_NAN : Py_NAN; - #endif - case 'i': - case 'I': - if (unlikely(length < 3)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+1); - matches &= (chr == 'n') | (chr == 'N'); - chr = PyUnicode_READ(kind, data, start+2); - matches &= (chr == 'f') | (chr == 'F'); - if (likely(length == 3 && matches)) - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - if (unlikely(length != 8)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+3); - matches &= (chr == 'i') | (chr == 'I'); - chr = PyUnicode_READ(kind, data, start+4); - matches &= (chr == 'n') | (chr == 'N'); - chr = PyUnicode_READ(kind, data, start+5); - matches &= (chr == 'i') | (chr == 'I'); - chr = PyUnicode_READ(kind, data, start+6); - matches &= (chr == 't') | (chr == 'T'); - chr = PyUnicode_READ(kind, data, start+7); - matches &= (chr == 'y') | (chr == 'Y'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - break; - default: - goto parse_failure; - } - return 0.0; -parse_failure: - return -1.0; -} -static double __Pyx_PyUnicode_AsDouble_WithSpaces(PyObject *obj) { - double value; - const char *last; - char *end; - Py_ssize_t start, length = PyUnicode_GET_LENGTH(obj); - const int kind = PyUnicode_KIND(obj); - const void* data = PyUnicode_DATA(obj); - start = 0; - while (Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, start))) - start++; - while (start < length - 1 && Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, length - 1))) - length--; - length -= start; - if (unlikely(length <= 0)) goto fallback; - value = __Pyx__PyUnicode_AsDouble_inf_nan(data, kind, start, length); - if (unlikely(value == -1.0)) goto fallback; - if (value != 0.0) return value; - if (length < 40) { - char number[40]; - last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length); - if (unlikely(!last)) goto fallback; - value = PyOS_string_to_double(number, &end, NULL); - } else { - char *number = (char*) PyMem_Malloc((length + 1) * sizeof(char)); - if (unlikely(!number)) goto fallback; - last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length); - if (unlikely(!last)) { - PyMem_Free(number); - goto fallback; - } - value = PyOS_string_to_double(number, &end, NULL); - PyMem_Free(number); - } - if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) { - return value; - } -fallback: - return __Pyx_SlowPyString_AsDouble(obj); -} -#endif -static CYTHON_INLINE double __Pyx_PyUnicode_AsDouble(PyObject *obj) { -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS - if (unlikely(__Pyx_PyUnicode_READY(obj) == -1)) - return (double)-1; - if (likely(PyUnicode_IS_ASCII(obj))) { - const char *s; - Py_ssize_t length; - s = PyUnicode_AsUTF8AndSize(obj, &length); - return __Pyx__PyBytes_AsDouble(obj, s, length); - } - return __Pyx_PyUnicode_AsDouble_WithSpaces(obj); -#else - return __Pyx_SlowPyString_AsDouble(obj); -#endif -} - -/* pynumber_float.proto */ -static CYTHON_INLINE PyObject* __Pyx__PyNumber_Float(PyObject* obj); -#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : __Pyx__PyNumber_Float(x)) - -/* PyObject_Unicode.proto */ -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyObject_Unicode(obj)\ - (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj)) -#else -#define __Pyx_PyObject_Unicode(obj)\ - (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Unicode(obj)) -#endif - -/* PyObjectCallMethod0.proto */ -static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name); - -/* ValidateBasesTuple.proto */ -#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases); -#endif - -/* PyType_Ready.proto */ -CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t); - -/* Import.proto */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); - -/* ImportFrom.proto */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); - -/* Py3UpdateBases.proto */ -static PyObject* __Pyx_PEP560_update_bases(PyObject *bases); - -/* CalculateMetaclass.proto */ -static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases); - -/* SetNameInClass.proto */ -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000 -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value)) -#elif CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value)) -#else -#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value) -#endif - -/* PyObjectLookupSpecial.proto */ -#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 0) -#define __Pyx_PyObject_LookupSpecial(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 1) -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error); -#else -#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n) -#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) -#endif - -/* Py3ClassCreate.proto */ -static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname, - PyObject *mkw, PyObject *modname, PyObject *doc); -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict, - PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass); - -/* PyMethodNew.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - PyObject *typesModule=NULL, *methodType=NULL, *result=NULL; - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - typesModule = PyImport_ImportModule("types"); - if (!typesModule) return NULL; - methodType = PyObject_GetAttrString(typesModule, "MethodType"); - Py_DECREF(typesModule); - if (!methodType) return NULL; - result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL); - Py_DECREF(methodType); - return result; -} -#elif PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - return PyMethod_New(func, self); -} -#else - #define __Pyx_PyMethod_New PyMethod_New -#endif - -/* PyVectorcallFastCallDict.proto */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw); -#endif - -/* CythonFunctionShared.proto */ -#define __Pyx_CyFunction_USED -#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 -#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 -#define __Pyx_CYFUNCTION_CCLASS 0x04 -#define __Pyx_CYFUNCTION_COROUTINE 0x08 -#define __Pyx_CyFunction_GetClosure(f)\ - (((__pyx_CyFunctionObject *) (f))->func_closure) -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_CyFunction_GetClassObj(f)\ - (((__pyx_CyFunctionObject *) (f))->func_classobj) -#else - #define __Pyx_CyFunction_GetClassObj(f)\ - ((PyObject*) ((PyCMethodObject *) (f))->mm_class) -#endif -#define __Pyx_CyFunction_SetClassObj(f, classobj)\ - __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj)) -#define __Pyx_CyFunction_Defaults(type, f)\ - ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) -#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ - ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) -typedef struct { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject_HEAD - PyObject *func; -#elif PY_VERSION_HEX < 0x030900B1 - PyCFunctionObject func; -#else - PyCMethodObject func; -#endif -#if CYTHON_BACKPORT_VECTORCALL - __pyx_vectorcallfunc func_vectorcall; -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_weakreflist; -#endif - PyObject *func_dict; - PyObject *func_name; - PyObject *func_qualname; - PyObject *func_doc; - PyObject *func_globals; - PyObject *func_code; - PyObject *func_closure; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_classobj; -#endif - void *defaults; - int defaults_pyobjects; - size_t defaults_size; - int flags; - PyObject *defaults_tuple; - PyObject *defaults_kwdict; - PyObject *(*defaults_getter)(PyObject *); - PyObject *func_annotations; - PyObject *func_is_coroutine; -} __pyx_CyFunctionObject; -#undef __Pyx_CyOrPyCFunction_Check -#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType) -#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type) -#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType) -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc); -#undef __Pyx_IsSameCFunction -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc) -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj); -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, - size_t size, - int pyobjects); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, - PyObject *tuple); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, - PyObject *dict); -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, - PyObject *dict); -static int __pyx_CyFunction_init(PyObject *module); -#if CYTHON_METH_FASTCALL -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -#if CYTHON_BACKPORT_VECTORCALL -#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall) -#else -#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall) -#endif -#endif - -/* CythonFunction.proto */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); - -/* CLineInTraceback.proto */ -#ifdef CYTHON_CLINE_IN_TRACEBACK -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#else -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#endif - -/* CodeObjectCache.proto */ -#if !CYTHON_COMPILING_IN_LIMITED_API -typedef struct { - PyCodeObject* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; -}; -static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static PyCodeObject *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -#endif - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* GCCDiagnostics.proto */ -#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -#define __Pyx_HAS_GCC_DIAGNOSTIC -#endif - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); - -/* FormatTypeName.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -typedef PyObject *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%U" -static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp); -#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj) -#else -typedef const char *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%.200s" -#define __Pyx_PyType_GetName(tp) ((tp)->tp_name) -#define __Pyx_DECREF_TypeName(obj) -#endif - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); - -/* FastTypeChecks.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2)) -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) -#endif -#define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2) -#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* CheckBinaryVersion.proto */ -static unsigned long __Pyx_get_runtime_version(void); -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer); - -/* InitStrings.proto */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); - -/* #### Code section: module_declarations ### */ - -/* Module declarations from "handlers.payments.cryprobot_pay" */ -/* #### Code section: typeinfo ### */ -/* #### Code section: before_global_var ### */ -#define __Pyx_MODULE_NAME "handlers.payments.cryprobot_pay" -extern int __pyx_module_is_main_handlers__payments__cryprobot_pay; -int __pyx_module_is_main_handlers__payments__cryprobot_pay = 0; - -/* Implementation of "handlers.payments.cryprobot_pay" */ -/* #### Code section: global_var ### */ -static PyObject *__pyx_builtin_range; -static PyObject *__pyx_builtin_ValueError; -/* #### Code section: string_decls ### */ -static const char __pyx_k_F[] = "F"; -static const char __pyx_k_e[] = "e"; -static const char __pyx_k_i[] = "i"; -static const char __pyx_k_2f[] = ".2f"; -static const char __pyx_k__2[] = "\320\235\320\260\321\200\321\203\321\210\320\265\320\275\320\260 \321\206\320\265\320\273\320\276\321\201\321\202\320\275\320\276\321\201\321\202\321\214 \321\204\320\260\320\271\320\273\320\276\320\262! \320\236\320\261\320\275\320\276\320\262\320\270\321\202\320\265\321\201\321\214 \321\201 \320\277\320\276\320\273\320\275\320\276\320\271 \320\267\320\260\320\274\320\265\320\275\320\276\320\271 \320\277\320\260\320\277\320\272\320\270!"; -static const char __pyx_k__4[] = "|"; -static const char __pyx_k__6[] = "\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265 \320\264\320\260\320\275\320\275\321\213\320\265 \320\264\320\273\321\217 \320\262\321\213\320\261\320\276\321\200\320\260 \321\201\321\203\320\274\320\274\321\213."; -static const char __pyx_k__7[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\260\321\217 \321\201\321\203\320\274\320\274\320\260."; -static const char __pyx_k__8[] = ":"; -static const char __pyx_k__9[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260."; -static const char __pyx_k_gc[] = "gc"; -static const char __pyx_k_id[] = "id"; -static const char __pyx_k_Any[] = "Any"; -static const char __pyx_k_PAY[] = "PAY"; -static const char __pyx_k_USD[] = "USD"; -static const char __pyx_k__10[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260: "; -static const char __pyx_k__11[] = "\320\237\321\200\320\276\320\270\320\267\320\276\321\210\320\273\320\260 \320\276\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260. \320\237\320\276\320\277\321\200\320\276\320\261\321\203\320\271\321\202\320\265 \321\201\320\275\320\276\320\262\320\260."; -static const char __pyx_k__13[] = "\320\237\320\276\320\273\321\203\321\207\320\265\320\275\321\213 \320\264\320\260\320\275\320\275\321\213\320\265 \320\262\320\265\320\261\321\205\321\203\320\272\320\260: "; -static const char __pyx_k__14[] = "\320\235\320\265\320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\270\320\262\320\260\320\265\320\274\321\213\320\271 \321\202\320\270\320\277 \320\276\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\321\217: "; -static const char __pyx_k__15[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\276\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270 \320\262\320\265\320\261\321\205\321\203\320\272\320\260: "; -static const char __pyx_k__19[] = "\320\237\320\276\320\273\321\203\321\207\320\265\320\275 \320\275\320\265\320\276\320\277\320\273\320\260\321\207\320\265\320\275\320\275\321\213\320\271 \320\270\320\275\320\262\320\276\320\271\321\201: "; -static const char __pyx_k__22[] = "\320\241\321\203\320\274\320\274\320\260 \320\264\320\276\320\273\320\266\320\275\320\260 \320\261\321\213\321\202\321\214 \320\261\320\276\320\273\321\214\321\210\320\265 "; -static const char __pyx_k__23[] = ". \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\265\321\211\320\265 \321\200\320\260\320\267:"; -static const char __pyx_k__24[] = "\320\237\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217 \320\261\320\260\320\273\320\260\320\275\321\201\320\260 \320\275\320\260 "; -static const char __pyx_k__25[] = " \321\200\321\203\320\261"; -static const char __pyx_k__26[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\260\321\217 \321\201\321\203\320\274\320\274\320\260. \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\265\321\211\320\265 \321\200\320\260\320\267:"; -static const char __pyx_k__27[] = "."; -static const char __pyx_k__36[] = "?"; -static const char __pyx_k_doc[] = "__doc__"; -static const char __pyx_k_get[] = "get"; -static const char __pyx_k_pay[] = "pay"; -static const char __pyx_k_row[] = "row"; -static const char __pyx_k_url[] = "url"; -static const char __pyx_k_web[] = "web"; -static const char __pyx_k_BACK[] = "BACK"; -static const char __pyx_k_args[] = "args"; -static const char __pyx_k_chat[] = "chat"; -static const char __pyx_k_data[] = "data"; -static const char __pyx_k_dict[] = "__dict__"; -static const char __pyx_k_fiat[] = "fiat"; -static const char __pyx_k_info[] = "info"; -static const char __pyx_k_json[] = "json"; -static const char __pyx_k_main[] = "__main__"; -static const char __pyx_k_name[] = "__name__"; -static const char __pyx_k_paid[] = "paid"; -static const char __pyx_k_send[] = "send"; -static const char __pyx_k_test[] = "__test__"; -static const char __pyx_k_text[] = "text"; -static const char __pyx_k_State[] = "State"; -static const char __pyx_k_await[] = "__await__"; -static const char __pyx_k_close[] = "close"; -static const char __pyx_k_debug[] = "debug"; -static const char __pyx_k_error[] = "error"; -static const char __pyx_k_range[] = "range"; -static const char __pyx_k_split[] = "split"; -static const char __pyx_k_state[] = "state"; -static const char __pyx_k_super[] = "super"; -static const char __pyx_k_tg_id[] = "tg_id"; -static const char __pyx_k_throw[] = "throw"; -static const char __pyx_k_token[] = "token"; -static const char __pyx_k_trial[] = "trial"; -static const char __pyx_k_types[] = "types"; -static const char __pyx_k_Router[] = "Router"; -static const char __pyx_k_amount[] = "amount"; -static const char __pyx_k_answer[] = "answer"; -static const char __pyx_k_config[] = "config"; -static const char __pyx_k_crypto[] = "crypto_"; -static const char __pyx_k_enable[] = "enable"; -static const char __pyx_k_exists[] = "exists"; -static const char __pyx_k_format[] = "format"; -static const char __pyx_k_import[] = "__import__"; -static const char __pyx_k_logger[] = "logger"; -static const char __pyx_k_module[] = "__module__"; -static const char __pyx_k_router[] = "router"; -static const char __pyx_k_status[] = "status"; -static const char __pyx_k_typing[] = "typing"; -static const char __pyx_k_aiogram[] = "aiogram"; -static const char __pyx_k_aiohttp[] = "aiohttp"; -static const char __pyx_k_balance[] = "balance"; -static const char __pyx_k_builder[] = "builder"; -static const char __pyx_k_disable[] = "disable"; -static const char __pyx_k_headers[] = "headers"; -static const char __pyx_k_invoice[] = "invoice"; -static const char __pyx_k_isdigit[] = "isdigit"; -static const char __pyx_k_message[] = "message"; -static const char __pyx_k_network[] = "network"; -static const char __pyx_k_payload[] = "payload"; -static const char __pyx_k_prepare[] = "__prepare__"; -static const char __pyx_k_request[] = "request"; -static const char __pyx_k_session[] = "session"; -static const char __pyx_k_user_id[] = "user_id"; -static const char __pyx_k_warning[] = "warning"; -static const char __pyx_k_MAIN_NET[] = "MAIN_NET"; -static const char __pyx_k_Networks[] = "Networks"; -static const char __pyx_k_No_value[] = "No value"; -static const char __pyx_k_Response[] = "Response"; -static const char __pyx_k_amount_2[] = ", amount: "; -static const char __pyx_k_crypto_2[] = "crypto"; -static const char __pyx_k_database[] = "database"; -static const char __pyx_k_qualname[] = "__qualname__"; -static const char __pyx_k_set_name[] = "__set_name__"; -static const char __pyx_k_ENTER_SUM[] = "ENTER_SUM"; -static const char __pyx_k_as_markup[] = "as_markup"; -static const char __pyx_k_body_text[] = "body_text"; -static const char __pyx_k_cryptobot[] = "cryptobot"; -static const char __pyx_k_isenabled[] = "isenabled"; -static const char __pyx_k_key_count[] = "key_count"; -static const char __pyx_k_metaclass[] = "__metaclass__"; -static const char __pyx_k_set_state[] = "set_state"; -static const char __pyx_k_CRYPTOSALE[] = "CRYPTOSALE"; -static const char __pyx_k_FSMContext[] = "FSMContext"; -static const char __pyx_k_ValueError[] = "ValueError"; -static const char __pyx_k_amount_str[] = "amount_str"; -static const char __pyx_k_check_hash[] = "check_hash"; -static const char __pyx_k_startswith[] = "startswith"; -static const char __pyx_k_AMOUNT_TEXT[] = "AMOUNT_TEXT"; -static const char __pyx_k_RUB_TO_USDT[] = "RUB_TO_USDT"; -static const char __pyx_k_StatesGroup[] = "StatesGroup"; -static const char __pyx_k_add_payment[] = "add_payment"; -static const char __pyx_k_description[] = "description"; -static const char __pyx_k_mro_entries[] = "__mro_entries__"; -static const char __pyx_k_solonet_sup[] = "\342\235\214 \320\237\320\270\321\200\320\260\321\202\321\201\320\272\320\260\321\217 \320\262\320\265\321\200\321\201\320\270\321\217, \320\276\320\261\321\200\320\260\321\202\320\270\321\202\320\265\321\201\321\214 \320\262 \320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\321\203 @solonet_sup."; -static const char __pyx_k_update_data[] = "update_data"; -static const char __pyx_k_update_type[] = "update_type"; -static const char __pyx_k_usdt_amount[] = "usdt_amount"; -static const char __pyx_k_user_id_str[] = "user_id_str"; -static const char __pyx_k_AioCryptoPay[] = "AioCryptoPay"; -static const char __pyx_k_aiocryptopay[] = "aiocryptopay"; -static const char __pyx_k_invoice_paid[] = "invoice_paid"; -static const char __pyx_k_is_coroutine[] = "_is_coroutine"; -static const char __pyx_k_reply_markup[] = "reply_markup"; -static const char __pyx_k_aiogram_types[] = "aiogram.types"; -static const char __pyx_k_callback_data[] = "callback_data"; -static const char __pyx_k_class_getitem[] = "__class_getitem__"; -static const char __pyx_k_crypto_amount[] = "crypto_amount|"; -static const char __pyx_k_currency_type[] = "currency_type"; -static const char __pyx_k_expected_hash[] = "expected_hash"; -static const char __pyx_k_get_key_count[] = "get_key_count"; -static const char __pyx_k_init_subclass[] = "__init_subclass__"; -static const char __pyx_k_pay_cryptobot[] = "pay_cryptobot"; -static const char __pyx_k_types_Message[] = "types.Message"; -static const char __pyx_k_add_connection[] = "add_connection"; -static const char __pyx_k_callback_query[] = "callback_query"; -static const char __pyx_k_create_invoice[] = "create_invoice"; -static const char __pyx_k_custom_payload[] = "custom_payload"; -static const char __pyx_k_handlers_texts[] = "handlers.texts"; -static const char __pyx_k_handlers_utils[] = "handlers.utils"; -static const char __pyx_k_hash_cryptobot[] = "\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271 hash \320\262 \320\267\320\260\320\277\321\200\320\276\321\201\320\265 cryptobot"; -static const char __pyx_k_update_balance[] = "update_balance"; -static const char __pyx_k_user_id_amount[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\272\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\320\270 user_id \320\270\320\273\320\270 amount: "; -static const char __pyx_k_PAYMENT_OPTIONS[] = "PAYMENT_OPTIONS"; -static const char __pyx_k_bot_invoice_url[] = "bot_invoice_url"; -static const char __pyx_k_check_signature[] = "check_signature"; -static const char __pyx_k_CRYPTO_BOT_TOKEN[] = "CRYPTO_BOT_TOKEN"; -static const char __pyx_k_handlers_buttons[] = "handlers.buttons"; -static const char __pyx_k_CRYPTO_BOT_ENABLE[] = "CRYPTO_BOT_ENABLE"; -static const char __pyx_k_aiogram_fsm_state[] = "aiogram.fsm.state"; -static const char __pyx_k_cryptobot_webhook[] = "cryptobot_webhook"; -static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines"; -static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; -static const char __pyx_k_aiogram_fsm_context[] = "aiogram.fsm.context"; -static const char __pyx_k_types_CallbackQuery[] = "types.CallbackQuery"; -static const char __pyx_k_InlineKeyboardButton[] = "InlineKeyboardButton"; -static const char __pyx_k_PROJECTMANECONGIGURE[] = "PROJECTMANECONGIGURE"; -static const char __pyx_k_crypto_pay_signature[] = "crypto_pay_signature"; -static const char __pyx_k_edit_or_send_message[] = "edit_or_send_message"; -static const char __pyx_k_InlineKeyboardBuilder[] = "InlineKeyboardBuilder"; -static const char __pyx_k_ReplenishBalanceState[] = "ReplenishBalanceState"; -static const char __pyx_k_aiogram_utils_keyboard[] = "aiogram.utils.keyboard"; -static const char __pyx_k_choosing_amount_crypto[] = "choosing_amount_crypto"; -static const char __pyx_k_handlers_payments_gift[] = "handlers.payments.gift"; -static const char __pyx_k_process_crypto_payment[] = "process_crypto_payment"; -static const char __pyx_k_DEFAULT_PAYMENT_MESSAGE[] = "DEFAULT_PAYMENT_MESSAGE"; -static const char __pyx_k_check_connection_exists[] = "check_connection_exists"; -static const char __pyx_k_handlers_payments_utils[] = "handlers.payments.utils"; -static const char __pyx_k_Crypto_Pay_Api_Signature[] = "Crypto-Pay-Api-Signature"; -static const char __pyx_k_process_amount_selection[] = "process_amount_selection"; -static const char __pyx_k_enter_custom_amount_crypto[] = "enter_custom_amount_crypto"; -static const char __pyx_k_process_custom_amount_input[] = "process_custom_amount_input"; -static const char __pyx_k_process_enter_custom_amount[] = "process_enter_custom_amount"; -static const char __pyx_k_Payment_succeeded_for_user_id[] = "Payment succeeded for user_id: "; -static const char __pyx_k_entering_custom_amount_crypto[] = "entering_custom_amount_crypto"; -static const char __pyx_k_process_callback_pay_cryptobot[] = "process_callback_pay_cryptobot"; -static const char __pyx_k_handlers_payments_cryprobot_pay[] = "handlers.payments.cryprobot_pay"; -static const char __pyx_k_send_payment_success_notificatio[] = "send_payment_success_notification"; -static const char __pyx_k_waiting_for_payment_confirmation[] = "waiting_for_payment_confirmation_crypto"; -static const char __pyx_k_handlers_payments_cryprobot_pay_2[] = "handlers/payments/cryprobot_pay.py"; -/* #### Code section: decls ### */ -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_process_callback_pay_cryptobot(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_3process_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_6cryptobot_webhook(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_request); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_9check_hash(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_request); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_12process_crypto_payment(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_payload); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_15process_enter_custom_amount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_18process_custom_amount_input(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_message, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -/* #### Code section: late_includes ### */ -/* #### Code section: module_state ### */ -typedef struct { - PyObject *__pyx_d; - PyObject *__pyx_b; - PyObject *__pyx_cython_runtime; - PyObject *__pyx_empty_tuple; - PyObject *__pyx_empty_bytes; - PyObject *__pyx_empty_unicode; - #ifdef __Pyx_CyFunction_USED - PyTypeObject *__pyx_CyFunctionType; - #endif - #ifdef __Pyx_FusedFunction_USED - PyTypeObject *__pyx_FusedFunctionType; - #endif - #ifdef __Pyx_Generator_USED - PyTypeObject *__pyx_GeneratorType; - #endif - #ifdef __Pyx_IterableCoroutine_USED - PyTypeObject *__pyx_IterableCoroutineType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineAwaitType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineType; - #endif - #if CYTHON_USE_MODULE_STATE - PyObject *__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot; - PyObject *__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection; - PyObject *__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook; - PyObject *__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash; - PyObject *__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment; - PyObject *__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount; - PyObject *__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input; - #endif - PyTypeObject *__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot; - PyTypeObject *__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection; - PyTypeObject *__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook; - PyTypeObject *__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash; - PyTypeObject *__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment; - PyTypeObject *__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount; - PyTypeObject *__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input; - PyObject *__pyx_kp_u_2f; - PyObject *__pyx_n_s_AMOUNT_TEXT; - PyObject *__pyx_n_s_AioCryptoPay; - PyObject *__pyx_n_s_Any; - PyObject *__pyx_n_s_BACK; - PyObject *__pyx_n_u_CRYPTOSALE; - PyObject *__pyx_n_s_CRYPTO_BOT_ENABLE; - PyObject *__pyx_n_s_CRYPTO_BOT_TOKEN; - PyObject *__pyx_kp_u_Crypto_Pay_Api_Signature; - PyObject *__pyx_n_s_DEFAULT_PAYMENT_MESSAGE; - PyObject *__pyx_n_s_ENTER_SUM; - PyObject *__pyx_n_s_F; - PyObject *__pyx_n_s_FSMContext; - PyObject *__pyx_n_s_InlineKeyboardBuilder; - PyObject *__pyx_n_s_InlineKeyboardButton; - PyObject *__pyx_n_s_MAIN_NET; - PyObject *__pyx_n_s_Networks; - PyObject *__pyx_kp_u_No_value; - PyObject *__pyx_n_s_PAY; - PyObject *__pyx_n_s_PAYMENT_OPTIONS; - PyObject *__pyx_n_s_PROJECTMANECONGIGURE; - PyObject *__pyx_kp_u_Payment_succeeded_for_user_id; - PyObject *__pyx_n_s_RUB_TO_USDT; - PyObject *__pyx_n_s_ReplenishBalanceState; - PyObject *__pyx_n_s_Response; - PyObject *__pyx_n_s_Router; - PyObject *__pyx_n_s_State; - PyObject *__pyx_n_s_StatesGroup; - PyObject *__pyx_n_u_USD; - PyObject *__pyx_n_s_ValueError; - PyObject *__pyx_kp_u__10; - PyObject *__pyx_kp_u__11; - PyObject *__pyx_kp_u__13; - PyObject *__pyx_kp_u__14; - PyObject *__pyx_kp_u__15; - PyObject *__pyx_kp_u__19; - PyObject *__pyx_kp_u__2; - PyObject *__pyx_kp_u__22; - PyObject *__pyx_kp_u__23; - PyObject *__pyx_kp_u__24; - PyObject *__pyx_kp_u__25; - PyObject *__pyx_kp_u__26; - PyObject *__pyx_kp_u__27; - PyObject *__pyx_n_s__36; - PyObject *__pyx_kp_u__4; - PyObject *__pyx_kp_u__6; - PyObject *__pyx_kp_u__7; - PyObject *__pyx_kp_u__8; - PyObject *__pyx_kp_u__9; - PyObject *__pyx_n_s_add_connection; - PyObject *__pyx_n_s_add_payment; - PyObject *__pyx_n_s_aiocryptopay; - PyObject *__pyx_n_s_aiogram; - PyObject *__pyx_n_s_aiogram_fsm_context; - PyObject *__pyx_n_s_aiogram_fsm_state; - PyObject *__pyx_n_s_aiogram_types; - PyObject *__pyx_n_s_aiogram_utils_keyboard; - PyObject *__pyx_n_s_aiohttp; - PyObject *__pyx_n_s_amount; - PyObject *__pyx_kp_u_amount_2; - PyObject *__pyx_n_s_amount_str; - PyObject *__pyx_n_s_answer; - PyObject *__pyx_n_s_args; - PyObject *__pyx_n_s_as_markup; - PyObject *__pyx_n_s_asyncio_coroutines; - PyObject *__pyx_n_s_await; - PyObject *__pyx_n_s_balance; - PyObject *__pyx_n_s_body_text; - PyObject *__pyx_n_s_bot_invoice_url; - PyObject *__pyx_n_u_bot_invoice_url; - PyObject *__pyx_n_s_builder; - PyObject *__pyx_n_s_callback_data; - PyObject *__pyx_n_u_callback_data; - PyObject *__pyx_n_s_callback_query; - PyObject *__pyx_n_s_chat; - PyObject *__pyx_n_s_check_connection_exists; - PyObject *__pyx_n_s_check_hash; - PyObject *__pyx_n_s_check_signature; - PyObject *__pyx_n_s_choosing_amount_crypto; - PyObject *__pyx_n_s_class_getitem; - PyObject *__pyx_n_s_cline_in_traceback; - PyObject *__pyx_n_s_close; - PyObject *__pyx_n_s_config; - PyObject *__pyx_n_s_create_invoice; - PyObject *__pyx_n_u_crypto; - PyObject *__pyx_n_s_crypto_2; - PyObject *__pyx_kp_u_crypto_amount; - PyObject *__pyx_n_s_crypto_pay_signature; - PyObject *__pyx_n_u_cryptobot; - PyObject *__pyx_n_s_cryptobot_webhook; - PyObject *__pyx_n_s_currency_type; - PyObject *__pyx_n_s_custom_payload; - PyObject *__pyx_n_s_data; - PyObject *__pyx_n_s_database; - PyObject *__pyx_n_s_debug; - PyObject *__pyx_n_s_description; - PyObject *__pyx_n_s_dict; - PyObject *__pyx_kp_u_disable; - PyObject *__pyx_n_s_doc; - PyObject *__pyx_n_s_e; - PyObject *__pyx_n_s_edit_or_send_message; - PyObject *__pyx_kp_u_enable; - PyObject *__pyx_n_u_enter_custom_amount_crypto; - PyObject *__pyx_n_s_entering_custom_amount_crypto; - PyObject *__pyx_n_s_error; - PyObject *__pyx_n_s_exists; - PyObject *__pyx_n_s_expected_hash; - PyObject *__pyx_n_s_fiat; - PyObject *__pyx_n_u_fiat; - PyObject *__pyx_n_s_format; - PyObject *__pyx_kp_u_gc; - PyObject *__pyx_n_s_get; - PyObject *__pyx_n_s_get_key_count; - PyObject *__pyx_n_s_handlers_buttons; - PyObject *__pyx_n_s_handlers_payments_cryprobot_pay; - PyObject *__pyx_kp_s_handlers_payments_cryprobot_pay_2; - PyObject *__pyx_n_s_handlers_payments_gift; - PyObject *__pyx_n_s_handlers_payments_utils; - PyObject *__pyx_n_s_handlers_texts; - PyObject *__pyx_n_s_handlers_utils; - PyObject *__pyx_kp_u_hash_cryptobot; - PyObject *__pyx_n_s_headers; - PyObject *__pyx_n_s_i; - PyObject *__pyx_n_s_id; - PyObject *__pyx_n_s_import; - PyObject *__pyx_n_s_info; - PyObject *__pyx_n_s_init_subclass; - PyObject *__pyx_n_s_invoice; - PyObject *__pyx_n_u_invoice_paid; - PyObject *__pyx_n_s_is_coroutine; - PyObject *__pyx_n_s_isdigit; - PyObject *__pyx_kp_u_isenabled; - PyObject *__pyx_n_s_json; - PyObject *__pyx_n_s_key_count; - PyObject *__pyx_n_s_logger; - PyObject *__pyx_n_s_main; - PyObject *__pyx_n_s_message; - PyObject *__pyx_n_s_metaclass; - PyObject *__pyx_n_s_module; - PyObject *__pyx_n_s_mro_entries; - PyObject *__pyx_n_s_name; - PyObject *__pyx_n_s_network; - PyObject *__pyx_n_u_paid; - PyObject *__pyx_n_u_pay; - PyObject *__pyx_n_u_pay_cryptobot; - PyObject *__pyx_n_s_payload; - PyObject *__pyx_n_u_payload; - PyObject *__pyx_n_s_prepare; - PyObject *__pyx_n_s_process_amount_selection; - PyObject *__pyx_n_s_process_callback_pay_cryptobot; - PyObject *__pyx_n_s_process_crypto_payment; - PyObject *__pyx_n_s_process_custom_amount_input; - PyObject *__pyx_n_s_process_enter_custom_amount; - PyObject *__pyx_n_s_qualname; - PyObject *__pyx_n_s_range; - PyObject *__pyx_n_s_reply_markup; - PyObject *__pyx_n_s_request; - PyObject *__pyx_n_s_router; - PyObject *__pyx_n_s_row; - PyObject *__pyx_n_s_send; - PyObject *__pyx_n_s_send_payment_success_notificatio; - PyObject *__pyx_n_s_session; - PyObject *__pyx_n_s_set_name; - PyObject *__pyx_n_s_set_state; - PyObject *__pyx_kp_u_solonet_sup; - PyObject *__pyx_n_s_split; - PyObject *__pyx_n_s_startswith; - PyObject *__pyx_n_s_state; - PyObject *__pyx_n_s_status; - PyObject *__pyx_n_u_status; - PyObject *__pyx_n_s_super; - PyObject *__pyx_n_s_test; - PyObject *__pyx_n_s_text; - PyObject *__pyx_n_u_text; - PyObject *__pyx_n_s_tg_id; - PyObject *__pyx_n_s_throw; - PyObject *__pyx_n_s_token; - PyObject *__pyx_n_s_trial; - PyObject *__pyx_n_s_types; - PyObject *__pyx_kp_s_types_CallbackQuery; - PyObject *__pyx_kp_s_types_Message; - PyObject *__pyx_n_s_typing; - PyObject *__pyx_n_s_update_balance; - PyObject *__pyx_n_s_update_data; - PyObject *__pyx_n_u_update_type; - PyObject *__pyx_n_s_url; - PyObject *__pyx_n_s_usdt_amount; - PyObject *__pyx_n_s_user_id; - PyObject *__pyx_kp_u_user_id_amount; - PyObject *__pyx_n_s_user_id_str; - PyObject *__pyx_n_s_waiting_for_payment_confirmation; - PyObject *__pyx_n_s_warning; - PyObject *__pyx_n_s_web; - PyObject *__pyx_float_0_0; - PyObject *__pyx_int_0; - PyObject *__pyx_int_1; - PyObject *__pyx_int_2; - PyObject *__pyx_int_200; - PyObject *__pyx_int_400; - PyObject *__pyx_int_500; - PyObject *__pyx_codeobj_; - PyObject *__pyx_tuple__5; - PyObject *__pyx_tuple__17; - PyObject *__pyx_tuple__28; - PyObject *__pyx_tuple__29; - PyObject *__pyx_tuple__30; - PyObject *__pyx_tuple__31; - PyObject *__pyx_tuple__32; - PyObject *__pyx_tuple__33; - PyObject *__pyx_tuple__34; - PyObject *__pyx_tuple__35; - PyObject *__pyx_codeobj__3; - PyObject *__pyx_codeobj__12; - PyObject *__pyx_codeobj__16; - PyObject *__pyx_codeobj__18; - PyObject *__pyx_codeobj__20; - PyObject *__pyx_codeobj__21; -} __pyx_mstate; - -#if CYTHON_USE_MODULE_STATE -#ifdef __cplusplus -namespace { - extern struct PyModuleDef __pyx_moduledef; -} /* anonymous namespace */ -#else -static struct PyModuleDef __pyx_moduledef; -#endif - -#define __pyx_mstate(o) ((__pyx_mstate *)__Pyx_PyModule_GetState(o)) - -#define __pyx_mstate_global (__pyx_mstate(PyState_FindModule(&__pyx_moduledef))) - -#define __pyx_m (PyState_FindModule(&__pyx_moduledef)) -#else -static __pyx_mstate __pyx_mstate_global_static = -#ifdef __cplusplus - {}; -#else - {0}; -#endif -static __pyx_mstate *__pyx_mstate_global = &__pyx_mstate_global_static; -#endif -/* #### Code section: module_state_clear ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_clear(PyObject *m) { - __pyx_mstate *clear_module_state = __pyx_mstate(m); - if (!clear_module_state) return 0; - Py_CLEAR(clear_module_state->__pyx_d); - Py_CLEAR(clear_module_state->__pyx_b); - Py_CLEAR(clear_module_state->__pyx_cython_runtime); - Py_CLEAR(clear_module_state->__pyx_empty_tuple); - Py_CLEAR(clear_module_state->__pyx_empty_bytes); - Py_CLEAR(clear_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_CLEAR(clear_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_CLEAR(clear_module_state->__pyx_FusedFunctionType); - #endif - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_kp_u_2f); - Py_CLEAR(clear_module_state->__pyx_n_s_AMOUNT_TEXT); - Py_CLEAR(clear_module_state->__pyx_n_s_AioCryptoPay); - Py_CLEAR(clear_module_state->__pyx_n_s_Any); - Py_CLEAR(clear_module_state->__pyx_n_s_BACK); - Py_CLEAR(clear_module_state->__pyx_n_u_CRYPTOSALE); - Py_CLEAR(clear_module_state->__pyx_n_s_CRYPTO_BOT_ENABLE); - Py_CLEAR(clear_module_state->__pyx_n_s_CRYPTO_BOT_TOKEN); - Py_CLEAR(clear_module_state->__pyx_kp_u_Crypto_Pay_Api_Signature); - Py_CLEAR(clear_module_state->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - Py_CLEAR(clear_module_state->__pyx_n_s_ENTER_SUM); - Py_CLEAR(clear_module_state->__pyx_n_s_F); - Py_CLEAR(clear_module_state->__pyx_n_s_FSMContext); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardButton); - Py_CLEAR(clear_module_state->__pyx_n_s_MAIN_NET); - Py_CLEAR(clear_module_state->__pyx_n_s_Networks); - Py_CLEAR(clear_module_state->__pyx_kp_u_No_value); - Py_CLEAR(clear_module_state->__pyx_n_s_PAY); - Py_CLEAR(clear_module_state->__pyx_n_s_PAYMENT_OPTIONS); - Py_CLEAR(clear_module_state->__pyx_n_s_PROJECTMANECONGIGURE); - Py_CLEAR(clear_module_state->__pyx_kp_u_Payment_succeeded_for_user_id); - Py_CLEAR(clear_module_state->__pyx_n_s_RUB_TO_USDT); - Py_CLEAR(clear_module_state->__pyx_n_s_ReplenishBalanceState); - Py_CLEAR(clear_module_state->__pyx_n_s_Response); - Py_CLEAR(clear_module_state->__pyx_n_s_Router); - Py_CLEAR(clear_module_state->__pyx_n_s_State); - Py_CLEAR(clear_module_state->__pyx_n_s_StatesGroup); - Py_CLEAR(clear_module_state->__pyx_n_u_USD); - Py_CLEAR(clear_module_state->__pyx_n_s_ValueError); - Py_CLEAR(clear_module_state->__pyx_kp_u__10); - Py_CLEAR(clear_module_state->__pyx_kp_u__11); - Py_CLEAR(clear_module_state->__pyx_kp_u__13); - Py_CLEAR(clear_module_state->__pyx_kp_u__14); - Py_CLEAR(clear_module_state->__pyx_kp_u__15); - Py_CLEAR(clear_module_state->__pyx_kp_u__19); - Py_CLEAR(clear_module_state->__pyx_kp_u__2); - Py_CLEAR(clear_module_state->__pyx_kp_u__22); - Py_CLEAR(clear_module_state->__pyx_kp_u__23); - Py_CLEAR(clear_module_state->__pyx_kp_u__24); - Py_CLEAR(clear_module_state->__pyx_kp_u__25); - Py_CLEAR(clear_module_state->__pyx_kp_u__26); - Py_CLEAR(clear_module_state->__pyx_kp_u__27); - Py_CLEAR(clear_module_state->__pyx_n_s__36); - Py_CLEAR(clear_module_state->__pyx_kp_u__4); - Py_CLEAR(clear_module_state->__pyx_kp_u__6); - Py_CLEAR(clear_module_state->__pyx_kp_u__7); - Py_CLEAR(clear_module_state->__pyx_kp_u__8); - Py_CLEAR(clear_module_state->__pyx_kp_u__9); - Py_CLEAR(clear_module_state->__pyx_n_s_add_connection); - Py_CLEAR(clear_module_state->__pyx_n_s_add_payment); - Py_CLEAR(clear_module_state->__pyx_n_s_aiocryptopay); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_fsm_context); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_fsm_state); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_types); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_CLEAR(clear_module_state->__pyx_n_s_aiohttp); - Py_CLEAR(clear_module_state->__pyx_n_s_amount); - Py_CLEAR(clear_module_state->__pyx_kp_u_amount_2); - Py_CLEAR(clear_module_state->__pyx_n_s_amount_str); - Py_CLEAR(clear_module_state->__pyx_n_s_answer); - Py_CLEAR(clear_module_state->__pyx_n_s_args); - Py_CLEAR(clear_module_state->__pyx_n_s_as_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines); - Py_CLEAR(clear_module_state->__pyx_n_s_await); - Py_CLEAR(clear_module_state->__pyx_n_s_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_body_text); - Py_CLEAR(clear_module_state->__pyx_n_s_bot_invoice_url); - Py_CLEAR(clear_module_state->__pyx_n_u_bot_invoice_url); - Py_CLEAR(clear_module_state->__pyx_n_s_builder); - Py_CLEAR(clear_module_state->__pyx_n_s_callback_data); - Py_CLEAR(clear_module_state->__pyx_n_u_callback_data); - Py_CLEAR(clear_module_state->__pyx_n_s_callback_query); - Py_CLEAR(clear_module_state->__pyx_n_s_chat); - Py_CLEAR(clear_module_state->__pyx_n_s_check_connection_exists); - Py_CLEAR(clear_module_state->__pyx_n_s_check_hash); - Py_CLEAR(clear_module_state->__pyx_n_s_check_signature); - Py_CLEAR(clear_module_state->__pyx_n_s_choosing_amount_crypto); - Py_CLEAR(clear_module_state->__pyx_n_s_class_getitem); - Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback); - Py_CLEAR(clear_module_state->__pyx_n_s_close); - Py_CLEAR(clear_module_state->__pyx_n_s_config); - Py_CLEAR(clear_module_state->__pyx_n_s_create_invoice); - Py_CLEAR(clear_module_state->__pyx_n_u_crypto); - Py_CLEAR(clear_module_state->__pyx_n_s_crypto_2); - Py_CLEAR(clear_module_state->__pyx_kp_u_crypto_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_crypto_pay_signature); - Py_CLEAR(clear_module_state->__pyx_n_u_cryptobot); - Py_CLEAR(clear_module_state->__pyx_n_s_cryptobot_webhook); - Py_CLEAR(clear_module_state->__pyx_n_s_currency_type); - Py_CLEAR(clear_module_state->__pyx_n_s_custom_payload); - Py_CLEAR(clear_module_state->__pyx_n_s_data); - Py_CLEAR(clear_module_state->__pyx_n_s_database); - Py_CLEAR(clear_module_state->__pyx_n_s_debug); - Py_CLEAR(clear_module_state->__pyx_n_s_description); - Py_CLEAR(clear_module_state->__pyx_n_s_dict); - Py_CLEAR(clear_module_state->__pyx_kp_u_disable); - Py_CLEAR(clear_module_state->__pyx_n_s_doc); - Py_CLEAR(clear_module_state->__pyx_n_s_e); - Py_CLEAR(clear_module_state->__pyx_n_s_edit_or_send_message); - Py_CLEAR(clear_module_state->__pyx_kp_u_enable); - Py_CLEAR(clear_module_state->__pyx_n_u_enter_custom_amount_crypto); - Py_CLEAR(clear_module_state->__pyx_n_s_entering_custom_amount_crypto); - Py_CLEAR(clear_module_state->__pyx_n_s_error); - Py_CLEAR(clear_module_state->__pyx_n_s_exists); - Py_CLEAR(clear_module_state->__pyx_n_s_expected_hash); - Py_CLEAR(clear_module_state->__pyx_n_s_fiat); - Py_CLEAR(clear_module_state->__pyx_n_u_fiat); - Py_CLEAR(clear_module_state->__pyx_n_s_format); - Py_CLEAR(clear_module_state->__pyx_kp_u_gc); - Py_CLEAR(clear_module_state->__pyx_n_s_get); - Py_CLEAR(clear_module_state->__pyx_n_s_get_key_count); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_buttons); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_cryprobot_pay); - Py_CLEAR(clear_module_state->__pyx_kp_s_handlers_payments_cryprobot_pay_2); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_gift); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_utils); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_texts); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_utils); - Py_CLEAR(clear_module_state->__pyx_kp_u_hash_cryptobot); - Py_CLEAR(clear_module_state->__pyx_n_s_headers); - Py_CLEAR(clear_module_state->__pyx_n_s_i); - Py_CLEAR(clear_module_state->__pyx_n_s_id); - Py_CLEAR(clear_module_state->__pyx_n_s_import); - Py_CLEAR(clear_module_state->__pyx_n_s_info); - Py_CLEAR(clear_module_state->__pyx_n_s_init_subclass); - Py_CLEAR(clear_module_state->__pyx_n_s_invoice); - Py_CLEAR(clear_module_state->__pyx_n_u_invoice_paid); - Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine); - Py_CLEAR(clear_module_state->__pyx_n_s_isdigit); - Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled); - Py_CLEAR(clear_module_state->__pyx_n_s_json); - Py_CLEAR(clear_module_state->__pyx_n_s_key_count); - Py_CLEAR(clear_module_state->__pyx_n_s_logger); - Py_CLEAR(clear_module_state->__pyx_n_s_main); - Py_CLEAR(clear_module_state->__pyx_n_s_message); - Py_CLEAR(clear_module_state->__pyx_n_s_metaclass); - Py_CLEAR(clear_module_state->__pyx_n_s_module); - Py_CLEAR(clear_module_state->__pyx_n_s_mro_entries); - Py_CLEAR(clear_module_state->__pyx_n_s_name); - Py_CLEAR(clear_module_state->__pyx_n_s_network); - Py_CLEAR(clear_module_state->__pyx_n_u_paid); - Py_CLEAR(clear_module_state->__pyx_n_u_pay); - Py_CLEAR(clear_module_state->__pyx_n_u_pay_cryptobot); - Py_CLEAR(clear_module_state->__pyx_n_s_payload); - Py_CLEAR(clear_module_state->__pyx_n_u_payload); - Py_CLEAR(clear_module_state->__pyx_n_s_prepare); - Py_CLEAR(clear_module_state->__pyx_n_s_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_n_s_process_callback_pay_cryptobot); - Py_CLEAR(clear_module_state->__pyx_n_s_process_crypto_payment); - Py_CLEAR(clear_module_state->__pyx_n_s_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_n_s_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_qualname); - Py_CLEAR(clear_module_state->__pyx_n_s_range); - Py_CLEAR(clear_module_state->__pyx_n_s_reply_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_request); - Py_CLEAR(clear_module_state->__pyx_n_s_router); - Py_CLEAR(clear_module_state->__pyx_n_s_row); - Py_CLEAR(clear_module_state->__pyx_n_s_send); - Py_CLEAR(clear_module_state->__pyx_n_s_send_payment_success_notificatio); - Py_CLEAR(clear_module_state->__pyx_n_s_session); - Py_CLEAR(clear_module_state->__pyx_n_s_set_name); - Py_CLEAR(clear_module_state->__pyx_n_s_set_state); - Py_CLEAR(clear_module_state->__pyx_kp_u_solonet_sup); - Py_CLEAR(clear_module_state->__pyx_n_s_split); - Py_CLEAR(clear_module_state->__pyx_n_s_startswith); - Py_CLEAR(clear_module_state->__pyx_n_s_state); - Py_CLEAR(clear_module_state->__pyx_n_s_status); - Py_CLEAR(clear_module_state->__pyx_n_u_status); - Py_CLEAR(clear_module_state->__pyx_n_s_super); - Py_CLEAR(clear_module_state->__pyx_n_s_test); - Py_CLEAR(clear_module_state->__pyx_n_s_text); - Py_CLEAR(clear_module_state->__pyx_n_u_text); - Py_CLEAR(clear_module_state->__pyx_n_s_tg_id); - Py_CLEAR(clear_module_state->__pyx_n_s_throw); - Py_CLEAR(clear_module_state->__pyx_n_s_token); - Py_CLEAR(clear_module_state->__pyx_n_s_trial); - Py_CLEAR(clear_module_state->__pyx_n_s_types); - Py_CLEAR(clear_module_state->__pyx_kp_s_types_CallbackQuery); - Py_CLEAR(clear_module_state->__pyx_kp_s_types_Message); - Py_CLEAR(clear_module_state->__pyx_n_s_typing); - Py_CLEAR(clear_module_state->__pyx_n_s_update_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_update_data); - Py_CLEAR(clear_module_state->__pyx_n_u_update_type); - Py_CLEAR(clear_module_state->__pyx_n_s_url); - Py_CLEAR(clear_module_state->__pyx_n_s_usdt_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_user_id); - Py_CLEAR(clear_module_state->__pyx_kp_u_user_id_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_user_id_str); - Py_CLEAR(clear_module_state->__pyx_n_s_waiting_for_payment_confirmation); - Py_CLEAR(clear_module_state->__pyx_n_s_warning); - Py_CLEAR(clear_module_state->__pyx_n_s_web); - Py_CLEAR(clear_module_state->__pyx_float_0_0); - Py_CLEAR(clear_module_state->__pyx_int_0); - Py_CLEAR(clear_module_state->__pyx_int_1); - Py_CLEAR(clear_module_state->__pyx_int_2); - Py_CLEAR(clear_module_state->__pyx_int_200); - Py_CLEAR(clear_module_state->__pyx_int_400); - Py_CLEAR(clear_module_state->__pyx_int_500); - Py_CLEAR(clear_module_state->__pyx_codeobj_); - Py_CLEAR(clear_module_state->__pyx_tuple__5); - Py_CLEAR(clear_module_state->__pyx_tuple__17); - Py_CLEAR(clear_module_state->__pyx_tuple__28); - Py_CLEAR(clear_module_state->__pyx_tuple__29); - Py_CLEAR(clear_module_state->__pyx_tuple__30); - Py_CLEAR(clear_module_state->__pyx_tuple__31); - Py_CLEAR(clear_module_state->__pyx_tuple__32); - Py_CLEAR(clear_module_state->__pyx_tuple__33); - Py_CLEAR(clear_module_state->__pyx_tuple__34); - Py_CLEAR(clear_module_state->__pyx_tuple__35); - Py_CLEAR(clear_module_state->__pyx_codeobj__3); - Py_CLEAR(clear_module_state->__pyx_codeobj__12); - Py_CLEAR(clear_module_state->__pyx_codeobj__16); - Py_CLEAR(clear_module_state->__pyx_codeobj__18); - Py_CLEAR(clear_module_state->__pyx_codeobj__20); - Py_CLEAR(clear_module_state->__pyx_codeobj__21); - return 0; -} -#endif -/* #### Code section: module_state_traverse ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { - __pyx_mstate *traverse_module_state = __pyx_mstate(m); - if (!traverse_module_state) return 0; - Py_VISIT(traverse_module_state->__pyx_d); - Py_VISIT(traverse_module_state->__pyx_b); - Py_VISIT(traverse_module_state->__pyx_cython_runtime); - Py_VISIT(traverse_module_state->__pyx_empty_tuple); - Py_VISIT(traverse_module_state->__pyx_empty_bytes); - Py_VISIT(traverse_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_VISIT(traverse_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_VISIT(traverse_module_state->__pyx_FusedFunctionType); - #endif - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_kp_u_2f); - Py_VISIT(traverse_module_state->__pyx_n_s_AMOUNT_TEXT); - Py_VISIT(traverse_module_state->__pyx_n_s_AioCryptoPay); - Py_VISIT(traverse_module_state->__pyx_n_s_Any); - Py_VISIT(traverse_module_state->__pyx_n_s_BACK); - Py_VISIT(traverse_module_state->__pyx_n_u_CRYPTOSALE); - Py_VISIT(traverse_module_state->__pyx_n_s_CRYPTO_BOT_ENABLE); - Py_VISIT(traverse_module_state->__pyx_n_s_CRYPTO_BOT_TOKEN); - Py_VISIT(traverse_module_state->__pyx_kp_u_Crypto_Pay_Api_Signature); - Py_VISIT(traverse_module_state->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - Py_VISIT(traverse_module_state->__pyx_n_s_ENTER_SUM); - Py_VISIT(traverse_module_state->__pyx_n_s_F); - Py_VISIT(traverse_module_state->__pyx_n_s_FSMContext); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardButton); - Py_VISIT(traverse_module_state->__pyx_n_s_MAIN_NET); - Py_VISIT(traverse_module_state->__pyx_n_s_Networks); - Py_VISIT(traverse_module_state->__pyx_kp_u_No_value); - Py_VISIT(traverse_module_state->__pyx_n_s_PAY); - Py_VISIT(traverse_module_state->__pyx_n_s_PAYMENT_OPTIONS); - Py_VISIT(traverse_module_state->__pyx_n_s_PROJECTMANECONGIGURE); - Py_VISIT(traverse_module_state->__pyx_kp_u_Payment_succeeded_for_user_id); - Py_VISIT(traverse_module_state->__pyx_n_s_RUB_TO_USDT); - Py_VISIT(traverse_module_state->__pyx_n_s_ReplenishBalanceState); - Py_VISIT(traverse_module_state->__pyx_n_s_Response); - Py_VISIT(traverse_module_state->__pyx_n_s_Router); - Py_VISIT(traverse_module_state->__pyx_n_s_State); - Py_VISIT(traverse_module_state->__pyx_n_s_StatesGroup); - Py_VISIT(traverse_module_state->__pyx_n_u_USD); - Py_VISIT(traverse_module_state->__pyx_n_s_ValueError); - Py_VISIT(traverse_module_state->__pyx_kp_u__10); - Py_VISIT(traverse_module_state->__pyx_kp_u__11); - Py_VISIT(traverse_module_state->__pyx_kp_u__13); - Py_VISIT(traverse_module_state->__pyx_kp_u__14); - Py_VISIT(traverse_module_state->__pyx_kp_u__15); - Py_VISIT(traverse_module_state->__pyx_kp_u__19); - Py_VISIT(traverse_module_state->__pyx_kp_u__2); - Py_VISIT(traverse_module_state->__pyx_kp_u__22); - Py_VISIT(traverse_module_state->__pyx_kp_u__23); - Py_VISIT(traverse_module_state->__pyx_kp_u__24); - Py_VISIT(traverse_module_state->__pyx_kp_u__25); - Py_VISIT(traverse_module_state->__pyx_kp_u__26); - Py_VISIT(traverse_module_state->__pyx_kp_u__27); - Py_VISIT(traverse_module_state->__pyx_n_s__36); - Py_VISIT(traverse_module_state->__pyx_kp_u__4); - Py_VISIT(traverse_module_state->__pyx_kp_u__6); - Py_VISIT(traverse_module_state->__pyx_kp_u__7); - Py_VISIT(traverse_module_state->__pyx_kp_u__8); - Py_VISIT(traverse_module_state->__pyx_kp_u__9); - Py_VISIT(traverse_module_state->__pyx_n_s_add_connection); - Py_VISIT(traverse_module_state->__pyx_n_s_add_payment); - Py_VISIT(traverse_module_state->__pyx_n_s_aiocryptopay); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_fsm_context); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_fsm_state); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_types); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_VISIT(traverse_module_state->__pyx_n_s_aiohttp); - Py_VISIT(traverse_module_state->__pyx_n_s_amount); - Py_VISIT(traverse_module_state->__pyx_kp_u_amount_2); - Py_VISIT(traverse_module_state->__pyx_n_s_amount_str); - Py_VISIT(traverse_module_state->__pyx_n_s_answer); - Py_VISIT(traverse_module_state->__pyx_n_s_args); - Py_VISIT(traverse_module_state->__pyx_n_s_as_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines); - Py_VISIT(traverse_module_state->__pyx_n_s_await); - Py_VISIT(traverse_module_state->__pyx_n_s_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_body_text); - Py_VISIT(traverse_module_state->__pyx_n_s_bot_invoice_url); - Py_VISIT(traverse_module_state->__pyx_n_u_bot_invoice_url); - Py_VISIT(traverse_module_state->__pyx_n_s_builder); - Py_VISIT(traverse_module_state->__pyx_n_s_callback_data); - Py_VISIT(traverse_module_state->__pyx_n_u_callback_data); - Py_VISIT(traverse_module_state->__pyx_n_s_callback_query); - Py_VISIT(traverse_module_state->__pyx_n_s_chat); - Py_VISIT(traverse_module_state->__pyx_n_s_check_connection_exists); - Py_VISIT(traverse_module_state->__pyx_n_s_check_hash); - Py_VISIT(traverse_module_state->__pyx_n_s_check_signature); - Py_VISIT(traverse_module_state->__pyx_n_s_choosing_amount_crypto); - Py_VISIT(traverse_module_state->__pyx_n_s_class_getitem); - Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback); - Py_VISIT(traverse_module_state->__pyx_n_s_close); - Py_VISIT(traverse_module_state->__pyx_n_s_config); - Py_VISIT(traverse_module_state->__pyx_n_s_create_invoice); - Py_VISIT(traverse_module_state->__pyx_n_u_crypto); - Py_VISIT(traverse_module_state->__pyx_n_s_crypto_2); - Py_VISIT(traverse_module_state->__pyx_kp_u_crypto_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_crypto_pay_signature); - Py_VISIT(traverse_module_state->__pyx_n_u_cryptobot); - Py_VISIT(traverse_module_state->__pyx_n_s_cryptobot_webhook); - Py_VISIT(traverse_module_state->__pyx_n_s_currency_type); - Py_VISIT(traverse_module_state->__pyx_n_s_custom_payload); - Py_VISIT(traverse_module_state->__pyx_n_s_data); - Py_VISIT(traverse_module_state->__pyx_n_s_database); - Py_VISIT(traverse_module_state->__pyx_n_s_debug); - Py_VISIT(traverse_module_state->__pyx_n_s_description); - Py_VISIT(traverse_module_state->__pyx_n_s_dict); - Py_VISIT(traverse_module_state->__pyx_kp_u_disable); - Py_VISIT(traverse_module_state->__pyx_n_s_doc); - Py_VISIT(traverse_module_state->__pyx_n_s_e); - Py_VISIT(traverse_module_state->__pyx_n_s_edit_or_send_message); - Py_VISIT(traverse_module_state->__pyx_kp_u_enable); - Py_VISIT(traverse_module_state->__pyx_n_u_enter_custom_amount_crypto); - Py_VISIT(traverse_module_state->__pyx_n_s_entering_custom_amount_crypto); - Py_VISIT(traverse_module_state->__pyx_n_s_error); - Py_VISIT(traverse_module_state->__pyx_n_s_exists); - Py_VISIT(traverse_module_state->__pyx_n_s_expected_hash); - Py_VISIT(traverse_module_state->__pyx_n_s_fiat); - Py_VISIT(traverse_module_state->__pyx_n_u_fiat); - Py_VISIT(traverse_module_state->__pyx_n_s_format); - Py_VISIT(traverse_module_state->__pyx_kp_u_gc); - Py_VISIT(traverse_module_state->__pyx_n_s_get); - Py_VISIT(traverse_module_state->__pyx_n_s_get_key_count); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_buttons); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_cryprobot_pay); - Py_VISIT(traverse_module_state->__pyx_kp_s_handlers_payments_cryprobot_pay_2); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_gift); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_utils); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_texts); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_utils); - Py_VISIT(traverse_module_state->__pyx_kp_u_hash_cryptobot); - Py_VISIT(traverse_module_state->__pyx_n_s_headers); - Py_VISIT(traverse_module_state->__pyx_n_s_i); - Py_VISIT(traverse_module_state->__pyx_n_s_id); - Py_VISIT(traverse_module_state->__pyx_n_s_import); - Py_VISIT(traverse_module_state->__pyx_n_s_info); - Py_VISIT(traverse_module_state->__pyx_n_s_init_subclass); - Py_VISIT(traverse_module_state->__pyx_n_s_invoice); - Py_VISIT(traverse_module_state->__pyx_n_u_invoice_paid); - Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine); - Py_VISIT(traverse_module_state->__pyx_n_s_isdigit); - Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled); - Py_VISIT(traverse_module_state->__pyx_n_s_json); - Py_VISIT(traverse_module_state->__pyx_n_s_key_count); - Py_VISIT(traverse_module_state->__pyx_n_s_logger); - Py_VISIT(traverse_module_state->__pyx_n_s_main); - Py_VISIT(traverse_module_state->__pyx_n_s_message); - Py_VISIT(traverse_module_state->__pyx_n_s_metaclass); - Py_VISIT(traverse_module_state->__pyx_n_s_module); - Py_VISIT(traverse_module_state->__pyx_n_s_mro_entries); - Py_VISIT(traverse_module_state->__pyx_n_s_name); - Py_VISIT(traverse_module_state->__pyx_n_s_network); - Py_VISIT(traverse_module_state->__pyx_n_u_paid); - Py_VISIT(traverse_module_state->__pyx_n_u_pay); - Py_VISIT(traverse_module_state->__pyx_n_u_pay_cryptobot); - Py_VISIT(traverse_module_state->__pyx_n_s_payload); - Py_VISIT(traverse_module_state->__pyx_n_u_payload); - Py_VISIT(traverse_module_state->__pyx_n_s_prepare); - Py_VISIT(traverse_module_state->__pyx_n_s_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_n_s_process_callback_pay_cryptobot); - Py_VISIT(traverse_module_state->__pyx_n_s_process_crypto_payment); - Py_VISIT(traverse_module_state->__pyx_n_s_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_n_s_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_qualname); - Py_VISIT(traverse_module_state->__pyx_n_s_range); - Py_VISIT(traverse_module_state->__pyx_n_s_reply_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_request); - Py_VISIT(traverse_module_state->__pyx_n_s_router); - Py_VISIT(traverse_module_state->__pyx_n_s_row); - Py_VISIT(traverse_module_state->__pyx_n_s_send); - Py_VISIT(traverse_module_state->__pyx_n_s_send_payment_success_notificatio); - Py_VISIT(traverse_module_state->__pyx_n_s_session); - Py_VISIT(traverse_module_state->__pyx_n_s_set_name); - Py_VISIT(traverse_module_state->__pyx_n_s_set_state); - Py_VISIT(traverse_module_state->__pyx_kp_u_solonet_sup); - Py_VISIT(traverse_module_state->__pyx_n_s_split); - Py_VISIT(traverse_module_state->__pyx_n_s_startswith); - Py_VISIT(traverse_module_state->__pyx_n_s_state); - Py_VISIT(traverse_module_state->__pyx_n_s_status); - Py_VISIT(traverse_module_state->__pyx_n_u_status); - Py_VISIT(traverse_module_state->__pyx_n_s_super); - Py_VISIT(traverse_module_state->__pyx_n_s_test); - Py_VISIT(traverse_module_state->__pyx_n_s_text); - Py_VISIT(traverse_module_state->__pyx_n_u_text); - Py_VISIT(traverse_module_state->__pyx_n_s_tg_id); - Py_VISIT(traverse_module_state->__pyx_n_s_throw); - Py_VISIT(traverse_module_state->__pyx_n_s_token); - Py_VISIT(traverse_module_state->__pyx_n_s_trial); - Py_VISIT(traverse_module_state->__pyx_n_s_types); - Py_VISIT(traverse_module_state->__pyx_kp_s_types_CallbackQuery); - Py_VISIT(traverse_module_state->__pyx_kp_s_types_Message); - Py_VISIT(traverse_module_state->__pyx_n_s_typing); - Py_VISIT(traverse_module_state->__pyx_n_s_update_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_update_data); - Py_VISIT(traverse_module_state->__pyx_n_u_update_type); - Py_VISIT(traverse_module_state->__pyx_n_s_url); - Py_VISIT(traverse_module_state->__pyx_n_s_usdt_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_user_id); - Py_VISIT(traverse_module_state->__pyx_kp_u_user_id_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_user_id_str); - Py_VISIT(traverse_module_state->__pyx_n_s_waiting_for_payment_confirmation); - Py_VISIT(traverse_module_state->__pyx_n_s_warning); - Py_VISIT(traverse_module_state->__pyx_n_s_web); - Py_VISIT(traverse_module_state->__pyx_float_0_0); - Py_VISIT(traverse_module_state->__pyx_int_0); - Py_VISIT(traverse_module_state->__pyx_int_1); - Py_VISIT(traverse_module_state->__pyx_int_2); - Py_VISIT(traverse_module_state->__pyx_int_200); - Py_VISIT(traverse_module_state->__pyx_int_400); - Py_VISIT(traverse_module_state->__pyx_int_500); - Py_VISIT(traverse_module_state->__pyx_codeobj_); - Py_VISIT(traverse_module_state->__pyx_tuple__5); - Py_VISIT(traverse_module_state->__pyx_tuple__17); - Py_VISIT(traverse_module_state->__pyx_tuple__28); - Py_VISIT(traverse_module_state->__pyx_tuple__29); - Py_VISIT(traverse_module_state->__pyx_tuple__30); - Py_VISIT(traverse_module_state->__pyx_tuple__31); - Py_VISIT(traverse_module_state->__pyx_tuple__32); - Py_VISIT(traverse_module_state->__pyx_tuple__33); - Py_VISIT(traverse_module_state->__pyx_tuple__34); - Py_VISIT(traverse_module_state->__pyx_tuple__35); - Py_VISIT(traverse_module_state->__pyx_codeobj__3); - Py_VISIT(traverse_module_state->__pyx_codeobj__12); - Py_VISIT(traverse_module_state->__pyx_codeobj__16); - Py_VISIT(traverse_module_state->__pyx_codeobj__18); - Py_VISIT(traverse_module_state->__pyx_codeobj__20); - Py_VISIT(traverse_module_state->__pyx_codeobj__21); - return 0; -} -#endif -/* #### Code section: module_state_defines ### */ -#define __pyx_d __pyx_mstate_global->__pyx_d -#define __pyx_b __pyx_mstate_global->__pyx_b -#define __pyx_cython_runtime __pyx_mstate_global->__pyx_cython_runtime -#define __pyx_empty_tuple __pyx_mstate_global->__pyx_empty_tuple -#define __pyx_empty_bytes __pyx_mstate_global->__pyx_empty_bytes -#define __pyx_empty_unicode __pyx_mstate_global->__pyx_empty_unicode -#ifdef __Pyx_CyFunction_USED -#define __pyx_CyFunctionType __pyx_mstate_global->__pyx_CyFunctionType -#endif -#ifdef __Pyx_FusedFunction_USED -#define __pyx_FusedFunctionType __pyx_mstate_global->__pyx_FusedFunctionType -#endif -#ifdef __Pyx_Generator_USED -#define __pyx_GeneratorType __pyx_mstate_global->__pyx_GeneratorType -#endif -#ifdef __Pyx_IterableCoroutine_USED -#define __pyx_IterableCoroutineType __pyx_mstate_global->__pyx_IterableCoroutineType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineAwaitType __pyx_mstate_global->__pyx_CoroutineAwaitType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineType __pyx_mstate_global->__pyx_CoroutineType -#endif -#if CYTHON_USE_MODULE_STATE -#define __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot __pyx_mstate_global->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot -#define __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection __pyx_mstate_global->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection -#define __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook __pyx_mstate_global->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook -#define __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash __pyx_mstate_global->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash -#define __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment __pyx_mstate_global->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment -#define __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount __pyx_mstate_global->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount -#define __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input __pyx_mstate_global->__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input -#endif -#define __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot -#define __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection -#define __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook -#define __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash -#define __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment -#define __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount -#define __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input __pyx_mstate_global->__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input -#define __pyx_kp_u_2f __pyx_mstate_global->__pyx_kp_u_2f -#define __pyx_n_s_AMOUNT_TEXT __pyx_mstate_global->__pyx_n_s_AMOUNT_TEXT -#define __pyx_n_s_AioCryptoPay __pyx_mstate_global->__pyx_n_s_AioCryptoPay -#define __pyx_n_s_Any __pyx_mstate_global->__pyx_n_s_Any -#define __pyx_n_s_BACK __pyx_mstate_global->__pyx_n_s_BACK -#define __pyx_n_u_CRYPTOSALE __pyx_mstate_global->__pyx_n_u_CRYPTOSALE -#define __pyx_n_s_CRYPTO_BOT_ENABLE __pyx_mstate_global->__pyx_n_s_CRYPTO_BOT_ENABLE -#define __pyx_n_s_CRYPTO_BOT_TOKEN __pyx_mstate_global->__pyx_n_s_CRYPTO_BOT_TOKEN -#define __pyx_kp_u_Crypto_Pay_Api_Signature __pyx_mstate_global->__pyx_kp_u_Crypto_Pay_Api_Signature -#define __pyx_n_s_DEFAULT_PAYMENT_MESSAGE __pyx_mstate_global->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE -#define __pyx_n_s_ENTER_SUM __pyx_mstate_global->__pyx_n_s_ENTER_SUM -#define __pyx_n_s_F __pyx_mstate_global->__pyx_n_s_F -#define __pyx_n_s_FSMContext __pyx_mstate_global->__pyx_n_s_FSMContext -#define __pyx_n_s_InlineKeyboardBuilder __pyx_mstate_global->__pyx_n_s_InlineKeyboardBuilder -#define __pyx_n_s_InlineKeyboardButton __pyx_mstate_global->__pyx_n_s_InlineKeyboardButton -#define __pyx_n_s_MAIN_NET __pyx_mstate_global->__pyx_n_s_MAIN_NET -#define __pyx_n_s_Networks __pyx_mstate_global->__pyx_n_s_Networks -#define __pyx_kp_u_No_value __pyx_mstate_global->__pyx_kp_u_No_value -#define __pyx_n_s_PAY __pyx_mstate_global->__pyx_n_s_PAY -#define __pyx_n_s_PAYMENT_OPTIONS __pyx_mstate_global->__pyx_n_s_PAYMENT_OPTIONS -#define __pyx_n_s_PROJECTMANECONGIGURE __pyx_mstate_global->__pyx_n_s_PROJECTMANECONGIGURE -#define __pyx_kp_u_Payment_succeeded_for_user_id __pyx_mstate_global->__pyx_kp_u_Payment_succeeded_for_user_id -#define __pyx_n_s_RUB_TO_USDT __pyx_mstate_global->__pyx_n_s_RUB_TO_USDT -#define __pyx_n_s_ReplenishBalanceState __pyx_mstate_global->__pyx_n_s_ReplenishBalanceState -#define __pyx_n_s_Response __pyx_mstate_global->__pyx_n_s_Response -#define __pyx_n_s_Router __pyx_mstate_global->__pyx_n_s_Router -#define __pyx_n_s_State __pyx_mstate_global->__pyx_n_s_State -#define __pyx_n_s_StatesGroup __pyx_mstate_global->__pyx_n_s_StatesGroup -#define __pyx_n_u_USD __pyx_mstate_global->__pyx_n_u_USD -#define __pyx_n_s_ValueError __pyx_mstate_global->__pyx_n_s_ValueError -#define __pyx_kp_u__10 __pyx_mstate_global->__pyx_kp_u__10 -#define __pyx_kp_u__11 __pyx_mstate_global->__pyx_kp_u__11 -#define __pyx_kp_u__13 __pyx_mstate_global->__pyx_kp_u__13 -#define __pyx_kp_u__14 __pyx_mstate_global->__pyx_kp_u__14 -#define __pyx_kp_u__15 __pyx_mstate_global->__pyx_kp_u__15 -#define __pyx_kp_u__19 __pyx_mstate_global->__pyx_kp_u__19 -#define __pyx_kp_u__2 __pyx_mstate_global->__pyx_kp_u__2 -#define __pyx_kp_u__22 __pyx_mstate_global->__pyx_kp_u__22 -#define __pyx_kp_u__23 __pyx_mstate_global->__pyx_kp_u__23 -#define __pyx_kp_u__24 __pyx_mstate_global->__pyx_kp_u__24 -#define __pyx_kp_u__25 __pyx_mstate_global->__pyx_kp_u__25 -#define __pyx_kp_u__26 __pyx_mstate_global->__pyx_kp_u__26 -#define __pyx_kp_u__27 __pyx_mstate_global->__pyx_kp_u__27 -#define __pyx_n_s__36 __pyx_mstate_global->__pyx_n_s__36 -#define __pyx_kp_u__4 __pyx_mstate_global->__pyx_kp_u__4 -#define __pyx_kp_u__6 __pyx_mstate_global->__pyx_kp_u__6 -#define __pyx_kp_u__7 __pyx_mstate_global->__pyx_kp_u__7 -#define __pyx_kp_u__8 __pyx_mstate_global->__pyx_kp_u__8 -#define __pyx_kp_u__9 __pyx_mstate_global->__pyx_kp_u__9 -#define __pyx_n_s_add_connection __pyx_mstate_global->__pyx_n_s_add_connection -#define __pyx_n_s_add_payment __pyx_mstate_global->__pyx_n_s_add_payment -#define __pyx_n_s_aiocryptopay __pyx_mstate_global->__pyx_n_s_aiocryptopay -#define __pyx_n_s_aiogram __pyx_mstate_global->__pyx_n_s_aiogram -#define __pyx_n_s_aiogram_fsm_context __pyx_mstate_global->__pyx_n_s_aiogram_fsm_context -#define __pyx_n_s_aiogram_fsm_state __pyx_mstate_global->__pyx_n_s_aiogram_fsm_state -#define __pyx_n_s_aiogram_types __pyx_mstate_global->__pyx_n_s_aiogram_types -#define __pyx_n_s_aiogram_utils_keyboard __pyx_mstate_global->__pyx_n_s_aiogram_utils_keyboard -#define __pyx_n_s_aiohttp __pyx_mstate_global->__pyx_n_s_aiohttp -#define __pyx_n_s_amount __pyx_mstate_global->__pyx_n_s_amount -#define __pyx_kp_u_amount_2 __pyx_mstate_global->__pyx_kp_u_amount_2 -#define __pyx_n_s_amount_str __pyx_mstate_global->__pyx_n_s_amount_str -#define __pyx_n_s_answer __pyx_mstate_global->__pyx_n_s_answer -#define __pyx_n_s_args __pyx_mstate_global->__pyx_n_s_args -#define __pyx_n_s_as_markup __pyx_mstate_global->__pyx_n_s_as_markup -#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines -#define __pyx_n_s_await __pyx_mstate_global->__pyx_n_s_await -#define __pyx_n_s_balance __pyx_mstate_global->__pyx_n_s_balance -#define __pyx_n_s_body_text __pyx_mstate_global->__pyx_n_s_body_text -#define __pyx_n_s_bot_invoice_url __pyx_mstate_global->__pyx_n_s_bot_invoice_url -#define __pyx_n_u_bot_invoice_url __pyx_mstate_global->__pyx_n_u_bot_invoice_url -#define __pyx_n_s_builder __pyx_mstate_global->__pyx_n_s_builder -#define __pyx_n_s_callback_data __pyx_mstate_global->__pyx_n_s_callback_data -#define __pyx_n_u_callback_data __pyx_mstate_global->__pyx_n_u_callback_data -#define __pyx_n_s_callback_query __pyx_mstate_global->__pyx_n_s_callback_query -#define __pyx_n_s_chat __pyx_mstate_global->__pyx_n_s_chat -#define __pyx_n_s_check_connection_exists __pyx_mstate_global->__pyx_n_s_check_connection_exists -#define __pyx_n_s_check_hash __pyx_mstate_global->__pyx_n_s_check_hash -#define __pyx_n_s_check_signature __pyx_mstate_global->__pyx_n_s_check_signature -#define __pyx_n_s_choosing_amount_crypto __pyx_mstate_global->__pyx_n_s_choosing_amount_crypto -#define __pyx_n_s_class_getitem __pyx_mstate_global->__pyx_n_s_class_getitem -#define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback -#define __pyx_n_s_close __pyx_mstate_global->__pyx_n_s_close -#define __pyx_n_s_config __pyx_mstate_global->__pyx_n_s_config -#define __pyx_n_s_create_invoice __pyx_mstate_global->__pyx_n_s_create_invoice -#define __pyx_n_u_crypto __pyx_mstate_global->__pyx_n_u_crypto -#define __pyx_n_s_crypto_2 __pyx_mstate_global->__pyx_n_s_crypto_2 -#define __pyx_kp_u_crypto_amount __pyx_mstate_global->__pyx_kp_u_crypto_amount -#define __pyx_n_s_crypto_pay_signature __pyx_mstate_global->__pyx_n_s_crypto_pay_signature -#define __pyx_n_u_cryptobot __pyx_mstate_global->__pyx_n_u_cryptobot -#define __pyx_n_s_cryptobot_webhook __pyx_mstate_global->__pyx_n_s_cryptobot_webhook -#define __pyx_n_s_currency_type __pyx_mstate_global->__pyx_n_s_currency_type -#define __pyx_n_s_custom_payload __pyx_mstate_global->__pyx_n_s_custom_payload -#define __pyx_n_s_data __pyx_mstate_global->__pyx_n_s_data -#define __pyx_n_s_database __pyx_mstate_global->__pyx_n_s_database -#define __pyx_n_s_debug __pyx_mstate_global->__pyx_n_s_debug -#define __pyx_n_s_description __pyx_mstate_global->__pyx_n_s_description -#define __pyx_n_s_dict __pyx_mstate_global->__pyx_n_s_dict -#define __pyx_kp_u_disable __pyx_mstate_global->__pyx_kp_u_disable -#define __pyx_n_s_doc __pyx_mstate_global->__pyx_n_s_doc -#define __pyx_n_s_e __pyx_mstate_global->__pyx_n_s_e -#define __pyx_n_s_edit_or_send_message __pyx_mstate_global->__pyx_n_s_edit_or_send_message -#define __pyx_kp_u_enable __pyx_mstate_global->__pyx_kp_u_enable -#define __pyx_n_u_enter_custom_amount_crypto __pyx_mstate_global->__pyx_n_u_enter_custom_amount_crypto -#define __pyx_n_s_entering_custom_amount_crypto __pyx_mstate_global->__pyx_n_s_entering_custom_amount_crypto -#define __pyx_n_s_error __pyx_mstate_global->__pyx_n_s_error -#define __pyx_n_s_exists __pyx_mstate_global->__pyx_n_s_exists -#define __pyx_n_s_expected_hash __pyx_mstate_global->__pyx_n_s_expected_hash -#define __pyx_n_s_fiat __pyx_mstate_global->__pyx_n_s_fiat -#define __pyx_n_u_fiat __pyx_mstate_global->__pyx_n_u_fiat -#define __pyx_n_s_format __pyx_mstate_global->__pyx_n_s_format -#define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc -#define __pyx_n_s_get __pyx_mstate_global->__pyx_n_s_get -#define __pyx_n_s_get_key_count __pyx_mstate_global->__pyx_n_s_get_key_count -#define __pyx_n_s_handlers_buttons __pyx_mstate_global->__pyx_n_s_handlers_buttons -#define __pyx_n_s_handlers_payments_cryprobot_pay __pyx_mstate_global->__pyx_n_s_handlers_payments_cryprobot_pay -#define __pyx_kp_s_handlers_payments_cryprobot_pay_2 __pyx_mstate_global->__pyx_kp_s_handlers_payments_cryprobot_pay_2 -#define __pyx_n_s_handlers_payments_gift __pyx_mstate_global->__pyx_n_s_handlers_payments_gift -#define __pyx_n_s_handlers_payments_utils __pyx_mstate_global->__pyx_n_s_handlers_payments_utils -#define __pyx_n_s_handlers_texts __pyx_mstate_global->__pyx_n_s_handlers_texts -#define __pyx_n_s_handlers_utils __pyx_mstate_global->__pyx_n_s_handlers_utils -#define __pyx_kp_u_hash_cryptobot __pyx_mstate_global->__pyx_kp_u_hash_cryptobot -#define __pyx_n_s_headers __pyx_mstate_global->__pyx_n_s_headers -#define __pyx_n_s_i __pyx_mstate_global->__pyx_n_s_i -#define __pyx_n_s_id __pyx_mstate_global->__pyx_n_s_id -#define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import -#define __pyx_n_s_info __pyx_mstate_global->__pyx_n_s_info -#define __pyx_n_s_init_subclass __pyx_mstate_global->__pyx_n_s_init_subclass -#define __pyx_n_s_invoice __pyx_mstate_global->__pyx_n_s_invoice -#define __pyx_n_u_invoice_paid __pyx_mstate_global->__pyx_n_u_invoice_paid -#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine -#define __pyx_n_s_isdigit __pyx_mstate_global->__pyx_n_s_isdigit -#define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled -#define __pyx_n_s_json __pyx_mstate_global->__pyx_n_s_json -#define __pyx_n_s_key_count __pyx_mstate_global->__pyx_n_s_key_count -#define __pyx_n_s_logger __pyx_mstate_global->__pyx_n_s_logger -#define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main -#define __pyx_n_s_message __pyx_mstate_global->__pyx_n_s_message -#define __pyx_n_s_metaclass __pyx_mstate_global->__pyx_n_s_metaclass -#define __pyx_n_s_module __pyx_mstate_global->__pyx_n_s_module -#define __pyx_n_s_mro_entries __pyx_mstate_global->__pyx_n_s_mro_entries -#define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name -#define __pyx_n_s_network __pyx_mstate_global->__pyx_n_s_network -#define __pyx_n_u_paid __pyx_mstate_global->__pyx_n_u_paid -#define __pyx_n_u_pay __pyx_mstate_global->__pyx_n_u_pay -#define __pyx_n_u_pay_cryptobot __pyx_mstate_global->__pyx_n_u_pay_cryptobot -#define __pyx_n_s_payload __pyx_mstate_global->__pyx_n_s_payload -#define __pyx_n_u_payload __pyx_mstate_global->__pyx_n_u_payload -#define __pyx_n_s_prepare __pyx_mstate_global->__pyx_n_s_prepare -#define __pyx_n_s_process_amount_selection __pyx_mstate_global->__pyx_n_s_process_amount_selection -#define __pyx_n_s_process_callback_pay_cryptobot __pyx_mstate_global->__pyx_n_s_process_callback_pay_cryptobot -#define __pyx_n_s_process_crypto_payment __pyx_mstate_global->__pyx_n_s_process_crypto_payment -#define __pyx_n_s_process_custom_amount_input __pyx_mstate_global->__pyx_n_s_process_custom_amount_input -#define __pyx_n_s_process_enter_custom_amount __pyx_mstate_global->__pyx_n_s_process_enter_custom_amount -#define __pyx_n_s_qualname __pyx_mstate_global->__pyx_n_s_qualname -#define __pyx_n_s_range __pyx_mstate_global->__pyx_n_s_range -#define __pyx_n_s_reply_markup __pyx_mstate_global->__pyx_n_s_reply_markup -#define __pyx_n_s_request __pyx_mstate_global->__pyx_n_s_request -#define __pyx_n_s_router __pyx_mstate_global->__pyx_n_s_router -#define __pyx_n_s_row __pyx_mstate_global->__pyx_n_s_row -#define __pyx_n_s_send __pyx_mstate_global->__pyx_n_s_send -#define __pyx_n_s_send_payment_success_notificatio __pyx_mstate_global->__pyx_n_s_send_payment_success_notificatio -#define __pyx_n_s_session __pyx_mstate_global->__pyx_n_s_session -#define __pyx_n_s_set_name __pyx_mstate_global->__pyx_n_s_set_name -#define __pyx_n_s_set_state __pyx_mstate_global->__pyx_n_s_set_state -#define __pyx_kp_u_solonet_sup __pyx_mstate_global->__pyx_kp_u_solonet_sup -#define __pyx_n_s_split __pyx_mstate_global->__pyx_n_s_split -#define __pyx_n_s_startswith __pyx_mstate_global->__pyx_n_s_startswith -#define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state -#define __pyx_n_s_status __pyx_mstate_global->__pyx_n_s_status -#define __pyx_n_u_status __pyx_mstate_global->__pyx_n_u_status -#define __pyx_n_s_super __pyx_mstate_global->__pyx_n_s_super -#define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test -#define __pyx_n_s_text __pyx_mstate_global->__pyx_n_s_text -#define __pyx_n_u_text __pyx_mstate_global->__pyx_n_u_text -#define __pyx_n_s_tg_id __pyx_mstate_global->__pyx_n_s_tg_id -#define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw -#define __pyx_n_s_token __pyx_mstate_global->__pyx_n_s_token -#define __pyx_n_s_trial __pyx_mstate_global->__pyx_n_s_trial -#define __pyx_n_s_types __pyx_mstate_global->__pyx_n_s_types -#define __pyx_kp_s_types_CallbackQuery __pyx_mstate_global->__pyx_kp_s_types_CallbackQuery -#define __pyx_kp_s_types_Message __pyx_mstate_global->__pyx_kp_s_types_Message -#define __pyx_n_s_typing __pyx_mstate_global->__pyx_n_s_typing -#define __pyx_n_s_update_balance __pyx_mstate_global->__pyx_n_s_update_balance -#define __pyx_n_s_update_data __pyx_mstate_global->__pyx_n_s_update_data -#define __pyx_n_u_update_type __pyx_mstate_global->__pyx_n_u_update_type -#define __pyx_n_s_url __pyx_mstate_global->__pyx_n_s_url -#define __pyx_n_s_usdt_amount __pyx_mstate_global->__pyx_n_s_usdt_amount -#define __pyx_n_s_user_id __pyx_mstate_global->__pyx_n_s_user_id -#define __pyx_kp_u_user_id_amount __pyx_mstate_global->__pyx_kp_u_user_id_amount -#define __pyx_n_s_user_id_str __pyx_mstate_global->__pyx_n_s_user_id_str -#define __pyx_n_s_waiting_for_payment_confirmation __pyx_mstate_global->__pyx_n_s_waiting_for_payment_confirmation -#define __pyx_n_s_warning __pyx_mstate_global->__pyx_n_s_warning -#define __pyx_n_s_web __pyx_mstate_global->__pyx_n_s_web -#define __pyx_float_0_0 __pyx_mstate_global->__pyx_float_0_0 -#define __pyx_int_0 __pyx_mstate_global->__pyx_int_0 -#define __pyx_int_1 __pyx_mstate_global->__pyx_int_1 -#define __pyx_int_2 __pyx_mstate_global->__pyx_int_2 -#define __pyx_int_200 __pyx_mstate_global->__pyx_int_200 -#define __pyx_int_400 __pyx_mstate_global->__pyx_int_400 -#define __pyx_int_500 __pyx_mstate_global->__pyx_int_500 -#define __pyx_codeobj_ __pyx_mstate_global->__pyx_codeobj_ -#define __pyx_tuple__5 __pyx_mstate_global->__pyx_tuple__5 -#define __pyx_tuple__17 __pyx_mstate_global->__pyx_tuple__17 -#define __pyx_tuple__28 __pyx_mstate_global->__pyx_tuple__28 -#define __pyx_tuple__29 __pyx_mstate_global->__pyx_tuple__29 -#define __pyx_tuple__30 __pyx_mstate_global->__pyx_tuple__30 -#define __pyx_tuple__31 __pyx_mstate_global->__pyx_tuple__31 -#define __pyx_tuple__32 __pyx_mstate_global->__pyx_tuple__32 -#define __pyx_tuple__33 __pyx_mstate_global->__pyx_tuple__33 -#define __pyx_tuple__34 __pyx_mstate_global->__pyx_tuple__34 -#define __pyx_tuple__35 __pyx_mstate_global->__pyx_tuple__35 -#define __pyx_codeobj__3 __pyx_mstate_global->__pyx_codeobj__3 -#define __pyx_codeobj__12 __pyx_mstate_global->__pyx_codeobj__12 -#define __pyx_codeobj__16 __pyx_mstate_global->__pyx_codeobj__16 -#define __pyx_codeobj__18 __pyx_mstate_global->__pyx_codeobj__18 -#define __pyx_codeobj__20 __pyx_mstate_global->__pyx_codeobj__20 -#define __pyx_codeobj__21 __pyx_mstate_global->__pyx_codeobj__21 -/* #### Code section: module_code ### */ -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_1process_callback_pay_cryptobot(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_13cryprobot_pay_1process_callback_pay_cryptobot = {"process_callback_pay_cryptobot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13cryprobot_pay_1process_callback_pay_cryptobot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_1process_callback_pay_cryptobot(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_callback_pay_cryptobot (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_callback_pay_cryptobot", 1, 3, 3, 1); __PYX_ERR(0, 41, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 41, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_callback_pay_cryptobot", 1, 3, 3, 2); __PYX_ERR(0, 41, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_callback_pay_cryptobot") < 0)) __PYX_ERR(0, 41, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - __pyx_v_session = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_callback_pay_cryptobot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 41, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_callback_pay_cryptobot", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_13cryprobot_pay_process_callback_pay_cryptobot(__pyx_self, __pyx_v_callback_query, __pyx_v_state, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_process_callback_pay_cryptobot(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_callback_pay_cryptobot", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 41, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13cryprobot_pay_2generator, __pyx_codeobj_, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_callback_pay_cryptobot, __pyx_n_s_process_callback_pay_cryptobot, __pyx_n_s_handlers_payments_cryprobot_pay); if (unlikely(!gen)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_callback_pay_cryptobot", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - unsigned int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - Py_ssize_t __pyx_t_12; - PyObject *(*__pyx_t_13)(PyObject *); - Py_ssize_t __pyx_t_14; - int __pyx_t_15; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_callback_pay_cryptobot", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L5_resume_from_await; - case 2: goto __pyx_L10_resume_from_await; - case 3: goto __pyx_L12_resume_from_await; - case 4: goto __pyx_L14_resume_from_await; - case 5: goto __pyx_L15_resume_from_await; - case 6: goto __pyx_L16_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 41, __pyx_L1_error) - - __Pyx_INCREF(__pyx_n_u_CRYPTOSALE); - __Pyx_GIVEREF(__pyx_n_u_CRYPTOSALE); - __pyx_cur_scope->__pyx_v_expected_hash = __pyx_n_u_CRYPTOSALE; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PROJECTMANECONGIGURE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_cur_scope->__pyx_v_expected_hash, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__2}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_BACK); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 51, __pyx_L1_error) - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_11}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_t_9 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_9, __pyx_t_3, __pyx_kp_u_solonet_sup, __pyx_t_6}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 48, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 48, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 55, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 55, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0)) __PYX_ERR(0, 56, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error); - __Pyx_INCREF(__pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2)) __PYX_ERR(0, 56, __pyx_L1_error); - __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { - __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); - __pyx_t_12 = 0; - __pyx_t_13 = NULL; - } else { - __pyx_t_12 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 56, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - for (;;) { - if (likely(!__pyx_t_13)) { - if (likely(PyList_CheckExact(__pyx_t_4))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 56, __pyx_L1_error) - #endif - if (__pyx_t_12 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_12); __Pyx_INCREF(__pyx_t_1); __pyx_t_12++; if (unlikely((0 < 0))) __PYX_ERR(0, 56, __pyx_L1_error) - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 56, __pyx_L1_error) - #endif - if (__pyx_t_12 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_12); __Pyx_INCREF(__pyx_t_1); __pyx_t_12++; if (unlikely((0 < 0))) __PYX_ERR(0, 56, __pyx_L1_error) - #else - __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - #endif - } - } else { - __pyx_t_1 = __pyx_t_13(__pyx_t_4); - if (unlikely(!__pyx_t_1)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 56, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_i); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_i, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_14 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_6, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_2) { - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 58, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_text); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_t_7) < 0) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_t_7, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_n_u_crypto, __pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_callback_data, __pyx_t_7) < 0) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 59, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 63, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_text); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_10) < 0) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_t_8, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyUnicode_Concat(__pyx_n_u_crypto, __pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_t_8) < 0) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 63, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_t_7, __pyx_t_8}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - goto __pyx_L8; - } - - /*else*/ { - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - - __pyx_t_7 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_9, __pyx_n_u_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_text, __pyx_t_1) < 0) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_9, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_n_u_crypto, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_callback_data, __pyx_t_1) < 0) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_L8:; - - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 75, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_BACK); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 75, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_7) < 0) __PYX_ERR(0, 75, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 75, __pyx_L1_error) - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 75, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_7}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 75, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_chat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_7}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L10_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 77, __pyx_L1_error) - __pyx_t_4 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_4); - } else { - __pyx_t_4 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_4) < 0) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_key_count = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_2 = (__Pyx_PyInt_BoolEqObjC(__pyx_cur_scope->__pyx_v_key_count, __pyx_int_0, 0, 0)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 78, __pyx_L1_error) - if (__pyx_t_2) { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_chat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_7}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L12_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 79, __pyx_L1_error) - __pyx_t_4 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_4); - } else { - __pyx_t_4 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_4) < 0) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_exists = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_exists); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 80, __pyx_L1_error) - __pyx_t_15 = (!__pyx_t_2); - if (__pyx_t_15) { - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - __pyx_t_3 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_chat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_tg_id, __pyx_t_7) < 0) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_balance, __pyx_float_0_0) < 0) __PYX_ERR(0, 82, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_trial, __pyx_int_0) < 0) __PYX_ERR(0, 82, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_session, __pyx_cur_scope->__pyx_v_session) < 0) __PYX_ERR(0, 82, __pyx_L1_error) - - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_7); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L14_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 81, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 81, __pyx_L1_error) - } - } - - } - - } - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 89, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_AMOUNT_TEXT); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __pyx_t_8 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_8, __pyx_t_4, __pyx_t_1, __pyx_t_6}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_7); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L15_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 88, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 88, __pyx_L1_error) - } - } - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_choosing_amount_crypto); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_1}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 94, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_7); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 6; - return __pyx_r; - __pyx_L16_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 94, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 94, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_AddTraceback("process_callback_pay_cryptobot", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_4process_amount_selection(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_13cryprobot_pay_4process_amount_selection = {"process_amount_selection", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13cryprobot_pay_4process_amount_selection, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_4process_amount_selection(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_amount_selection (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 97, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, 1); __PYX_ERR(0, 97, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_amount_selection") < 0)) __PYX_ERR(0, 97, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 97, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_13cryprobot_pay_3process_amount_selection(__pyx_self, __pyx_v_callback_query, __pyx_v_state); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_3process_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_amount_selection", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 97, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13cryprobot_pay_5generator1, __pyx_codeobj__3, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_amount_selection, __pyx_n_s_process_amount_selection, __pyx_n_s_handlers_payments_cryprobot_pay); if (unlikely(!gen)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - unsigned int __pyx_t_11; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - Py_UCS4 __pyx_t_20; - int __pyx_t_21; - char const *__pyx_t_22; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - PyObject *__pyx_t_26 = NULL; - PyObject *__pyx_t_27 = NULL; - PyObject *__pyx_t_28 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_amount_selection", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L5_resume_from_await; - case 2: goto __pyx_L14_resume_from_await; - case 3: goto __pyx_L15_resume_from_await; - case 4: goto __pyx_L16_resume_from_await; - case 5: goto __pyx_L23_resume_from_await; - case 6: goto __pyx_L25_resume_from_await; - case 7: goto __pyx_L26_resume_from_await; - case 8: goto __pyx_L34_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 97, __pyx_L1_error) - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_data = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = PyObject_Length(__pyx_cur_scope->__pyx_v_data); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 103, __pyx_L1_error) - __pyx_t_4 = (__pyx_t_3 != 2); - if (__pyx_t_4) { - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 105, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_BACK); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_t_12) < 0) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 108, __pyx_L1_error) - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_12}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 109, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_t_9 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_9, __pyx_t_5, __pyx_kp_u__6, __pyx_t_6}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 104, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 104, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_data, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_amount_str = __pyx_t_1; - __pyx_t_1 = 0; - - { - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - /*try:*/ { - - __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_amount = __pyx_t_1; - __pyx_t_1 = 0; - - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - goto __pyx_L11_try_end; - __pyx_L6_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_16 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError); - if (__pyx_t_16) { - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 116, __pyx_L8_except_error) - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_6); - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 117, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_9); - - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 118, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_7); - - __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 120, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_18, NULL}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_17, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 120, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_row); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 121, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 121, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 121, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_n_s_BACK); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 121, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_19); - if (PyDict_SetItem(__pyx_t_18, __pyx_n_s_text, __pyx_t_19) < 0) __PYX_ERR(0, 121, __pyx_L8_except_error) - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (PyDict_SetItem(__pyx_t_18, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 121, __pyx_L8_except_error) - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 121, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_18, __pyx_t_19}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_17, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 121, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 122, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; - __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_17, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 122, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - __pyx_t_17 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_17)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_17); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_17, __pyx_t_7, __pyx_kp_u__7, __pyx_t_12}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 117, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_6; - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_14; - __Pyx_XGIVEREF(__pyx_t_15); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_15; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L14_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_6 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_6); - __pyx_t_13 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_15); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 117, __pyx_L8_except_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 117, __pyx_L8_except_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L9_except_return; - } - goto __pyx_L8_except_error; - - __pyx_L8_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - goto __pyx_L1_error; - __pyx_L9_except_return:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - goto __pyx_L0; - __pyx_L11_try_end:; - } - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 126, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L15_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 126, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 126, __pyx_L1_error) - } - } - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L16_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 127, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 127, __pyx_L1_error) - } - } - - { - __Pyx_ExceptionSave(&__pyx_t_15, &__pyx_t_14, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_RUB_TO_USDT); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 130, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_cur_scope->__pyx_v_amount, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 130, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_usdt_amount = __pyx_t_2; - __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_crypto_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 131, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_create_invoice); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 132, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_fiat, __pyx_n_u_USD) < 0) __PYX_ERR(0, 132, __pyx_L17_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_currency_type, __pyx_n_u_fiat) < 0) __PYX_ERR(0, 132, __pyx_L17_error) - - __pyx_t_5 = __Pyx_PyObject_Format(__pyx_cur_scope->__pyx_v_usdt_amount, __pyx_kp_u_2f); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 134, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_t_5) < 0) __PYX_ERR(0, 132, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 135, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 135, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 135, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 135, __pyx_L17_error) - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 135, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_description, __pyx_t_9) < 0) __PYX_ERR(0, 132, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 136, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_3 = 0; - __pyx_t_20 = 127; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 136, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_chat); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 136, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_id); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 136, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 136, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_20 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_20) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_20; - __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_INCREF(__pyx_kp_u__8); - __pyx_t_3 += 1; - __Pyx_GIVEREF(__pyx_kp_u__8); - PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_kp_u__8); - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 136, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_20 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_20) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_20; - __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_9, 3, __pyx_t_3, __pyx_t_20); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 136, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_payload, __pyx_t_6) < 0) __PYX_ERR(0, 132, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 131, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_14; - __Pyx_XGIVEREF(__pyx_t_15); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_15; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L23_resume_from_await:; - __pyx_t_13 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_15); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 131, __pyx_L17_error) - __pyx_t_6 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_6); - } else { - __pyx_t_6 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_6) < 0) __PYX_ERR(0, 131, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - } - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_invoice = __pyx_t_6; - __pyx_t_6 = 0; - - __pyx_t_4 = __Pyx_HasAttr(__pyx_cur_scope->__pyx_v_invoice, __pyx_n_u_bot_invoice_url); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 139, __pyx_L17_error) - if (__pyx_t_4) { - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 140, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 140, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_6; - __pyx_t_6 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 141, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 142, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_PAY); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 142, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_t_5) < 0) __PYX_ERR(0, 142, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_invoice, __pyx_n_s_bot_invoice_url); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 142, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_url, __pyx_t_5) < 0) __PYX_ERR(0, 142, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 142, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_5}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 141, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 144, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 145, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 145, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BACK); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_t_1) < 0) __PYX_ERR(0, 145, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 145, __pyx_L17_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_1}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 144, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 147, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 148, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2)) __PYX_ERR(0, 147, __pyx_L17_error); - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 149, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 149, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 149, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 149, __pyx_L17_error) - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 149, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_12) < 0) __PYX_ERR(0, 149, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 150, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 150, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_t_12) < 0) __PYX_ERR(0, 149, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 147, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_14; - __Pyx_XGIVEREF(__pyx_t_15); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_15; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 6; - return __pyx_r; - __pyx_L25_resume_from_await:; - __pyx_t_13 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_15); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 147, __pyx_L17_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 147, __pyx_L17_error) - } - } - - goto __pyx_L24; - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 153, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 156, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_17 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_17)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_17); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_17, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 156, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_row); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 157, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 157, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_17 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 157, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_BACK); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 157, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_17, __pyx_n_s_text, __pyx_t_10) < 0) __PYX_ERR(0, 157, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_17, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 157, __pyx_L17_error) - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_17); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 157, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_17)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_17); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_17, __pyx_t_10}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 157, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 158, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 158, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __pyx_t_7 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_7, __pyx_t_1, __pyx_kp_u__9, __pyx_t_6}; - __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 153, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_14; - __Pyx_XGIVEREF(__pyx_t_15); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_15; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 7; - return __pyx_r; - __pyx_L26_resume_from_await:; - __pyx_t_13 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_15); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 153, __pyx_L17_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 153, __pyx_L17_error) - } - } - } - __pyx_L24:; - - } - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_16 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_16) { - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_12, &__pyx_t_2, &__pyx_t_6) < 0) __PYX_ERR(0, 160, __pyx_L19_except_error) - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_INCREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_e = __pyx_t_2; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_logger); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 161, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_error); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 161, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 161, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_kp_u__10, __pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 161, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_10}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 161, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 162, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_9); - - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 163, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_10); - - __Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 165, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_18 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_18, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_19, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 165, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_row); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 166, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 166, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 166, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_BACK); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 166, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_t_18, __pyx_n_s_text, __pyx_t_8) < 0) __PYX_ERR(0, 166, __pyx_L32_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_18, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 166, __pyx_L32_error) - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 166, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_18, __pyx_t_8}; - __pyx_t_17 = __Pyx_PyObject_FastCall(__pyx_t_19, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 166, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 167, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_17 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_17)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_17); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_17, NULL}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_19, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 167, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - __pyx_t_19 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_19)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_19); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_19, __pyx_t_10, __pyx_kp_u__11, __pyx_t_7}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_11, 3+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_6; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_14; - __Pyx_XGIVEREF(__pyx_t_15); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_15; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 8; - return __pyx_r; - __pyx_L34_resume_from_await:; - __pyx_t_2 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_6 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_6); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_13 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_15); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 162, __pyx_L32_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 162, __pyx_L32_error) - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L33; - } - __pyx_L32_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_26, &__pyx_t_27, &__pyx_t_28); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25) < 0)) __Pyx_ErrFetch(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_26); - __Pyx_XGOTREF(__pyx_t_27); - __Pyx_XGOTREF(__pyx_t_28); - __pyx_t_16 = __pyx_lineno; __pyx_t_21 = __pyx_clineno; __pyx_t_22 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_XGIVEREF(__pyx_t_28); - __Pyx_ExceptionReset(__pyx_t_26, __pyx_t_27, __pyx_t_28); - } - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_ErrRestore(__pyx_t_23, __pyx_t_24, __pyx_t_25); - __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; - __pyx_lineno = __pyx_t_16; __pyx_clineno = __pyx_t_21; __pyx_filename = __pyx_t_22; - goto __pyx_L19_except_error; - } - __pyx_L33:; - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L18_exception_handled; - } - goto __pyx_L19_except_error; - - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_14, __pyx_t_13); - goto __pyx_L1_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_15, __pyx_t_14, __pyx_t_13); - __pyx_L22_try_end:; - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_AddTraceback("process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_7cryptobot_webhook(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_13cryprobot_pay_7cryptobot_webhook = {"cryptobot_webhook", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13cryprobot_pay_7cryptobot_webhook, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_7cryptobot_webhook(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_request = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("cryptobot_webhook (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_request,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_request)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 172, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "cryptobot_webhook") < 0)) __PYX_ERR(0, 172, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - } - __pyx_v_request = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("cryptobot_webhook", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 172, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.cryptobot_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_13cryprobot_pay_6cryptobot_webhook(__pyx_self, __pyx_v_request); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_6cryptobot_webhook(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_request) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("cryptobot_webhook", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 172, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_request = __pyx_v_request; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_request); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_request); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13cryprobot_pay_8generator2, __pyx_codeobj__12, (PyObject *) __pyx_cur_scope, __pyx_n_s_cryptobot_webhook, __pyx_n_s_cryptobot_webhook, __pyx_n_s_handlers_payments_cryprobot_pay); if (unlikely(!gen)) __PYX_ERR(0, 172, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.cryptobot_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - unsigned int __pyx_t_7; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - char const *__pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("cryptobot_webhook", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L11_resume_from_await; - case 2: goto __pyx_L13_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 172, __pyx_L1_error) - - { - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_check_hash); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 174, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_request}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 174, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 174, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_9 = (!__pyx_t_8); - if (__pyx_t_9) { - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 175, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_warning); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 175, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_kp_u_hash_cryptobot}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 175, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_web); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 178, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Response); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 178, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 178, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 178, __pyx_L4_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 178, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_try_return; - - } - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_request, __pyx_n_s_json); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 180, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 180, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L11_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 180, __pyx_L4_error) - __pyx_t_5 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_5); - } else { - __pyx_t_5 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_5) < 0) __PYX_ERR(0, 180, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_data = __pyx_t_5; - __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 181, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_data, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 181, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_kp_u__13, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 181, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_10}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 181, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 182, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_n_u_update_type}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 182, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_t_9 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_n_u_invoice_paid, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 182, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_9) { - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_process_crypto_payment); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 183, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_data, __pyx_n_u_payload); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 183, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_4 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_10}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 183, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L13_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 183, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 183, __pyx_L4_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_web); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_Response); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_status, __pyx_int_200) < 0) __PYX_ERR(0, 184, __pyx_L4_error) - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 184, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L8_try_return; - - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 186, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_warning); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 186, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 187, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_n_u_update_type}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 187, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 187, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u__14, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 187, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 186, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_web); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 189, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_Response); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 189, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 189, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 189, __pyx_L4_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 189, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L8_try_return; - } - - } - __pyx_L4_error:; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_12) { - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.cryptobot_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_10, &__pyx_t_6) < 0) __PYX_ERR(0, 190, __pyx_L6_except_error) - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_INCREF(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_v_e = __pyx_t_10; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_logger); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 191, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_error); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 191, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 191, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_14 = __Pyx_PyUnicode_Concat(__pyx_kp_u__15, __pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 191, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_14}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 191, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_web); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 192, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Response); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 192, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 192, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_status, __pyx_int_500) < 0) __PYX_ERR(0, 192, __pyx_L19_error) - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 192, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L18_return; - } - - /*finally:*/ { - __pyx_L19_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19) < 0)) __Pyx_ErrFetch(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_12 = __pyx_lineno; __pyx_t_15 = __pyx_clineno; __pyx_t_16 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - } - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ErrRestore(__pyx_t_17, __pyx_t_18, __pyx_t_19); - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __pyx_lineno = __pyx_t_12; __pyx_clineno = __pyx_t_15; __pyx_filename = __pyx_t_16; - goto __pyx_L6_except_error; - } - __pyx_L18_return: { - __Pyx_PyThreadState_assign - __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_18 = 0; __pyx_t_17 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_19, &__pyx_t_18, &__pyx_t_17); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20) < 0)) __Pyx_ErrFetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_17); - __pyx_t_23 = __pyx_r; - __pyx_r = 0; - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - __pyx_r = __pyx_t_23; - __pyx_t_23 = 0; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_ExceptionReset(__pyx_t_19, __pyx_t_18, __pyx_t_17); - } - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ErrRestore(__pyx_t_22, __pyx_t_21, __pyx_t_20); - __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_18 = 0; __pyx_t_17 = 0; - goto __pyx_L7_except_return; - } - } - } - goto __pyx_L6_except_error; - - __pyx_L6_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_return:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L0; - __pyx_L7_except_return:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L0; - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("cryptobot_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_10check_hash(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_13cryprobot_pay_10check_hash = {"check_hash", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13cryprobot_pay_10check_hash, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_10check_hash(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_request = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("check_hash (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_request,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_request)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 195, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "check_hash") < 0)) __PYX_ERR(0, 195, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - } - __pyx_v_request = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("check_hash", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 195, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.check_hash", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_13cryprobot_pay_9check_hash(__pyx_self, __pyx_v_request); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_9check_hash(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_request) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("check_hash", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 195, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_request = __pyx_v_request; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_request); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_request); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13cryprobot_pay_11generator3, __pyx_codeobj__16, (PyObject *) __pyx_cur_scope, __pyx_n_s_check_hash, __pyx_n_s_check_hash, __pyx_n_s_handlers_payments_cryprobot_pay); if (unlikely(!gen)) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.check_hash", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("check_hash", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 195, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_request, __pyx_n_s_text); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 196, __pyx_L1_error) - __pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1); - } else { - __pyx_t_1 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_body_text = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_request, __pyx_n_s_headers); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_crypto_pay_signature = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_crypto_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_check_signature); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_body_text, __pyx_cur_scope->__pyx_v_body_text) < 0) __PYX_ERR(0, 201, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_crypto_pay_signature, __pyx_cur_scope->__pyx_v_crypto_pay_signature) < 0) __PYX_ERR(0, 201, __pyx_L1_error) - - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L0; - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("check_hash", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_13process_crypto_payment(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_13cryprobot_pay_13process_crypto_payment = {"process_crypto_payment", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13cryprobot_pay_13process_crypto_payment, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_13process_crypto_payment(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_payload = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_crypto_payment (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_payload,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_payload)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 205, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_crypto_payment") < 0)) __PYX_ERR(0, 205, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - } - __pyx_v_payload = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_crypto_payment", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 205, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_crypto_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_13cryprobot_pay_12process_crypto_payment(__pyx_self, __pyx_v_payload); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_12process_crypto_payment(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_payload) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_crypto_payment", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 205, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_payload = __pyx_v_payload; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_payload); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_payload); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13cryprobot_pay_14generator4, __pyx_codeobj__18, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_crypto_payment, __pyx_n_s_process_crypto_payment, __pyx_n_s_handlers_payments_cryprobot_pay); if (unlikely(!gen)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_crypto_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - unsigned int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *(*__pyx_t_7)(PyObject *); - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - Py_ssize_t __pyx_t_12; - Py_UCS4 __pyx_t_13; - int __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - char const *__pyx_t_18; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_crypto_payment", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L13_resume_from_await; - case 2: goto __pyx_L14_resume_from_await; - case 3: goto __pyx_L15_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 205, __pyx_L1_error) - - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payload, __pyx_n_u_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_paid, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 206, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payload, __pyx_n_u_payload); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_custom_payload = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_custom_payload, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_kp_u__8}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { - PyObject* sequence = __pyx_t_1; - Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); - if (unlikely(size != 2)) { - if (size > 2) __Pyx_RaiseTooManyValuesError(2); - else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 208, __pyx_L1_error) - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - if (likely(PyTuple_CheckExact(sequence))) { - __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); - __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); - } else { - __pyx_t_3 = PyList_GET_ITEM(sequence, 0); - __pyx_t_4 = PyList_GET_ITEM(sequence, 1); - } - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - #else - __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - #endif - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } else { - Py_ssize_t index = -1; - __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_7 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); - index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L5_unpacking_failed; - __Pyx_GOTREF(__pyx_t_3); - index = 1; __pyx_t_4 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_4)) goto __pyx_L5_unpacking_failed; - __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(0, 208, __pyx_L1_error) - __pyx_t_7 = NULL; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L6_unpacking_done; - __pyx_L5_unpacking_failed:; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_7 = NULL; - if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 208, __pyx_L1_error) - __pyx_L6_unpacking_done:; - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_user_id_str = __pyx_t_3; - __pyx_t_3 = 0; - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_amount_str = __pyx_t_4; - __pyx_t_4 = 0; - - { - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - - __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_user_id_str); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_user_id = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_amount = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 212, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_user_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 212, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyNumber_Float(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 212, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_11 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_11, __pyx_t_3, __pyx_t_6, __pyx_n_u_cryptobot}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 212, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L13_resume_from_await:; - __pyx_t_8 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_10); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 212, __pyx_L7_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 212, __pyx_L7_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 213, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_debug); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 213, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 213, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = 0; - __pyx_t_13 = 127; - __Pyx_INCREF(__pyx_kp_u_Payment_succeeded_for_user_id); - __pyx_t_12 += 31; - __Pyx_GIVEREF(__pyx_kp_u_Payment_succeeded_for_user_id); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_Payment_succeeded_for_user_id); - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 213, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_13; - __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); - __pyx_t_3 = 0; - __Pyx_INCREF(__pyx_kp_u_amount_2); - __pyx_t_12 += 10; - __Pyx_GIVEREF(__pyx_kp_u_amount_2); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u_amount_2); - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 213, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_13; - __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_4, 4, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 213, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 213, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 214, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_user_id, __pyx_cur_scope->__pyx_v_amount}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L14_resume_from_await:; - __pyx_t_8 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_10); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 214, __pyx_L7_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 214, __pyx_L7_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 215, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_user_id, __pyx_cur_scope->__pyx_v_amount}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 215, __pyx_L7_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L15_resume_from_await:; - __pyx_t_8 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_10); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 215, __pyx_L7_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 215, __pyx_L7_error) - } - } - - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L12_try_end; - __pyx_L7_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_14 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError); - if (__pyx_t_14) { - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_crypto_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_6, &__pyx_t_3) < 0) __PYX_ERR(0, 216, __pyx_L9_except_error) - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_e = __pyx_t_6; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_logger); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 217, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_error); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 217, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 217, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_16 = __Pyx_PyUnicode_Concat(__pyx_kp_u_user_id_amount, __pyx_t_11); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 217, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_15))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_15); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_15, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_16}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_15, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 217, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L22; - } - __pyx_L21_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_22, &__pyx_t_23, &__pyx_t_24); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21) < 0)) __Pyx_ErrFetch(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __pyx_t_14 = __pyx_lineno; __pyx_t_17 = __pyx_clineno; __pyx_t_18 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24); - } - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_ErrRestore(__pyx_t_19, __pyx_t_20, __pyx_t_21); - __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; - __pyx_lineno = __pyx_t_14; __pyx_clineno = __pyx_t_17; __pyx_filename = __pyx_t_18; - goto __pyx_L9_except_error; - } - __pyx_L22:; - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L8_exception_handled; - } - goto __pyx_L9_except_error; - - __pyx_L9_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L1_error; - __pyx_L8_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_L12_try_end:; - } - - goto __pyx_L4; - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_logger); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_warning); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_payload, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u__19, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_4}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_L4:; - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_AddTraceback("process_crypto_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_17generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_16process_enter_custom_amount(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_13cryprobot_pay_16process_enter_custom_amount = {"process_enter_custom_amount", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13cryprobot_pay_16process_enter_custom_amount, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_16process_enter_custom_amount(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_enter_custom_amount (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 222, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 222, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, 1); __PYX_ERR(0, 222, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_enter_custom_amount") < 0)) __PYX_ERR(0, 222, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 222, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_13cryprobot_pay_15process_enter_custom_amount(__pyx_self, __pyx_v_callback_query, __pyx_v_state); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_15process_enter_custom_amount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_enter_custom_amount", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 222, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13cryprobot_pay_17generator5, __pyx_codeobj__20, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_handlers_payments_cryprobot_pay); if (unlikely(!gen)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_17generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_enter_custom_amount", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - case 2: goto __pyx_L5_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 222, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_BACK); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_text, __pyx_t_6) < 0) __PYX_ERR(0, 227, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_data, __pyx_n_u_pay_cryptobot) < 0) __PYX_ERR(0, 227, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ENTER_SUM); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 230, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1)) __PYX_ERR(0, 229, __pyx_L1_error); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 231, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 231, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 231, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_5) < 0) __PYX_ERR(0, 231, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 229, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 229, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 229, __pyx_L1_error) - } - } - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_entering_custom_amount_crypto); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_2}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 234, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 234, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 234, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_20generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_19process_custom_amount_input(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_13cryprobot_pay_19process_custom_amount_input = {"process_custom_amount_input", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_13cryprobot_pay_19process_custom_amount_input, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_13cryprobot_pay_19process_custom_amount_input(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_message = 0; - PyObject *__pyx_v_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_custom_amount_input (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message,&__pyx_n_s_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_message)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 237, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 237, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, 1); __PYX_ERR(0, 237, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_custom_amount_input") < 0)) __PYX_ERR(0, 237, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_message = values[0]; - __pyx_v_state = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 237, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_13cryprobot_pay_18process_custom_amount_input(__pyx_self, __pyx_v_message, __pyx_v_state); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_13cryprobot_pay_18process_custom_amount_input(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_message, PyObject *__pyx_v_state) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_custom_amount_input", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 237, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_message = __pyx_v_message; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_message); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_message); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_13cryprobot_pay_20generator6, __pyx_codeobj__21, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_custom_amount_input, __pyx_n_s_process_custom_amount_input, __pyx_n_s_handlers_payments_cryprobot_pay); if (unlikely(!gen)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_13cryprobot_pay_20generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_UCS4 __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - int __pyx_t_20; - char const *__pyx_t_21; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - PyObject *__pyx_t_26 = NULL; - PyObject *__pyx_t_27 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_custom_amount_input", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L6_resume_from_await; - case 2: goto __pyx_L7_resume_from_await; - case 3: goto __pyx_L8_resume_from_await; - case 4: goto __pyx_L15_resume_from_await; - case 5: goto __pyx_L17_resume_from_await; - case 6: goto __pyx_L18_resume_from_await; - case 7: goto __pyx_L26_resume_from_await; - case 8: goto __pyx_L31_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 237, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isdigit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 239, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_5) { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_amount = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_RUB_TO_USDT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyNumber_FloorDivide(__pyx_cur_scope->__pyx_v_amount, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_int_0, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 241, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_5) { - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = 0; - __pyx_t_7 = 127; - __Pyx_INCREF(__pyx_kp_u__22); - __pyx_t_7 = (65535 > __pyx_t_7) ? 65535 : __pyx_t_7; - __pyx_t_6 += 25; - __Pyx_GIVEREF(__pyx_kp_u__22); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u__22); - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_RUB_TO_USDT); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_8, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_9); - __pyx_t_9 = 0; - __Pyx_INCREF(__pyx_kp_u__23); - __pyx_t_7 = (65535 > __pyx_t_7) ? 65535 : __pyx_t_7; - __pyx_t_6 += 36; - __Pyx_GIVEREF(__pyx_kp_u__23); - PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u__23); - __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_cur_scope->__pyx_v_message, __pyx_t_9, Py_None}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L6_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 242, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 242, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 249, __pyx_L1_error) - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L7_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 249, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 249, __pyx_L1_error) - } - } - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 250, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L8_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 250, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 250, __pyx_L1_error) - } - } - - { - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_crypto_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 253, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_create_invoice); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 253, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 254, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_fiat, __pyx_n_u_USD) < 0) __PYX_ERR(0, 254, __pyx_L9_error) - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_currency_type, __pyx_n_u_fiat) < 0) __PYX_ERR(0, 254, __pyx_L9_error) - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_RUB_TO_USDT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 256, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyNumber_FloorDivide(__pyx_cur_scope->__pyx_v_amount, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 256, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 256, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 256, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_amount, __pyx_t_3) < 0) __PYX_ERR(0, 254, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = 0; - __pyx_t_7 = 127; - __Pyx_INCREF(__pyx_kp_u__24); - __pyx_t_7 = (65535 > __pyx_t_7) ? 65535 : __pyx_t_7; - __pyx_t_6 += 22; - __Pyx_GIVEREF(__pyx_kp_u__24); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u__24); - __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_INCREF(__pyx_kp_u__25); - __pyx_t_7 = (65535 > __pyx_t_7) ? 65535 : __pyx_t_7; - __pyx_t_6 += 4; - __Pyx_GIVEREF(__pyx_kp_u__25); - PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u__25); - __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_description, __pyx_t_2) < 0) __PYX_ERR(0, 254, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 258, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = 0; - __pyx_t_7 = 127; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_chat); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 258, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_id); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 258, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_8, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 258, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); - __pyx_t_3 = 0; - __Pyx_INCREF(__pyx_kp_u__8); - __pyx_t_6 += 1; - __Pyx_GIVEREF(__pyx_kp_u__8); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u__8); - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 258, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 258, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_payload, __pyx_t_3) < 0) __PYX_ERR(0, 254, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 253, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L15_resume_from_await:; - __pyx_t_10 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_12); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 253, __pyx_L9_error) - __pyx_t_3 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_3); - } else { - __pyx_t_3 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 253, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_invoice = __pyx_t_3; - __pyx_t_3 = 0; - - __pyx_t_5 = __Pyx_HasAttr(__pyx_cur_scope->__pyx_v_invoice, __pyx_n_u_bot_invoice_url); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(0, 261, __pyx_L9_error) - if (__pyx_t_5) { - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 262, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_3; - __pyx_t_3 = 0; - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 263, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_PAY); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 264, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_8) < 0) __PYX_ERR(0, 264, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_invoice, __pyx_n_s_bot_invoice_url); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 264, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_url, __pyx_t_8) < 0) __PYX_ERR(0, 264, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 264, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 266, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 267, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BACK); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_1) < 0) __PYX_ERR(0, 267, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 267, __pyx_L9_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_1}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 266, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 269, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_message); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_message); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_cur_scope->__pyx_v_message)) __PYX_ERR(0, 269, __pyx_L9_error); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 271, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 271, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 271, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 271, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 271, __pyx_L9_error) - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 271, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_13) < 0) __PYX_ERR(0, 271, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 272, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_13 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 272, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_13) < 0) __PYX_ERR(0, 271, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 269, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L17_resume_from_await:; - __pyx_t_10 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_12); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 269, __pyx_L9_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 269, __pyx_L9_error) - } - } - - goto __pyx_L16; - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 278, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_14 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_14, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_row); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 278, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_14 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 278, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_BACK); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 278, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_15); - if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_text, __pyx_t_15) < 0) __PYX_ERR(0, 278, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 278, __pyx_L9_error) - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 278, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_15}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 278, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 278, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 278, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - __pyx_t_8 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_8, __pyx_cur_scope->__pyx_v_message, __pyx_kp_u__9, __pyx_t_9}; - __pyx_t_13 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 275, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_13); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 6; - return __pyx_r; - __pyx_L18_resume_from_await:; - __pyx_t_10 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_12); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 275, __pyx_L9_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 275, __pyx_L9_error) - } - } - } - __pyx_L16:; - - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L14_try_end; - __pyx_L9_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_16 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_16) { - __Pyx_AddTraceback("handlers.payments.cryprobot_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_1, &__pyx_t_9) < 0) __PYX_ERR(0, 280, __pyx_L11_except_error) - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_INCREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_e = __pyx_t_1; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 281, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 281, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 281, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = __Pyx_PyUnicode_Concat(__pyx_kp_u__10, __pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 281, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_15))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_15); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_15, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_14}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_15, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 281, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 282, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_15); - - __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 285, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_18 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_18, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_17, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 285, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_row); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 285, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 285, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_18 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 285, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_n_s_BACK); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 285, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_19); - if (PyDict_SetItem(__pyx_t_18, __pyx_n_s_text, __pyx_t_19) < 0) __PYX_ERR(0, 285, __pyx_L24_error) - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (PyDict_SetItem(__pyx_t_18, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 285, __pyx_L24_error) - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 285, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __pyx_t_18 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_18, __pyx_t_19}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_17, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 285, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 285, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_14 = __Pyx_PyObject_FastCall(__pyx_t_17, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 285, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - __pyx_t_17 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_15))) { - __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_15); - if (likely(__pyx_t_17)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); - __Pyx_INCREF(__pyx_t_17); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_15, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_17, __pyx_cur_scope->__pyx_v_message, __pyx_kp_u__11, __pyx_t_14}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_15, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 282, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 7; - return __pyx_r; - __pyx_L26_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_13 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_13); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 282, __pyx_L24_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 282, __pyx_L24_error) - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L25; - } - __pyx_L24_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_25, &__pyx_t_26, &__pyx_t_27); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_22, &__pyx_t_23, &__pyx_t_24) < 0)) __Pyx_ErrFetch(&__pyx_t_22, &__pyx_t_23, &__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_26); - __Pyx_XGOTREF(__pyx_t_27); - __pyx_t_16 = __pyx_lineno; __pyx_t_20 = __pyx_clineno; __pyx_t_21 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_26, __pyx_t_27); - } - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_ErrRestore(__pyx_t_22, __pyx_t_23, __pyx_t_24); - __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; - __pyx_lineno = __pyx_t_16; __pyx_clineno = __pyx_t_20; __pyx_filename = __pyx_t_21; - goto __pyx_L11_except_error; - } - __pyx_L25:; - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L10_exception_handled; - } - goto __pyx_L11_except_error; - - __pyx_L11_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L1_error; - __pyx_L10_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L14_try_end:; - } - - goto __pyx_L4; - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_13 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_13, __pyx_cur_scope->__pyx_v_message, __pyx_kp_u__26, Py_None}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 288, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 8; - return __pyx_r; - __pyx_L31_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 288, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 288, __pyx_L1_error) - } - } - } - __pyx_L4:; - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_AddTraceback("process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot *__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot[8]; -static int __pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot[--__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot(PyObject *o) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_exists); - Py_CLEAR(p->__pyx_v_expected_hash); - Py_CLEAR(p->__pyx_v_i); - Py_CLEAR(p->__pyx_v_key_count); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_v_state); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot)))) { - __pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot[__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot++] = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_exists) { - e = (*v)(p->__pyx_v_exists, a); if (e) return e; - } - if (p->__pyx_v_i) { - e = (*v)(p->__pyx_v_i, a); if (e) return e; - } - if (p->__pyx_v_key_count) { - e = (*v)(p->__pyx_v_key_count, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot_spec = { - "handlers.payments.cryprobot_pay.__pyx_scope_struct__process_callback_pay_cryptobot", - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.cryprobot_pay.""__pyx_scope_struct__process_callback_pay_cryptobot", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection *__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection[8]; -static int __pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection[--__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection(PyObject *o) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_amount); - Py_CLEAR(p->__pyx_v_amount_str); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_data); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_invoice); - Py_CLEAR(p->__pyx_v_state); - Py_CLEAR(p->__pyx_v_usdt_amount); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - Py_CLEAR(p->__pyx_t_3); - Py_CLEAR(p->__pyx_t_4); - Py_CLEAR(p->__pyx_t_5); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection)))) { - __pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection[__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection++] = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection *)o; - if (p->__pyx_v_amount) { - e = (*v)(p->__pyx_v_amount, a); if (e) return e; - } - if (p->__pyx_v_amount_str) { - e = (*v)(p->__pyx_v_amount_str, a); if (e) return e; - } - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_data) { - e = (*v)(p->__pyx_v_data, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_invoice) { - e = (*v)(p->__pyx_v_invoice, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - if (p->__pyx_v_usdt_amount) { - e = (*v)(p->__pyx_v_usdt_amount, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - if (p->__pyx_t_3) { - e = (*v)(p->__pyx_t_3, a); if (e) return e; - } - if (p->__pyx_t_4) { - e = (*v)(p->__pyx_t_4, a); if (e) return e; - } - if (p->__pyx_t_5) { - e = (*v)(p->__pyx_t_5, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection_spec = { - "handlers.payments.cryprobot_pay.__pyx_scope_struct_1_process_amount_selection", - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.cryprobot_pay.""__pyx_scope_struct_1_process_amount_selection", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook *__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook[8]; -static int __pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook[--__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook(PyObject *o) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_data); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_request); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook)))) { - __pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook[__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook++] = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook *)o; - if (p->__pyx_v_data) { - e = (*v)(p->__pyx_v_data, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_request) { - e = (*v)(p->__pyx_v_request, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook_spec = { - "handlers.payments.cryprobot_pay.__pyx_scope_struct_2_cryptobot_webhook", - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.cryprobot_pay.""__pyx_scope_struct_2_cryptobot_webhook", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash *__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash[8]; -static int __pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash[--__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash(PyObject *o) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_body_text); - Py_CLEAR(p->__pyx_v_crypto_pay_signature); - Py_CLEAR(p->__pyx_v_request); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash)))) { - __pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash[__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash++] = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash *)o; - if (p->__pyx_v_body_text) { - e = (*v)(p->__pyx_v_body_text, a); if (e) return e; - } - if (p->__pyx_v_crypto_pay_signature) { - e = (*v)(p->__pyx_v_crypto_pay_signature, a); if (e) return e; - } - if (p->__pyx_v_request) { - e = (*v)(p->__pyx_v_request, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash_spec = { - "handlers.payments.cryprobot_pay.__pyx_scope_struct_3_check_hash", - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.cryprobot_pay.""__pyx_scope_struct_3_check_hash", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment *__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment[8]; -static int __pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment[--__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment(PyObject *o) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_amount); - Py_CLEAR(p->__pyx_v_amount_str); - Py_CLEAR(p->__pyx_v_custom_payload); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_payload); - Py_CLEAR(p->__pyx_v_user_id); - Py_CLEAR(p->__pyx_v_user_id_str); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment)))) { - __pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment[__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment++] = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment *)o; - if (p->__pyx_v_amount) { - e = (*v)(p->__pyx_v_amount, a); if (e) return e; - } - if (p->__pyx_v_amount_str) { - e = (*v)(p->__pyx_v_amount_str, a); if (e) return e; - } - if (p->__pyx_v_custom_payload) { - e = (*v)(p->__pyx_v_custom_payload, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_payload) { - e = (*v)(p->__pyx_v_payload, a); if (e) return e; - } - if (p->__pyx_v_user_id) { - e = (*v)(p->__pyx_v_user_id, a); if (e) return e; - } - if (p->__pyx_v_user_id_str) { - e = (*v)(p->__pyx_v_user_id_str, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment_spec = { - "handlers.payments.cryprobot_pay.__pyx_scope_struct_4_process_crypto_payment", - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.cryprobot_pay.""__pyx_scope_struct_4_process_crypto_payment", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount *__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount[8]; -static int __pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount[--__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount(PyObject *o) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_state); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount)))) { - __pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount[__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount++] = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount_spec = { - "handlers.payments.cryprobot_pay.__pyx_scope_struct_5_process_enter_custom_amount", - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.cryprobot_pay.""__pyx_scope_struct_5_process_enter_custom_amount", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input *__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input[8]; -static int __pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input[--__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input(PyObject *o) { - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_amount); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_invoice); - Py_CLEAR(p->__pyx_v_message); - Py_CLEAR(p->__pyx_v_state); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - Py_CLEAR(p->__pyx_t_3); - Py_CLEAR(p->__pyx_t_4); - Py_CLEAR(p->__pyx_t_5); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input)))) { - __pyx_freelist_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input[__pyx_freecount_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input++] = ((struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input *p = (struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input *)o; - if (p->__pyx_v_amount) { - e = (*v)(p->__pyx_v_amount, a); if (e) return e; - } - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_invoice) { - e = (*v)(p->__pyx_v_invoice, a); if (e) return e; - } - if (p->__pyx_v_message) { - e = (*v)(p->__pyx_v_message, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - if (p->__pyx_t_3) { - e = (*v)(p->__pyx_t_3, a); if (e) return e; - } - if (p->__pyx_t_4) { - e = (*v)(p->__pyx_t_4, a); if (e) return e; - } - if (p->__pyx_t_5) { - e = (*v)(p->__pyx_t_5, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input_spec = { - "handlers.payments.cryprobot_pay.__pyx_scope_struct_6_process_custom_amount_input", - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.cryprobot_pay.""__pyx_scope_struct_6_process_custom_amount_input", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif -/* #### Code section: pystring_table ### */ - -static int __Pyx_CreateStringTabAndInitStrings(void) { - __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_u_2f, __pyx_k_2f, sizeof(__pyx_k_2f), 0, 1, 0, 0}, - {&__pyx_n_s_AMOUNT_TEXT, __pyx_k_AMOUNT_TEXT, sizeof(__pyx_k_AMOUNT_TEXT), 0, 0, 1, 1}, - {&__pyx_n_s_AioCryptoPay, __pyx_k_AioCryptoPay, sizeof(__pyx_k_AioCryptoPay), 0, 0, 1, 1}, - {&__pyx_n_s_Any, __pyx_k_Any, sizeof(__pyx_k_Any), 0, 0, 1, 1}, - {&__pyx_n_s_BACK, __pyx_k_BACK, sizeof(__pyx_k_BACK), 0, 0, 1, 1}, - {&__pyx_n_u_CRYPTOSALE, __pyx_k_CRYPTOSALE, sizeof(__pyx_k_CRYPTOSALE), 0, 1, 0, 1}, - {&__pyx_n_s_CRYPTO_BOT_ENABLE, __pyx_k_CRYPTO_BOT_ENABLE, sizeof(__pyx_k_CRYPTO_BOT_ENABLE), 0, 0, 1, 1}, - {&__pyx_n_s_CRYPTO_BOT_TOKEN, __pyx_k_CRYPTO_BOT_TOKEN, sizeof(__pyx_k_CRYPTO_BOT_TOKEN), 0, 0, 1, 1}, - {&__pyx_kp_u_Crypto_Pay_Api_Signature, __pyx_k_Crypto_Pay_Api_Signature, sizeof(__pyx_k_Crypto_Pay_Api_Signature), 0, 1, 0, 0}, - {&__pyx_n_s_DEFAULT_PAYMENT_MESSAGE, __pyx_k_DEFAULT_PAYMENT_MESSAGE, sizeof(__pyx_k_DEFAULT_PAYMENT_MESSAGE), 0, 0, 1, 1}, - {&__pyx_n_s_ENTER_SUM, __pyx_k_ENTER_SUM, sizeof(__pyx_k_ENTER_SUM), 0, 0, 1, 1}, - {&__pyx_n_s_F, __pyx_k_F, sizeof(__pyx_k_F), 0, 0, 1, 1}, - {&__pyx_n_s_FSMContext, __pyx_k_FSMContext, sizeof(__pyx_k_FSMContext), 0, 0, 1, 1}, - {&__pyx_n_s_InlineKeyboardBuilder, __pyx_k_InlineKeyboardBuilder, sizeof(__pyx_k_InlineKeyboardBuilder), 0, 0, 1, 1}, - {&__pyx_n_s_InlineKeyboardButton, __pyx_k_InlineKeyboardButton, sizeof(__pyx_k_InlineKeyboardButton), 0, 0, 1, 1}, - {&__pyx_n_s_MAIN_NET, __pyx_k_MAIN_NET, sizeof(__pyx_k_MAIN_NET), 0, 0, 1, 1}, - {&__pyx_n_s_Networks, __pyx_k_Networks, sizeof(__pyx_k_Networks), 0, 0, 1, 1}, - {&__pyx_kp_u_No_value, __pyx_k_No_value, sizeof(__pyx_k_No_value), 0, 1, 0, 0}, - {&__pyx_n_s_PAY, __pyx_k_PAY, sizeof(__pyx_k_PAY), 0, 0, 1, 1}, - {&__pyx_n_s_PAYMENT_OPTIONS, __pyx_k_PAYMENT_OPTIONS, sizeof(__pyx_k_PAYMENT_OPTIONS), 0, 0, 1, 1}, - {&__pyx_n_s_PROJECTMANECONGIGURE, __pyx_k_PROJECTMANECONGIGURE, sizeof(__pyx_k_PROJECTMANECONGIGURE), 0, 0, 1, 1}, - {&__pyx_kp_u_Payment_succeeded_for_user_id, __pyx_k_Payment_succeeded_for_user_id, sizeof(__pyx_k_Payment_succeeded_for_user_id), 0, 1, 0, 0}, - {&__pyx_n_s_RUB_TO_USDT, __pyx_k_RUB_TO_USDT, sizeof(__pyx_k_RUB_TO_USDT), 0, 0, 1, 1}, - {&__pyx_n_s_ReplenishBalanceState, __pyx_k_ReplenishBalanceState, sizeof(__pyx_k_ReplenishBalanceState), 0, 0, 1, 1}, - {&__pyx_n_s_Response, __pyx_k_Response, sizeof(__pyx_k_Response), 0, 0, 1, 1}, - {&__pyx_n_s_Router, __pyx_k_Router, sizeof(__pyx_k_Router), 0, 0, 1, 1}, - {&__pyx_n_s_State, __pyx_k_State, sizeof(__pyx_k_State), 0, 0, 1, 1}, - {&__pyx_n_s_StatesGroup, __pyx_k_StatesGroup, sizeof(__pyx_k_StatesGroup), 0, 0, 1, 1}, - {&__pyx_n_u_USD, __pyx_k_USD, sizeof(__pyx_k_USD), 0, 1, 0, 1}, - {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_kp_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0}, - {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0}, - {&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0}, - {&__pyx_kp_u__14, __pyx_k__14, sizeof(__pyx_k__14), 0, 1, 0, 0}, - {&__pyx_kp_u__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0}, - {&__pyx_kp_u__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 1, 0, 0}, - {&__pyx_kp_u__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0, 0}, - {&__pyx_kp_u__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 1, 0, 0}, - {&__pyx_kp_u__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 1, 0, 0}, - {&__pyx_kp_u__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 1, 0, 0}, - {&__pyx_kp_u__25, __pyx_k__25, sizeof(__pyx_k__25), 0, 1, 0, 0}, - {&__pyx_kp_u__26, __pyx_k__26, sizeof(__pyx_k__26), 0, 1, 0, 0}, - {&__pyx_kp_u__27, __pyx_k__27, sizeof(__pyx_k__27), 0, 1, 0, 0}, - {&__pyx_n_s__36, __pyx_k__36, sizeof(__pyx_k__36), 0, 0, 1, 1}, - {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0}, - {&__pyx_kp_u__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0, 0}, - {&__pyx_kp_u__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 1, 0, 0}, - {&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0}, - {&__pyx_kp_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0}, - {&__pyx_n_s_add_connection, __pyx_k_add_connection, sizeof(__pyx_k_add_connection), 0, 0, 1, 1}, - {&__pyx_n_s_add_payment, __pyx_k_add_payment, sizeof(__pyx_k_add_payment), 0, 0, 1, 1}, - {&__pyx_n_s_aiocryptopay, __pyx_k_aiocryptopay, sizeof(__pyx_k_aiocryptopay), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram, __pyx_k_aiogram, sizeof(__pyx_k_aiogram), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_fsm_context, __pyx_k_aiogram_fsm_context, sizeof(__pyx_k_aiogram_fsm_context), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_fsm_state, __pyx_k_aiogram_fsm_state, sizeof(__pyx_k_aiogram_fsm_state), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_types, __pyx_k_aiogram_types, sizeof(__pyx_k_aiogram_types), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_utils_keyboard, __pyx_k_aiogram_utils_keyboard, sizeof(__pyx_k_aiogram_utils_keyboard), 0, 0, 1, 1}, - {&__pyx_n_s_aiohttp, __pyx_k_aiohttp, sizeof(__pyx_k_aiohttp), 0, 0, 1, 1}, - {&__pyx_n_s_amount, __pyx_k_amount, sizeof(__pyx_k_amount), 0, 0, 1, 1}, - {&__pyx_kp_u_amount_2, __pyx_k_amount_2, sizeof(__pyx_k_amount_2), 0, 1, 0, 0}, - {&__pyx_n_s_amount_str, __pyx_k_amount_str, sizeof(__pyx_k_amount_str), 0, 0, 1, 1}, - {&__pyx_n_s_answer, __pyx_k_answer, sizeof(__pyx_k_answer), 0, 0, 1, 1}, - {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, - {&__pyx_n_s_as_markup, __pyx_k_as_markup, sizeof(__pyx_k_as_markup), 0, 0, 1, 1}, - {&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1}, - {&__pyx_n_s_await, __pyx_k_await, sizeof(__pyx_k_await), 0, 0, 1, 1}, - {&__pyx_n_s_balance, __pyx_k_balance, sizeof(__pyx_k_balance), 0, 0, 1, 1}, - {&__pyx_n_s_body_text, __pyx_k_body_text, sizeof(__pyx_k_body_text), 0, 0, 1, 1}, - {&__pyx_n_s_bot_invoice_url, __pyx_k_bot_invoice_url, sizeof(__pyx_k_bot_invoice_url), 0, 0, 1, 1}, - {&__pyx_n_u_bot_invoice_url, __pyx_k_bot_invoice_url, sizeof(__pyx_k_bot_invoice_url), 0, 1, 0, 1}, - {&__pyx_n_s_builder, __pyx_k_builder, sizeof(__pyx_k_builder), 0, 0, 1, 1}, - {&__pyx_n_s_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 0, 1, 1}, - {&__pyx_n_u_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 1, 0, 1}, - {&__pyx_n_s_callback_query, __pyx_k_callback_query, sizeof(__pyx_k_callback_query), 0, 0, 1, 1}, - {&__pyx_n_s_chat, __pyx_k_chat, sizeof(__pyx_k_chat), 0, 0, 1, 1}, - {&__pyx_n_s_check_connection_exists, __pyx_k_check_connection_exists, sizeof(__pyx_k_check_connection_exists), 0, 0, 1, 1}, - {&__pyx_n_s_check_hash, __pyx_k_check_hash, sizeof(__pyx_k_check_hash), 0, 0, 1, 1}, - {&__pyx_n_s_check_signature, __pyx_k_check_signature, sizeof(__pyx_k_check_signature), 0, 0, 1, 1}, - {&__pyx_n_s_choosing_amount_crypto, __pyx_k_choosing_amount_crypto, sizeof(__pyx_k_choosing_amount_crypto), 0, 0, 1, 1}, - {&__pyx_n_s_class_getitem, __pyx_k_class_getitem, sizeof(__pyx_k_class_getitem), 0, 0, 1, 1}, - {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, - {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, - {&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1}, - {&__pyx_n_s_create_invoice, __pyx_k_create_invoice, sizeof(__pyx_k_create_invoice), 0, 0, 1, 1}, - {&__pyx_n_u_crypto, __pyx_k_crypto, sizeof(__pyx_k_crypto), 0, 1, 0, 1}, - {&__pyx_n_s_crypto_2, __pyx_k_crypto_2, sizeof(__pyx_k_crypto_2), 0, 0, 1, 1}, - {&__pyx_kp_u_crypto_amount, __pyx_k_crypto_amount, sizeof(__pyx_k_crypto_amount), 0, 1, 0, 0}, - {&__pyx_n_s_crypto_pay_signature, __pyx_k_crypto_pay_signature, sizeof(__pyx_k_crypto_pay_signature), 0, 0, 1, 1}, - {&__pyx_n_u_cryptobot, __pyx_k_cryptobot, sizeof(__pyx_k_cryptobot), 0, 1, 0, 1}, - {&__pyx_n_s_cryptobot_webhook, __pyx_k_cryptobot_webhook, sizeof(__pyx_k_cryptobot_webhook), 0, 0, 1, 1}, - {&__pyx_n_s_currency_type, __pyx_k_currency_type, sizeof(__pyx_k_currency_type), 0, 0, 1, 1}, - {&__pyx_n_s_custom_payload, __pyx_k_custom_payload, sizeof(__pyx_k_custom_payload), 0, 0, 1, 1}, - {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, - {&__pyx_n_s_database, __pyx_k_database, sizeof(__pyx_k_database), 0, 0, 1, 1}, - {&__pyx_n_s_debug, __pyx_k_debug, sizeof(__pyx_k_debug), 0, 0, 1, 1}, - {&__pyx_n_s_description, __pyx_k_description, sizeof(__pyx_k_description), 0, 0, 1, 1}, - {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, - {&__pyx_kp_u_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0, 0}, - {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1}, - {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1}, - {&__pyx_n_s_edit_or_send_message, __pyx_k_edit_or_send_message, sizeof(__pyx_k_edit_or_send_message), 0, 0, 1, 1}, - {&__pyx_kp_u_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0, 0}, - {&__pyx_n_u_enter_custom_amount_crypto, __pyx_k_enter_custom_amount_crypto, sizeof(__pyx_k_enter_custom_amount_crypto), 0, 1, 0, 1}, - {&__pyx_n_s_entering_custom_amount_crypto, __pyx_k_entering_custom_amount_crypto, sizeof(__pyx_k_entering_custom_amount_crypto), 0, 0, 1, 1}, - {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1}, - {&__pyx_n_s_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 0, 0, 1, 1}, - {&__pyx_n_s_expected_hash, __pyx_k_expected_hash, sizeof(__pyx_k_expected_hash), 0, 0, 1, 1}, - {&__pyx_n_s_fiat, __pyx_k_fiat, sizeof(__pyx_k_fiat), 0, 0, 1, 1}, - {&__pyx_n_u_fiat, __pyx_k_fiat, sizeof(__pyx_k_fiat), 0, 1, 0, 1}, - {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, - {&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0}, - {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1}, - {&__pyx_n_s_get_key_count, __pyx_k_get_key_count, sizeof(__pyx_k_get_key_count), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_buttons, __pyx_k_handlers_buttons, sizeof(__pyx_k_handlers_buttons), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_cryprobot_pay, __pyx_k_handlers_payments_cryprobot_pay, sizeof(__pyx_k_handlers_payments_cryprobot_pay), 0, 0, 1, 1}, - {&__pyx_kp_s_handlers_payments_cryprobot_pay_2, __pyx_k_handlers_payments_cryprobot_pay_2, sizeof(__pyx_k_handlers_payments_cryprobot_pay_2), 0, 0, 1, 0}, - {&__pyx_n_s_handlers_payments_gift, __pyx_k_handlers_payments_gift, sizeof(__pyx_k_handlers_payments_gift), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_utils, __pyx_k_handlers_payments_utils, sizeof(__pyx_k_handlers_payments_utils), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_texts, __pyx_k_handlers_texts, sizeof(__pyx_k_handlers_texts), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_utils, __pyx_k_handlers_utils, sizeof(__pyx_k_handlers_utils), 0, 0, 1, 1}, - {&__pyx_kp_u_hash_cryptobot, __pyx_k_hash_cryptobot, sizeof(__pyx_k_hash_cryptobot), 0, 1, 0, 0}, - {&__pyx_n_s_headers, __pyx_k_headers, sizeof(__pyx_k_headers), 0, 0, 1, 1}, - {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, - {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1}, - {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, - {&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1}, - {&__pyx_n_s_init_subclass, __pyx_k_init_subclass, sizeof(__pyx_k_init_subclass), 0, 0, 1, 1}, - {&__pyx_n_s_invoice, __pyx_k_invoice, sizeof(__pyx_k_invoice), 0, 0, 1, 1}, - {&__pyx_n_u_invoice_paid, __pyx_k_invoice_paid, sizeof(__pyx_k_invoice_paid), 0, 1, 0, 1}, - {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1}, - {&__pyx_n_s_isdigit, __pyx_k_isdigit, sizeof(__pyx_k_isdigit), 0, 0, 1, 1}, - {&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0}, - {&__pyx_n_s_json, __pyx_k_json, sizeof(__pyx_k_json), 0, 0, 1, 1}, - {&__pyx_n_s_key_count, __pyx_k_key_count, sizeof(__pyx_k_key_count), 0, 0, 1, 1}, - {&__pyx_n_s_logger, __pyx_k_logger, sizeof(__pyx_k_logger), 0, 0, 1, 1}, - {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, - {&__pyx_n_s_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 0, 1, 1}, - {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1}, - {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1}, - {&__pyx_n_s_mro_entries, __pyx_k_mro_entries, sizeof(__pyx_k_mro_entries), 0, 0, 1, 1}, - {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, - {&__pyx_n_s_network, __pyx_k_network, sizeof(__pyx_k_network), 0, 0, 1, 1}, - {&__pyx_n_u_paid, __pyx_k_paid, sizeof(__pyx_k_paid), 0, 1, 0, 1}, - {&__pyx_n_u_pay, __pyx_k_pay, sizeof(__pyx_k_pay), 0, 1, 0, 1}, - {&__pyx_n_u_pay_cryptobot, __pyx_k_pay_cryptobot, sizeof(__pyx_k_pay_cryptobot), 0, 1, 0, 1}, - {&__pyx_n_s_payload, __pyx_k_payload, sizeof(__pyx_k_payload), 0, 0, 1, 1}, - {&__pyx_n_u_payload, __pyx_k_payload, sizeof(__pyx_k_payload), 0, 1, 0, 1}, - {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1}, - {&__pyx_n_s_process_amount_selection, __pyx_k_process_amount_selection, sizeof(__pyx_k_process_amount_selection), 0, 0, 1, 1}, - {&__pyx_n_s_process_callback_pay_cryptobot, __pyx_k_process_callback_pay_cryptobot, sizeof(__pyx_k_process_callback_pay_cryptobot), 0, 0, 1, 1}, - {&__pyx_n_s_process_crypto_payment, __pyx_k_process_crypto_payment, sizeof(__pyx_k_process_crypto_payment), 0, 0, 1, 1}, - {&__pyx_n_s_process_custom_amount_input, __pyx_k_process_custom_amount_input, sizeof(__pyx_k_process_custom_amount_input), 0, 0, 1, 1}, - {&__pyx_n_s_process_enter_custom_amount, __pyx_k_process_enter_custom_amount, sizeof(__pyx_k_process_enter_custom_amount), 0, 0, 1, 1}, - {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1}, - {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, - {&__pyx_n_s_reply_markup, __pyx_k_reply_markup, sizeof(__pyx_k_reply_markup), 0, 0, 1, 1}, - {&__pyx_n_s_request, __pyx_k_request, sizeof(__pyx_k_request), 0, 0, 1, 1}, - {&__pyx_n_s_router, __pyx_k_router, sizeof(__pyx_k_router), 0, 0, 1, 1}, - {&__pyx_n_s_row, __pyx_k_row, sizeof(__pyx_k_row), 0, 0, 1, 1}, - {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1}, - {&__pyx_n_s_send_payment_success_notificatio, __pyx_k_send_payment_success_notificatio, sizeof(__pyx_k_send_payment_success_notificatio), 0, 0, 1, 1}, - {&__pyx_n_s_session, __pyx_k_session, sizeof(__pyx_k_session), 0, 0, 1, 1}, - {&__pyx_n_s_set_name, __pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 0, 1, 1}, - {&__pyx_n_s_set_state, __pyx_k_set_state, sizeof(__pyx_k_set_state), 0, 0, 1, 1}, - {&__pyx_kp_u_solonet_sup, __pyx_k_solonet_sup, sizeof(__pyx_k_solonet_sup), 0, 1, 0, 0}, - {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1}, - {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1}, - {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1}, - {&__pyx_n_s_status, __pyx_k_status, sizeof(__pyx_k_status), 0, 0, 1, 1}, - {&__pyx_n_u_status, __pyx_k_status, sizeof(__pyx_k_status), 0, 1, 0, 1}, - {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1}, - {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, - {&__pyx_n_s_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 0, 1, 1}, - {&__pyx_n_u_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 1, 0, 1}, - {&__pyx_n_s_tg_id, __pyx_k_tg_id, sizeof(__pyx_k_tg_id), 0, 0, 1, 1}, - {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1}, - {&__pyx_n_s_token, __pyx_k_token, sizeof(__pyx_k_token), 0, 0, 1, 1}, - {&__pyx_n_s_trial, __pyx_k_trial, sizeof(__pyx_k_trial), 0, 0, 1, 1}, - {&__pyx_n_s_types, __pyx_k_types, sizeof(__pyx_k_types), 0, 0, 1, 1}, - {&__pyx_kp_s_types_CallbackQuery, __pyx_k_types_CallbackQuery, sizeof(__pyx_k_types_CallbackQuery), 0, 0, 1, 0}, - {&__pyx_kp_s_types_Message, __pyx_k_types_Message, sizeof(__pyx_k_types_Message), 0, 0, 1, 0}, - {&__pyx_n_s_typing, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1}, - {&__pyx_n_s_update_balance, __pyx_k_update_balance, sizeof(__pyx_k_update_balance), 0, 0, 1, 1}, - {&__pyx_n_s_update_data, __pyx_k_update_data, sizeof(__pyx_k_update_data), 0, 0, 1, 1}, - {&__pyx_n_u_update_type, __pyx_k_update_type, sizeof(__pyx_k_update_type), 0, 1, 0, 1}, - {&__pyx_n_s_url, __pyx_k_url, sizeof(__pyx_k_url), 0, 0, 1, 1}, - {&__pyx_n_s_usdt_amount, __pyx_k_usdt_amount, sizeof(__pyx_k_usdt_amount), 0, 0, 1, 1}, - {&__pyx_n_s_user_id, __pyx_k_user_id, sizeof(__pyx_k_user_id), 0, 0, 1, 1}, - {&__pyx_kp_u_user_id_amount, __pyx_k_user_id_amount, sizeof(__pyx_k_user_id_amount), 0, 1, 0, 0}, - {&__pyx_n_s_user_id_str, __pyx_k_user_id_str, sizeof(__pyx_k_user_id_str), 0, 0, 1, 1}, - {&__pyx_n_s_waiting_for_payment_confirmation, __pyx_k_waiting_for_payment_confirmation, sizeof(__pyx_k_waiting_for_payment_confirmation), 0, 0, 1, 1}, - {&__pyx_n_s_warning, __pyx_k_warning, sizeof(__pyx_k_warning), 0, 0, 1, 1}, - {&__pyx_n_s_web, __pyx_k_web, sizeof(__pyx_k_web), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} - }; - return __Pyx_InitStrings(__pyx_string_tab); -} -/* #### Code section: cached_builtins ### */ -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 56, __pyx_L1_error) - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 116, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: cached_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - __pyx_tuple__5 = PyTuple_Pack(2, __pyx_kp_u__4, __pyx_int_1); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__5); - __Pyx_GIVEREF(__pyx_tuple__5); - - __pyx_tuple__17 = PyTuple_Pack(2, __pyx_kp_u_Crypto_Pay_Api_Signature, __pyx_kp_u_No_value); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__17); - __Pyx_GIVEREF(__pyx_tuple__17); - - __pyx_tuple__28 = PyTuple_Pack(8, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session, __pyx_n_s_expected_hash, __pyx_n_s_builder, __pyx_n_s_i, __pyx_n_s_key_count, __pyx_n_s_exists); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__28); - __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_cryprobot_pay_2, __pyx_n_s_process_callback_pay_cryptobot, 41, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 41, __pyx_L1_error) - - __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_u_crypto_amount); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__29); - __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_tuple__30 = PyTuple_Pack(9, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_data, __pyx_n_s_amount_str, __pyx_n_s_amount, __pyx_n_s_usdt_amount, __pyx_n_s_invoice, __pyx_n_s_builder, __pyx_n_s_e); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__30); - __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_cryprobot_pay_2, __pyx_n_s_process_amount_selection, 97, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 97, __pyx_L1_error) - - __pyx_tuple__31 = PyTuple_Pack(3, __pyx_n_s_request, __pyx_n_s_data, __pyx_n_s_e); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__31); - __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_cryprobot_pay_2, __pyx_n_s_cryptobot_webhook, 172, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 172, __pyx_L1_error) - - __pyx_tuple__32 = PyTuple_Pack(3, __pyx_n_s_request, __pyx_n_s_body_text, __pyx_n_s_crypto_pay_signature); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__32); - __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_cryprobot_pay_2, __pyx_n_s_check_hash, 195, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 195, __pyx_L1_error) - - __pyx_tuple__33 = PyTuple_Pack(7, __pyx_n_s_payload, __pyx_n_s_custom_payload, __pyx_n_s_user_id_str, __pyx_n_s_amount_str, __pyx_n_s_user_id, __pyx_n_s_amount, __pyx_n_s_e); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__33); - __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_cryprobot_pay_2, __pyx_n_s_process_crypto_payment, 205, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 205, __pyx_L1_error) - - __pyx_tuple__34 = PyTuple_Pack(3, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__34); - __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__20 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_cryprobot_pay_2, __pyx_n_s_process_enter_custom_amount, 222, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__20)) __PYX_ERR(0, 222, __pyx_L1_error) - - __pyx_tuple__35 = PyTuple_Pack(6, __pyx_n_s_message, __pyx_n_s_state, __pyx_n_s_amount, __pyx_n_s_invoice, __pyx_n_s_builder, __pyx_n_s_e); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__35); - __Pyx_GIVEREF(__pyx_tuple__35); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_cryprobot_pay_2, __pyx_n_s_process_custom_amount_input, 237, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} -/* #### Code section: init_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) { - if (__Pyx_CreateStringTabAndInitStrings() < 0) __PYX_ERR(0, 1, __pyx_L1_error); - __pyx_float_0_0 = PyFloat_FromDouble(0.0); if (unlikely(!__pyx_float_0_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_200 = PyInt_FromLong(200); if (unlikely(!__pyx_int_200)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_400 = PyInt_FromLong(400); if (unlikely(!__pyx_int_400)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_500 = PyInt_FromLong(500); if (unlikely(!__pyx_int_500)) __PYX_ERR(0, 1, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: init_globals ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { - return 0; -} -/* #### Code section: init_module ### */ - -static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ - -static int __Pyx_modinit_global_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_init_code(void) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); - /*--- Type init code ---*/ - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot)) __PYX_ERR(0, 41, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot_spec, __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot) < 0) __PYX_ERR(0, 41, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot = &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot) < 0) __PYX_ERR(0, 41, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot->tp_dictoffset && __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct__process_callback_pay_cryptobot->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection)) __PYX_ERR(0, 97, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection_spec, __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 97, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection = &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 97, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection->tp_dictoffset && __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_1_process_amount_selection->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook)) __PYX_ERR(0, 172, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook_spec, __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook) < 0) __PYX_ERR(0, 172, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook = &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook) < 0) __PYX_ERR(0, 172, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook->tp_dictoffset && __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_2_cryptobot_webhook->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash)) __PYX_ERR(0, 195, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash_spec, __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash) < 0) __PYX_ERR(0, 195, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash = &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash) < 0) __PYX_ERR(0, 195, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash->tp_dictoffset && __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_3_check_hash->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment)) __PYX_ERR(0, 205, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment_spec, __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment) < 0) __PYX_ERR(0, 205, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment = &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment) < 0) __PYX_ERR(0, 205, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment->tp_dictoffset && __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_4_process_crypto_payment->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount)) __PYX_ERR(0, 222, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount_spec, __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount) < 0) __PYX_ERR(0, 222, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount = &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount) < 0) __PYX_ERR(0, 222, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount->tp_dictoffset && __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_5_process_enter_custom_amount->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input)) __PYX_ERR(0, 237, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input_spec, __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input) < 0) __PYX_ERR(0, 237, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input = &__pyx_type_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input) < 0) __PYX_ERR(0, 237, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input->tp_dictoffset && __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_13cryprobot_pay___pyx_scope_struct_6_process_custom_amount_input->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_type_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); - /*--- Type import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - - -#if PY_MAJOR_VERSION >= 3 -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec_cryprobot_pay(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec_cryprobot_pay}, - {0, NULL} -}; -#endif - -#ifdef __cplusplus -namespace { - struct PyModuleDef __pyx_moduledef = - #else - static struct PyModuleDef __pyx_moduledef = - #endif - { - PyModuleDef_HEAD_INIT, - "cryprobot_pay", - 0, /* m_doc */ - #if CYTHON_PEP489_MULTI_PHASE_INIT - 0, /* m_size */ - #elif CYTHON_USE_MODULE_STATE - sizeof(__pyx_mstate), /* m_size */ - #else - -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - #if CYTHON_USE_MODULE_STATE - __pyx_m_traverse, /* m_traverse */ - __pyx_m_clear, /* m_clear */ - NULL /* m_free */ - #else - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ - #endif - }; - #ifdef __cplusplus -} /* anonymous namespace */ -#endif -#endif - -#ifndef CYTHON_NO_PYINIT_EXPORT -#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#elif PY_MAJOR_VERSION < 3 -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" void -#else -#define __Pyx_PyMODINIT_FUNC void -#endif -#else -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * -#else -#define __Pyx_PyMODINIT_FUNC PyObject * -#endif -#endif - - -#if PY_MAJOR_VERSION < 3 -__Pyx_PyMODINIT_FUNC initcryprobot_pay(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC initcryprobot_pay(void) -#else -__Pyx_PyMODINIT_FUNC PyInit_cryprobot_pay(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit_cryprobot_pay(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - #if PY_VERSION_HEX >= 0x030700A1 - static PY_INT64_T main_interpreter_id = -1; - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return (unlikely(current_id == -1)) ? -1 : 0; - } else if (unlikely(main_interpreter_id != current_id)) - #else - static PyInterpreterState *main_interpreter = NULL; - PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; - if (!main_interpreter) { - main_interpreter = current_interpreter; - } else if (unlikely(main_interpreter != current_interpreter)) - #endif - { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *module, const char* from_name, const char* to_name, int allow_none) -#else -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) -#endif -{ - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { -#if CYTHON_COMPILING_IN_LIMITED_API - result = PyModule_AddObject(module, to_name, value); -#else - result = PyDict_SetItemString(moddict, to_name, value); -#endif - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - CYTHON_UNUSED_VAR(def); - if (__Pyx_check_single_interpreter()) - return NULL; - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; -#if CYTHON_COMPILING_IN_LIMITED_API - moddict = module; -#else - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; -#endif - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec_cryprobot_pay(PyObject *__pyx_pyinit_module) -#endif -#endif -{ - int stringtab_initialized = 0; - #if CYTHON_USE_MODULE_STATE - int pystate_addmodule_run = 0; - #endif - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - unsigned int __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module 'cryprobot_pay' has already been imported. Re-initialisation is not supported."); - return -1; - } - #elif PY_MAJOR_VERSION >= 3 - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_m = __pyx_pyinit_module; - Py_INCREF(__pyx_m); - #else - #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4("cryprobot_pay", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #elif CYTHON_USE_MODULE_STATE - __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) - { - int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef); - __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "cryprobot_pay" pseudovariable */ - if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - pystate_addmodule_run = 1; - } - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #endif - CYTHON_UNUSED_VAR(__pyx_t_1); - __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_d); - __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if CYTHON_REFNANNY -__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); -if (!__Pyx_RefNanny) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); -} -#endif - __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_cryprobot_pay(void)", 0); - if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pxy_PyFrame_Initialize_Offsets - __Pxy_PyFrame_Initialize_Offsets(); - #endif - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pyx_CyFunction_USED - if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_FusedFunction_USED - if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Coroutine_USED - if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Generator_USED - if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_StopAsyncIteration_USED - if (__pyx_StopAsyncIteration_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ - #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS - PyEval_InitThreads(); - #endif - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - stringtab_initialized = 1; - if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) - if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - if (__pyx_module_is_main_handlers__payments__cryprobot_pay) { - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - } - #if PY_MAJOR_VERSION >= 3 - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "handlers.payments.cryprobot_pay")) { - if (unlikely((PyDict_SetItemString(modules, "handlers.payments.cryprobot_pay", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #endif - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_global_init_code(); - (void)__Pyx_modinit_variable_export_code(); - (void)__Pyx_modinit_function_export_code(); - if (unlikely((__Pyx_modinit_type_init_code() < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_type_import_code(); - (void)__Pyx_modinit_variable_import_code(); - (void)__Pyx_modinit_function_import_code(); - /*--- Execution code ---*/ - #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_Any); - __Pyx_GIVEREF(__pyx_n_s_Any); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Any)) __PYX_ERR(0, 1, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Any); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Any, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_AioCryptoPay); - __Pyx_GIVEREF(__pyx_n_s_AioCryptoPay); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_AioCryptoPay)) __PYX_ERR(0, 3, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_Networks); - __Pyx_GIVEREF(__pyx_n_s_Networks); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_Networks)) __PYX_ERR(0, 3, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiocryptopay, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_AioCryptoPay); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_AioCryptoPay, __pyx_t_3) < 0) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Networks); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Networks, __pyx_t_3) < 0) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_F); - __Pyx_GIVEREF(__pyx_n_s_F); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_F)) __PYX_ERR(0, 4, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_Router); - __Pyx_GIVEREF(__pyx_n_s_Router); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_Router)) __PYX_ERR(0, 4, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_types); - __Pyx_GIVEREF(__pyx_n_s_types); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_types)) __PYX_ERR(0, 4, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_F, __pyx_t_2) < 0) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Router, __pyx_t_2) < 0) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_types, __pyx_t_2) < 0) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_FSMContext); - __Pyx_GIVEREF(__pyx_n_s_FSMContext); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_FSMContext)) __PYX_ERR(0, 5, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_fsm_context, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_FSMContext); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_FSMContext, __pyx_t_3) < 0) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_State); - __Pyx_GIVEREF(__pyx_n_s_State); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_State)) __PYX_ERR(0, 6, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_StatesGroup); - __Pyx_GIVEREF(__pyx_n_s_StatesGroup); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_StatesGroup)) __PYX_ERR(0, 6, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_fsm_state, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_State); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_State, __pyx_t_2) < 0) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_StatesGroup, __pyx_t_2) < 0) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardButton); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardButton); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_InlineKeyboardButton)) __PYX_ERR(0, 7, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_types, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardButton, __pyx_t_3) < 0) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardBuilder); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardBuilder); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_InlineKeyboardBuilder)) __PYX_ERR(0, 8, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_utils_keyboard, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardBuilder, __pyx_t_2) < 0) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_web); - __Pyx_GIVEREF(__pyx_n_s_web); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_web)) __PYX_ERR(0, 9, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiohttp, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_web); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_web, __pyx_t_3) < 0) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_CRYPTO_BOT_ENABLE); - __Pyx_GIVEREF(__pyx_n_s_CRYPTO_BOT_ENABLE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_CRYPTO_BOT_ENABLE)) __PYX_ERR(0, 11, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_CRYPTO_BOT_TOKEN); - __Pyx_GIVEREF(__pyx_n_s_CRYPTO_BOT_TOKEN); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_CRYPTO_BOT_TOKEN)) __PYX_ERR(0, 11, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_RUB_TO_USDT); - __Pyx_GIVEREF(__pyx_n_s_RUB_TO_USDT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_RUB_TO_USDT)) __PYX_ERR(0, 11, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_config, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_CRYPTO_BOT_ENABLE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_CRYPTO_BOT_ENABLE, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_CRYPTO_BOT_TOKEN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_CRYPTO_BOT_TOKEN, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_RUB_TO_USDT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_RUB_TO_USDT, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_add_connection); - __Pyx_GIVEREF(__pyx_n_s_add_connection); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_add_connection)) __PYX_ERR(0, 13, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_add_payment); - __Pyx_GIVEREF(__pyx_n_s_add_payment); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_add_payment)) __PYX_ERR(0, 13, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_check_connection_exists); - __Pyx_GIVEREF(__pyx_n_s_check_connection_exists); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_check_connection_exists)) __PYX_ERR(0, 13, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_get_key_count); - __Pyx_GIVEREF(__pyx_n_s_get_key_count); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_get_key_count)) __PYX_ERR(0, 13, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_update_balance); - __Pyx_GIVEREF(__pyx_n_s_update_balance); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 4, __pyx_n_s_update_balance)) __PYX_ERR(0, 13, __pyx_L1_error); - - __pyx_t_2 = __Pyx_Import(__pyx_n_s_database, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_connection, __pyx_t_3) < 0) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_payment, __pyx_t_3) < 0) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_connection_exists, __pyx_t_3) < 0) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_key_count, __pyx_t_3) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_update_balance, __pyx_t_3) < 0) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_PROJECTMANECONGIGURE); - __Pyx_GIVEREF(__pyx_n_s_PROJECTMANECONGIGURE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PROJECTMANECONGIGURE)) __PYX_ERR(0, 19, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_payments_gift, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PROJECTMANECONGIGURE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PROJECTMANECONGIGURE, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_send_payment_success_notificatio); - __Pyx_GIVEREF(__pyx_n_s_send_payment_success_notificatio); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_send_payment_success_notificatio)) __PYX_ERR(0, 20, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_payments_utils, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_send_payment_success_notificatio, __pyx_t_3) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_PAYMENT_OPTIONS); - __Pyx_GIVEREF(__pyx_n_s_PAYMENT_OPTIONS); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PAYMENT_OPTIONS)) __PYX_ERR(0, 21, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_AMOUNT_TEXT); - __Pyx_GIVEREF(__pyx_n_s_AMOUNT_TEXT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_AMOUNT_TEXT)) __PYX_ERR(0, 21, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - __Pyx_GIVEREF(__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE)) __PYX_ERR(0, 21, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_ENTER_SUM); - __Pyx_GIVEREF(__pyx_n_s_ENTER_SUM); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_ENTER_SUM)) __PYX_ERR(0, 21, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_texts, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAYMENT_OPTIONS, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_AMOUNT_TEXT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMOUNT_TEXT, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_ENTER_SUM); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ENTER_SUM, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_logger); - __Pyx_GIVEREF(__pyx_n_s_logger); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_logger)) __PYX_ERR(0, 22, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_logger, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_3) < 0) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_BACK); - __Pyx_GIVEREF(__pyx_n_s_BACK); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_BACK)) __PYX_ERR(0, 23, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_PAY); - __Pyx_GIVEREF(__pyx_n_s_PAY); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_PAY)) __PYX_ERR(0, 23, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_buttons, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_BACK); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_BACK, __pyx_t_2) < 0) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PAY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAY, __pyx_t_2) < 0) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_edit_or_send_message); - __Pyx_GIVEREF(__pyx_n_s_edit_or_send_message); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_edit_or_send_message)) __PYX_ERR(0, 25, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_utils, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 25, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_edit_or_send_message, __pyx_t_3) < 0) __PYX_ERR(0, 25, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 27, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_router, __pyx_t_3) < 0) __PYX_ERR(0, 27, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CRYPTO_BOT_ENABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_4) { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_AioCryptoPay); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CRYPTO_BOT_TOKEN); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_token, __pyx_t_5) < 0) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Networks); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_MAIN_NET); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_network, __pyx_t_6) < 0) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_crypto_2, __pyx_t_6) < 0) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6)) __PYX_ERR(0, 35, __pyx_L1_error); - __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PEP560_update_bases(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_6, __pyx_n_s_ReplenishBalanceState, __pyx_n_s_ReplenishBalanceState, (PyObject *) NULL, __pyx_n_s_handlers_payments_cryprobot_pay, (PyObject *) NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_6 != __pyx_t_2) { - if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_2) < 0))) __PYX_ERR(0, 35, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_choosing_amount_crypto, __pyx_t_2) < 0) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_waiting_for_payment_confirmation, __pyx_t_2) < 0) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_entering_custom_amount_crypto, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_ReplenishBalanceState, __pyx_t_6, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ReplenishBalanceState, __pyx_t_2) < 0) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_router); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_F); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_n_u_pay_cryptobot, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 41, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 41, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 41, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13cryprobot_pay_1process_callback_pay_cryptobot, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_callback_pay_cryptobot, NULL, __pyx_n_s_handlers_payments_cryprobot_pay, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_callback_pay_cryptobot, __pyx_t_6) < 0) __PYX_ERR(0, 41, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_router); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_F); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_startswith); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 97, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 97, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13cryprobot_pay_4process_amount_selection, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_amount_selection, NULL, __pyx_n_s_handlers_payments_cryprobot_pay, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_amount_selection, __pyx_t_5) < 0) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13cryprobot_pay_7cryptobot_webhook, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_cryptobot_webhook, NULL, __pyx_n_s_handlers_payments_cryprobot_pay, __pyx_d, ((PyObject *)__pyx_codeobj__12)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 172, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_cryptobot_webhook, __pyx_t_5) < 0) __PYX_ERR(0, 172, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13cryprobot_pay_10check_hash, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_check_hash, NULL, __pyx_n_s_handlers_payments_cryprobot_pay, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_hash, __pyx_t_5) < 0) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13cryprobot_pay_13process_crypto_payment, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_crypto_payment, NULL, __pyx_n_s_handlers_payments_cryprobot_pay, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_crypto_payment, __pyx_t_5) < 0) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_router); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_F); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_data); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_n_u_enter_custom_amount_crypto, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 222, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 222, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13cryprobot_pay_16process_enter_custom_amount, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_enter_custom_amount, NULL, __pyx_n_s_handlers_payments_cryprobot_pay, __pyx_d, ((PyObject *)__pyx_codeobj__20)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_enter_custom_amount, __pyx_t_5) < 0) __PYX_ERR(0, 222, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_router); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_entering_custom_amount_crypto); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_message, __pyx_kp_s_types_Message) < 0) __PYX_ERR(0, 237, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 237, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_13cryprobot_pay_19process_custom_amount_input, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_custom_amount_input, NULL, __pyx_n_s_handlers_payments_cryprobot_pay, __pyx_d, ((PyObject *)__pyx_codeobj__21)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_custom_amount_input, __pyx_t_6) < 0) __PYX_ERR(0, 237, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_6) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - if (__pyx_m) { - if (__pyx_d && stringtab_initialized) { - __Pyx_AddTraceback("init handlers.payments.cryprobot_pay", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - #if !CYTHON_USE_MODULE_STATE - Py_CLEAR(__pyx_m); - #else - Py_DECREF(__pyx_m); - if (pystate_addmodule_run) { - PyObject *tp, *value, *tb; - PyErr_Fetch(&tp, &value, &tb); - PyState_RemoveModule(&__pyx_moduledef); - PyErr_Restore(tp, value, tb); - } - #endif - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init handlers.payments.cryprobot_pay"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #elif PY_MAJOR_VERSION >= 3 - return __pyx_m; - #else - return; - #endif -} -/* #### Code section: cleanup_globals ### */ -/* #### Code section: cleanup_module ### */ -/* #### Code section: main_method ### */ -/* #### Code section: utility_code_pragmas ### */ -#ifdef _MSC_VER -#pragma warning( push ) -/* Warning 4127: conditional expression is constant - * Cython uses constant conditional expressions to allow in inline functions to be optimized at - * compile-time, so this warning is not useful - */ -#pragma warning( disable : 4127 ) -#endif - - - -/* #### Code section: utility_code_def ### */ - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* PyErrExceptionMatches */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i= 0x030C00A6 - PyObject *current_exception = tstate->current_exception; - if (unlikely(!current_exception)) return 0; - exc_type = (PyObject*) Py_TYPE(current_exception); - if (exc_type == err) return 1; -#else - exc_type = tstate->curexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; -#endif - #if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(exc_type); - #endif - if (unlikely(PyTuple_Check(err))) { - result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - } else { - result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err); - } - #if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(exc_type); - #endif - return result; -} -#endif - -/* PyErrFetchRestore */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject *tmp_value; - assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value))); - if (value) { - #if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb)) - #endif - PyException_SetTraceback(value, tb); - } - tmp_value = tstate->current_exception; - tstate->current_exception = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#endif -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject* exc_value; - exc_value = tstate->current_exception; - tstate->current_exception = 0; - *value = exc_value; - *type = NULL; - *tb = NULL; - if (exc_value) { - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - #if CYTHON_COMPILING_IN_CPYTHON - *tb = ((PyBaseExceptionObject*) exc_value)->traceback; - Py_XINCREF(*tb); - #else - *tb = PyException_GetTraceback(exc_value); - #endif - } -#else - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#endif -} -#endif - -/* PyObjectGetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_getattr)) - return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); -#endif - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* PyObjectGetAttrStrNoError */ -#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1 -static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) - __Pyx_PyErr_Clear(); -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { - PyObject *result; -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - (void) PyObject_GetOptionalAttr(obj, attr_name, &result); - return result; -#else -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { - return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); - } -#endif - result = __Pyx_PyObject_GetAttrStr(obj, attr_name); - if (unlikely(!result)) { - __Pyx_PyObject_GetAttrStr_ClearAttributeError(); - } - return result; -#endif -} - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_b, name); - if (unlikely(!result) && !PyErr_Occurred()) { - PyErr_Format(PyExc_NameError, -#if PY_MAJOR_VERSION >= 3 - "name '%U' is not defined", name); -#else - "name '%.200s' is not defined", PyString_AS_STRING(name)); -#endif - } - return result; -} - -/* TupleAndListFromArray */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) { - PyObject *v; - Py_ssize_t i; - for (i = 0; i < length; i++) { - v = dest[i] = src[i]; - Py_INCREF(v); - } -} -static CYTHON_INLINE PyObject * -__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - Py_INCREF(__pyx_empty_tuple); - return __pyx_empty_tuple; - } - res = PyTuple_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n); - return res; -} -static CYTHON_INLINE PyObject * -__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - return PyList_New(0); - } - res = PyList_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n); - return res; -} -#endif - -/* BytesEquals */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else - if (s1 == s2) { - return (equals == Py_EQ); - } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { - const char *ps1, *ps2; - Py_ssize_t length = PyBytes_GET_SIZE(s1); - if (length != PyBytes_GET_SIZE(s2)) - return (equals == Py_NE); - ps1 = PyBytes_AS_STRING(s1); - ps2 = PyBytes_AS_STRING(s2); - if (ps1[0] != ps2[0]) { - return (equals == Py_NE); - } else if (length == 1) { - return (equals == Py_EQ); - } else { - int result; -#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) - Py_hash_t hash1, hash2; - hash1 = ((PyBytesObject*)s1)->ob_shash; - hash2 = ((PyBytesObject*)s2)->ob_shash; - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - return (equals == Py_NE); - } -#endif - result = memcmp(ps1, ps2, (size_t)length); - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { - return (equals == Py_NE); - } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { - return (equals == Py_NE); - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -#endif -} - -/* UnicodeEquals */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else -#if PY_MAJOR_VERSION < 3 - PyObject* owned_ref = NULL; -#endif - int s1_is_unicode, s2_is_unicode; - if (s1 == s2) { - goto return_eq; - } - s1_is_unicode = PyUnicode_CheckExact(s1); - s2_is_unicode = PyUnicode_CheckExact(s2); -#if PY_MAJOR_VERSION < 3 - if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { - owned_ref = PyUnicode_FromObject(s2); - if (unlikely(!owned_ref)) - return -1; - s2 = owned_ref; - s2_is_unicode = 1; - } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { - owned_ref = PyUnicode_FromObject(s1); - if (unlikely(!owned_ref)) - return -1; - s1 = owned_ref; - s1_is_unicode = 1; - } else if (((!s2_is_unicode) & (!s1_is_unicode))) { - return __Pyx_PyBytes_Equals(s1, s2, equals); - } -#endif - if (s1_is_unicode & s2_is_unicode) { - Py_ssize_t length; - int kind; - void *data1, *data2; - if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) - return -1; - length = __Pyx_PyUnicode_GET_LENGTH(s1); - if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { - goto return_ne; - } -#if CYTHON_USE_UNICODE_INTERNALS - { - Py_hash_t hash1, hash2; - #if CYTHON_PEP393_ENABLED - hash1 = ((PyASCIIObject*)s1)->hash; - hash2 = ((PyASCIIObject*)s2)->hash; - #else - hash1 = ((PyUnicodeObject*)s1)->hash; - hash2 = ((PyUnicodeObject*)s2)->hash; - #endif - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - goto return_ne; - } - } -#endif - kind = __Pyx_PyUnicode_KIND(s1); - if (kind != __Pyx_PyUnicode_KIND(s2)) { - goto return_ne; - } - data1 = __Pyx_PyUnicode_DATA(s1); - data2 = __Pyx_PyUnicode_DATA(s2); - if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { - goto return_ne; - } else if (length == 1) { - goto return_eq; - } else { - int result = memcmp(data1, data2, (size_t)(length * kind)); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & s2_is_unicode) { - goto return_ne; - } else if ((s2 == Py_None) & s1_is_unicode) { - goto return_ne; - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -return_eq: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ); -return_ne: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_NE); -#endif -} - -/* fastcall */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s) -{ - Py_ssize_t i, n = PyTuple_GET_SIZE(kwnames); - for (i = 0; i < n; i++) - { - if (s == PyTuple_GET_ITEM(kwnames, i)) return kwvalues[i]; - } - for (i = 0; i < n; i++) - { - int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ); - if (unlikely(eq != 0)) { - if (unlikely(eq < 0)) return NULL; - return kwvalues[i]; - } - } - return NULL; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 -CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) { - Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames); - PyObject *dict; - dict = PyDict_New(); - if (unlikely(!dict)) - return NULL; - for (i=0; i= 3 - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, - PyString_AsString(kw_name)); - #endif -} - -/* ParseKeywords */ -static int __Pyx_ParseOptionalKeywords( - PyObject *kwds, - PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject *key = 0, *value = 0; - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; - int kwds_is_tuple = CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds)); - while (1) { - Py_XDECREF(key); key = NULL; - Py_XDECREF(value); value = NULL; - if (kwds_is_tuple) { - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(kwds); -#else - size = PyTuple_Size(kwds); - if (size < 0) goto bad; -#endif - if (pos >= size) break; -#if CYTHON_AVOID_BORROWED_REFS - key = __Pyx_PySequence_ITEM(kwds, pos); - if (!key) goto bad; -#elif CYTHON_ASSUME_SAFE_MACROS - key = PyTuple_GET_ITEM(kwds, pos); -#else - key = PyTuple_GetItem(kwds, pos); - if (!key) goto bad; -#endif - value = kwvalues[pos]; - pos++; - } - else - { - if (!PyDict_Next(kwds, &pos, &key, &value)) break; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - } - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(value); - Py_DECREF(key); -#endif - key = NULL; - value = NULL; - continue; - } -#if !CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - Py_INCREF(value); - name = first_kw_arg; - #if PY_MAJOR_VERSION < 3 - if (likely(PyString_Check(key))) { - while (*name) { - if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) - && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - if ((**argname == key) || ( - (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) - && _PyString_Eq(**argname, key))) { - goto arg_passed_twice; - } - argname++; - } - } - } else - #endif - if (likely(PyUnicode_Check(key))) { - while (*name) { - int cmp = ( - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**name, key) - ); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - int cmp = (**argname == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**argname, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - argname++; - } - } - } else - goto invalid_keyword_type; - if (kwds2) { - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else { - goto invalid_keyword; - } - } - Py_XDECREF(key); - Py_XDECREF(value); - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -invalid_keyword: - #if PY_MAJOR_VERSION < 3 - PyErr_Format(PyExc_TypeError, - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - PyErr_Format(PyExc_TypeError, - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif -bad: - Py_XDECREF(key); - Py_XDECREF(value); - return -1; -} - -/* PyDictVersioning */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ -#if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if !CYTHON_AVOID_BORROWED_REFS -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000 - result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } else if (unlikely(PyErr_Occurred())) { - return NULL; - } -#elif CYTHON_COMPILING_IN_LIMITED_API - if (unlikely(!__pyx_m)) { - return NULL; - } - result = PyObject_GetAttr(__pyx_m, name); - if (likely(result)) { - return result; - } -#else - result = PyDict_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } -#endif -#else - result = PyObject_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyErr_Clear(); -#endif - return __Pyx_GetBuiltinName(name); -} - -/* PyFunctionFastCall */ -#if CYTHON_FAST_PYCALL && !CYTHON_VECTORCALL -static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, - PyObject *globals) { - PyFrameObject *f; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject **fastlocals; - Py_ssize_t i; - PyObject *result; - assert(globals != NULL); - /* XXX Perhaps we should create a specialized - PyFrame_New() that doesn't take locals, but does - take builtins without sanity checking them. - */ - assert(tstate != NULL); - f = PyFrame_New(tstate, co, globals, NULL); - if (f == NULL) { - return NULL; - } - fastlocals = __Pyx_PyFrame_GetLocalsplus(f); - for (i = 0; i < na; i++) { - Py_INCREF(*args); - fastlocals[i] = *args++; - } - result = PyEval_EvalFrameEx(f,0); - ++tstate->recursion_depth; - Py_DECREF(f); - --tstate->recursion_depth; - return result; -} -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { - PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); - PyObject *globals = PyFunction_GET_GLOBALS(func); - PyObject *argdefs = PyFunction_GET_DEFAULTS(func); - PyObject *closure; -#if PY_MAJOR_VERSION >= 3 - PyObject *kwdefs; -#endif - PyObject *kwtuple, **k; - PyObject **d; - Py_ssize_t nd; - Py_ssize_t nk; - PyObject *result; - assert(kwargs == NULL || PyDict_Check(kwargs)); - nk = kwargs ? PyDict_Size(kwargs) : 0; - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) { - return NULL; - } - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) { - return NULL; - } - #endif - if ( -#if PY_MAJOR_VERSION >= 3 - co->co_kwonlyargcount == 0 && -#endif - likely(kwargs == NULL || nk == 0) && - co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { - if (argdefs == NULL && co->co_argcount == nargs) { - result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); - goto done; - } - else if (nargs == 0 && argdefs != NULL - && co->co_argcount == Py_SIZE(argdefs)) { - /* function called with no arguments, but all parameters have - a default value: use default values as arguments .*/ - args = &PyTuple_GET_ITEM(argdefs, 0); - result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); - goto done; - } - } - if (kwargs != NULL) { - Py_ssize_t pos, i; - kwtuple = PyTuple_New(2 * nk); - if (kwtuple == NULL) { - result = NULL; - goto done; - } - k = &PyTuple_GET_ITEM(kwtuple, 0); - pos = i = 0; - while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { - Py_INCREF(k[i]); - Py_INCREF(k[i+1]); - i += 2; - } - nk = i / 2; - } - else { - kwtuple = NULL; - k = NULL; - } - closure = PyFunction_GET_CLOSURE(func); -#if PY_MAJOR_VERSION >= 3 - kwdefs = PyFunction_GET_KW_DEFAULTS(func); -#endif - if (argdefs != NULL) { - d = &PyTuple_GET_ITEM(argdefs, 0); - nd = Py_SIZE(argdefs); - } - else { - d = NULL; - nd = 0; - } -#if PY_MAJOR_VERSION >= 3 - result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, kwdefs, closure); -#else - result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, closure); -#endif - Py_XDECREF(kwtuple); -done: - Py_LeaveRecursiveCall(); - return result; -} -#endif - -/* PyObjectCall */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = Py_TYPE(func)->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallMethO */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func); - self = __Pyx_CyOrPyCFunction_GET_SELF(func); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectFastCall */ -#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API -static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) { - PyObject *argstuple; - PyObject *result = 0; - size_t i; - argstuple = PyTuple_New((Py_ssize_t)nargs); - if (unlikely(!argstuple)) return NULL; - for (i = 0; i < nargs; i++) { - Py_INCREF(args[i]); - if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad; - } - result = __Pyx_PyObject_Call(func, argstuple, kwargs); - bad: - Py_DECREF(argstuple); - return result; -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) { - Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs); -#if CYTHON_COMPILING_IN_CPYTHON - if (nargs == 0 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS)) - return __Pyx_PyObject_CallMethO(func, NULL); - } - else if (nargs == 1 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O)) - return __Pyx_PyObject_CallMethO(func, args[0]); - } -#endif - #if PY_VERSION_HEX < 0x030800B1 - #if CYTHON_FAST_PYCCALL - if (PyCFunction_Check(func)) { - if (kwargs) { - return _PyCFunction_FastCallDict(func, args, nargs, kwargs); - } else { - return _PyCFunction_FastCallKeywords(func, args, nargs, NULL); - } - } - #if PY_VERSION_HEX >= 0x030700A1 - if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) { - return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL); - } - #endif - #endif - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs); - } - #endif - #endif - if (kwargs == NULL) { - #if CYTHON_VECTORCALL - #if PY_VERSION_HEX < 0x03090000 - vectorcallfunc f = _PyVectorcall_Function(func); - #else - vectorcallfunc f = PyVectorcall_Function(func); - #endif - if (f) { - return f(func, args, (size_t)nargs, NULL); - } - #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL - if (__Pyx_CyFunction_CheckExact(func)) { - __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func); - if (f) return f(func, args, (size_t)nargs, NULL); - } - #endif - } - if (nargs == 0) { - return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs); - } - #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API - return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs); - #else - return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs); - #endif -} - -/* FixUpExtensionType */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) { -#if PY_VERSION_HEX > 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - CYTHON_UNUSED_VAR(spec); - CYTHON_UNUSED_VAR(type); -#else - const PyType_Slot *slot = spec->slots; - while (slot && slot->slot && slot->slot != Py_tp_members) - slot++; - if (slot && slot->slot == Py_tp_members) { - int changed = 0; -#if !(PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON) - const -#endif - PyMemberDef *memb = (PyMemberDef*) slot->pfunc; - while (memb && memb->name) { - if (memb->name[0] == '_' && memb->name[1] == '_') { -#if PY_VERSION_HEX < 0x030900b1 - if (strcmp(memb->name, "__weaklistoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_weaklistoffset = memb->offset; - changed = 1; - } - else if (strcmp(memb->name, "__dictoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_dictoffset = memb->offset; - changed = 1; - } -#if CYTHON_METH_FASTCALL - else if (strcmp(memb->name, "__vectorcalloffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); -#if PY_VERSION_HEX >= 0x030800b4 - type->tp_vectorcall_offset = memb->offset; -#else - type->tp_print = (printfunc) memb->offset; -#endif - changed = 1; - } -#endif -#else - if ((0)); -#endif -#if PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON - else if (strcmp(memb->name, "__module__") == 0) { - PyObject *descr; - assert(memb->type == T_OBJECT); - assert(memb->flags == 0 || memb->flags == READONLY); - descr = PyDescr_NewMember(type, memb); - if (unlikely(!descr)) - return -1; - if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) { - Py_DECREF(descr); - return -1; - } - Py_DECREF(descr); - changed = 1; - } -#endif - } - memb++; - } - if (changed) - PyType_Modified(type); - } -#endif - return 0; -} -#endif - -/* FetchSharedCythonModule */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void) { - return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME); -} - -/* FetchCommonType */ -static int __Pyx_VerifyCachedType(PyObject *cached_type, - const char *name, - Py_ssize_t basicsize, - Py_ssize_t expected_basicsize) { - if (!PyType_Check(cached_type)) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s is not a type object", name); - return -1; - } - if (basicsize != expected_basicsize) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s has the wrong size, try recompiling", - name); - return -1; - } - return 0; -} -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { - PyObject* abi_module; - const char* object_name; - PyTypeObject *cached_type = NULL; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - object_name = strrchr(type->tp_name, '.'); - object_name = object_name ? object_name+1 : type->tp_name; - cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - if (__Pyx_VerifyCachedType( - (PyObject *)cached_type, - object_name, - cached_type->tp_basicsize, - type->tp_basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - if (PyType_Ready(type) < 0) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0) - goto bad; - Py_INCREF(type); - cached_type = type; -done: - Py_DECREF(abi_module); - return cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#else -static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) { - PyObject *abi_module, *cached_type = NULL; - const char* object_name = strrchr(spec->name, '.'); - object_name = object_name ? object_name+1 : spec->name; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - cached_type = PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - Py_ssize_t basicsize; -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *py_basicsize; - py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__"); - if (unlikely(!py_basicsize)) goto bad; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = 0; - if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; -#else - basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1; -#endif - if (__Pyx_VerifyCachedType( - cached_type, - object_name, - basicsize, - spec->basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - CYTHON_UNUSED_VAR(module); - cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases); - if (unlikely(!cached_type)) goto bad; - if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad; -done: - Py_DECREF(abi_module); - assert(cached_type == NULL || PyType_Check(cached_type)); - return (PyTypeObject *) cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#endif - -/* RaiseException */ -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - __Pyx_PyThreadState_declare - CYTHON_UNUSED_VAR(cause); - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_PyThreadState_assign - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; -} -#else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { - #if PY_VERSION_HEX >= 0x030C00A6 - PyException_SetTraceback(value, tb); - #elif CYTHON_FAST_THREAD_STATE - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} -#endif - -/* GetTopmostException */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - PyObject *exc_value = exc_info->exc_value; - if (exc_value == NULL || exc_value == Py_None) { - *value = NULL; - *type = NULL; - *tb = NULL; - } else { - *value = exc_value; - Py_INCREF(*value); - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - *tb = PyException_GetTraceback(exc_value); - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #endif -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - PyObject *tmp_value = exc_info->exc_value; - exc_info->exc_value = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); - #else - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); - #endif -} -#endif - -/* SwapException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_value = exc_info->exc_value; - exc_info->exc_value = *value; - if (tmp_value == NULL || tmp_value == Py_None) { - Py_XDECREF(tmp_value); - tmp_value = NULL; - tmp_type = NULL; - tmp_tb = NULL; - } else { - tmp_type = (PyObject*) Py_TYPE(tmp_value); - Py_INCREF(tmp_type); - #if CYTHON_COMPILING_IN_CPYTHON - tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback; - Py_XINCREF(tmp_tb); - #else - tmp_tb = PyException_GetTraceback(tmp_value); - #endif - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = *type; - exc_info->exc_value = *value; - exc_info->exc_traceback = *tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = *type; - tstate->exc_value = *value; - tstate->exc_traceback = *tb; - #endif - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); - PyErr_SetExcInfo(*type, *value, *tb); - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#endif - -/* PyObjectCall2Args */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args[3] = {NULL, arg1, arg2}; - return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectCallOneArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *args[2] = {NULL, arg}; - return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectGetMethod */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { - PyObject *attr; -#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP - __Pyx_TypeName type_name; - PyTypeObject *tp = Py_TYPE(obj); - PyObject *descr; - descrgetfunc f = NULL; - PyObject **dictptr, *dict; - int meth_found = 0; - assert (*method == NULL); - if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; - } - if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { - return 0; - } - descr = _PyType_Lookup(tp, name); - if (likely(descr != NULL)) { - Py_INCREF(descr); -#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR - if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR)) -#elif PY_MAJOR_VERSION >= 3 - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type))) - #endif -#else - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr))) - #endif -#endif - { - meth_found = 1; - } else { - f = Py_TYPE(descr)->tp_descr_get; - if (f != NULL && PyDescr_IsData(descr)) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - } - } - dictptr = _PyObject_GetDictPtr(obj); - if (dictptr != NULL && (dict = *dictptr) != NULL) { - Py_INCREF(dict); - attr = __Pyx_PyDict_GetItemStr(dict, name); - if (attr != NULL) { - Py_INCREF(attr); - Py_DECREF(dict); - Py_XDECREF(descr); - goto try_unpack; - } - Py_DECREF(dict); - } - if (meth_found) { - *method = descr; - return 1; - } - if (f != NULL) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - if (likely(descr != NULL)) { - *method = descr; - return 0; - } - type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return 0; -#else - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; -#endif -try_unpack: -#if CYTHON_UNPACK_METHODS - if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { - PyObject *function = PyMethod_GET_FUNCTION(attr); - Py_INCREF(function); - Py_DECREF(attr); - *method = function; - return 1; - } -#endif - *method = attr; - return 0; -} - -/* PyObjectCallMethod1 */ -#if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2) -static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { - PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); - Py_DECREF(method); - return result; -} -#endif -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { -#if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2 - PyObject *args[2] = {obj, arg}; - (void) __Pyx_PyObject_GetMethod; - (void) __Pyx_PyObject_CallOneArg; - (void) __Pyx_PyObject_Call2Args; - return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); -#else - PyObject *method = NULL, *result; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_Call2Args(method, obj, arg); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) return NULL; - return __Pyx__PyObject_CallMethod1(method, arg); -#endif -} - -/* PyObjectCallNoArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { - PyObject *arg[2] = {NULL, NULL}; - return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* CoroutineBase */ -#include -#if PY_VERSION_HEX >= 0x030b00a6 && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom) -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) { - PyObject *et, *ev, *tb; - PyObject *value = NULL; - CYTHON_UNUSED_VAR(__pyx_tstate); - __Pyx_ErrFetch(&et, &ev, &tb); - if (!et) { - Py_XDECREF(tb); - Py_XDECREF(ev); - Py_INCREF(Py_None); - *pvalue = Py_None; - return 0; - } - if (likely(et == PyExc_StopIteration)) { - if (!ev) { - Py_INCREF(Py_None); - value = Py_None; - } -#if PY_VERSION_HEX >= 0x030300A0 - else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) { - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); - } -#endif - else if (unlikely(PyTuple_Check(ev))) { - if (PyTuple_GET_SIZE(ev) >= 1) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - value = PyTuple_GET_ITEM(ev, 0); - Py_INCREF(value); -#else - value = PySequence_ITEM(ev, 0); -#endif - } else { - Py_INCREF(Py_None); - value = Py_None; - } - Py_DECREF(ev); - } - else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) { - value = ev; - } - if (likely(value)) { - Py_XDECREF(tb); - Py_DECREF(et); - *pvalue = value; - return 0; - } - } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - PyErr_NormalizeException(&et, &ev, &tb); - if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - Py_XDECREF(tb); - Py_DECREF(et); -#if PY_VERSION_HEX >= 0x030300A0 - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); -#else - { - PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args); - Py_DECREF(ev); - if (likely(args)) { - value = PySequence_GetItem(args, 0); - Py_DECREF(args); - } - if (unlikely(!value)) { - __Pyx_ErrRestore(NULL, NULL, NULL); - Py_INCREF(Py_None); - value = Py_None; - } - } -#endif - *pvalue = value; - return 0; -} -static CYTHON_INLINE -void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_CLEAR(exc_state->exc_value); -#else - PyObject *t, *v, *tb; - t = exc_state->exc_type; - v = exc_state->exc_value; - tb = exc_state->exc_traceback; - exc_state->exc_type = NULL; - exc_state->exc_value = NULL; - exc_state->exc_traceback = NULL; - Py_XDECREF(t); - Py_XDECREF(v); - Py_XDECREF(tb); -#endif -} -#define __Pyx_Coroutine_AlreadyRunningError(gen) (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check((PyObject*)gen)) { - msg = "coroutine already executing"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) { - msg = "async generator already executing"; - #endif - } else { - msg = "generator already executing"; - } - PyErr_SetString(PyExc_ValueError, msg); -} -#define __Pyx_Coroutine_NotStartedError(gen) (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_NotStartedError(PyObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(gen)) { - msg = "can't send non-None value to a just-started coroutine"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(gen)) { - msg = "can't send non-None value to a just-started async generator"; - #endif - } else { - msg = "can't send non-None value to a just-started generator"; - } - PyErr_SetString(PyExc_TypeError, msg); -} -#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing) (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) { - CYTHON_MAYBE_UNUSED_VAR(gen); - CYTHON_MAYBE_UNUSED_VAR(closing); - #ifdef __Pyx_Coroutine_USED - if (!closing && __Pyx_Coroutine_Check(gen)) { - PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine"); - } else - #endif - if (value) { - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration); - else - #endif - PyErr_SetNone(PyExc_StopIteration); - } -} -static -PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) { - __Pyx_PyThreadState_declare - PyThreadState *tstate; - __Pyx_ExcInfoStruct *exc_state; - PyObject *retval; - assert(!self->is_running); - if (unlikely(self->resume_label == 0)) { - if (unlikely(value && value != Py_None)) { - return __Pyx_Coroutine_NotStartedError((PyObject*)self); - } - } - if (unlikely(self->resume_label == -1)) { - return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing); - } -#if CYTHON_FAST_THREAD_STATE - __Pyx_PyThreadState_assign - tstate = __pyx_tstate; -#else - tstate = __Pyx_PyThreadState_Current; -#endif - exc_state = &self->gi_exc_state; - if (exc_state->exc_value) { - #if CYTHON_COMPILING_IN_PYPY - #else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #elif PY_VERSION_HEX >= 0x030B00a4 - exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback; - #else - exc_tb = exc_state->exc_traceback; - #endif - if (exc_tb) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - assert(f->f_back == NULL); - #if PY_VERSION_HEX >= 0x030B00A1 - f->f_back = PyThreadState_GetFrame(tstate); - #else - Py_XINCREF(tstate->frame); - f->f_back = tstate->frame; - #endif - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - Py_DECREF(exc_tb); - #endif - } - #endif - } -#if CYTHON_USE_EXC_INFO_STACK - exc_state->previous_item = tstate->exc_info; - tstate->exc_info = exc_state; -#else - if (exc_state->exc_type) { - __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } else { - __Pyx_Coroutine_ExceptionClear(exc_state); - __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } -#endif - self->is_running = 1; - retval = self->body(self, tstate, value); - self->is_running = 0; -#if CYTHON_USE_EXC_INFO_STACK - exc_state = &self->gi_exc_state; - tstate->exc_info = exc_state->previous_item; - exc_state->previous_item = NULL; - __Pyx_Coroutine_ResetFrameBackpointer(exc_state); -#endif - return retval; -} -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) { -#if CYTHON_COMPILING_IN_PYPY - CYTHON_UNUSED_VAR(exc_state); -#else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 - if (!exc_state->exc_value) return; - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #else - exc_tb = exc_state->exc_traceback; - #endif - if (likely(exc_tb)) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - Py_CLEAR(f->f_back); - #if PY_VERSION_HEX >= 0x030B00a4 - Py_DECREF(exc_tb); - #endif - } -#endif -} -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_MethodReturn(PyObject* gen, PyObject *retval) { - CYTHON_MAYBE_UNUSED_VAR(gen); - if (unlikely(!retval)) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (!__Pyx_PyErr_Occurred()) { - PyObject *exc = PyExc_StopIteration; - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - exc = __Pyx_PyExc_StopAsyncIteration; - #endif - __Pyx_PyErr_SetNone(exc); - } - } - return retval; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) -static CYTHON_INLINE -PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) { -#if PY_VERSION_HEX <= 0x030A00A1 - return _PyGen_Send(gen, arg); -#else - PyObject *result; - if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) { - if (PyAsyncGen_CheckExact(gen)) { - assert(result == Py_None); - PyErr_SetNone(PyExc_StopAsyncIteration); - } - else if (result == Py_None) { - PyErr_SetNone(PyExc_StopIteration); - } - else { -#if PY_VERSION_HEX < 0x030d00A1 - _PyGen_SetStopIterationValue(result); -#else - if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) { - PyErr_SetObject(PyExc_StopIteration, result); - } else { - PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result); - if (likely(exc != NULL)) { - PyErr_SetObject(PyExc_StopIteration, exc); - Py_DECREF(exc); - } - } -#endif - } - Py_DECREF(result); - result = NULL; - } - return result; -#endif -} -#endif -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) { - PyObject *ret; - PyObject *val = NULL; - __Pyx_Coroutine_Undelegate(gen); - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val); - ret = __Pyx_Coroutine_SendEx(gen, val, 0); - Py_XDECREF(val); - return ret; -} -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) { - PyObject *retval; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - ret = __Pyx_async_gen_asend_send(yf, value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyCoro_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - { - if (value == Py_None) - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - else - ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value); - } - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - retval = __Pyx_Coroutine_FinishDelegation(gen); - } else { - retval = __Pyx_Coroutine_SendEx(gen, value, 0); - } - return __Pyx_Coroutine_MethodReturn(self, retval); -} -static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) { - PyObject *retval = NULL; - int err = 0; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - if (__Pyx_CoroutineAwait_CheckExact(yf)) { - retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - retval = __Pyx_async_gen_asend_close(yf, NULL); - } else - if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) { - retval = __Pyx_async_gen_athrow_close(yf, NULL); - } else - #endif - { - PyObject *meth; - gen->is_running = 1; - meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_close); - if (unlikely(!meth)) { - if (unlikely(PyErr_Occurred())) { - PyErr_WriteUnraisable(yf); - } - } else { - retval = __Pyx_PyObject_CallNoArg(meth); - Py_DECREF(meth); - if (unlikely(!retval)) - err = -1; - } - gen->is_running = 0; - } - Py_XDECREF(retval); - return err; -} -static PyObject *__Pyx_Generator_Next(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Generator_Next(yf); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, Py_None); - } else - #endif - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - return __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_SendEx(gen, Py_None, 0); -} -static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self); -} -static PyObject *__Pyx_Coroutine_Close(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *retval, *raised_exception; - PyObject *yf = gen->yieldfrom; - int err = 0; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - Py_INCREF(yf); - err = __Pyx_Coroutine_CloseIter(gen, yf); - __Pyx_Coroutine_Undelegate(gen); - Py_DECREF(yf); - } - if (err == 0) - PyErr_SetNone(PyExc_GeneratorExit); - retval = __Pyx_Coroutine_SendEx(gen, NULL, 1); - if (unlikely(retval)) { - const char *msg; - Py_DECREF(retval); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(self)) { - msg = "coroutine ignored GeneratorExit"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(self)) { -#if PY_VERSION_HEX < 0x03060000 - msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)"; -#else - msg = "async generator ignored GeneratorExit"; -#endif - #endif - } else { - msg = "generator ignored GeneratorExit"; - } - PyErr_SetString(PyExc_RuntimeError, msg); - return NULL; - } - raised_exception = PyErr_Occurred(); - if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) { - if (raised_exception) PyErr_Clear(); - Py_INCREF(Py_None); - return Py_None; - } - return NULL; -} -static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb, - PyObject *args, int close_on_genexit) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - Py_INCREF(yf); - if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) { - int err = __Pyx_Coroutine_CloseIter(gen, yf); - Py_DECREF(yf); - __Pyx_Coroutine_Undelegate(gen); - if (err < 0) - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); - goto throw_here; - } - gen->is_running = 1; - if (0 - #ifdef __Pyx_Generator_USED - || __Pyx_Generator_CheckExact(yf) - #endif - #ifdef __Pyx_Coroutine_USED - || __Pyx_Coroutine_Check(yf) - #endif - ) { - ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit); - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_CoroutineAwait_CheckExact(yf)) { - ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit); - #endif - } else { - PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_throw); - if (unlikely(!meth)) { - Py_DECREF(yf); - if (unlikely(PyErr_Occurred())) { - gen->is_running = 0; - return NULL; - } - __Pyx_Coroutine_Undelegate(gen); - gen->is_running = 0; - goto throw_here; - } - if (likely(args)) { - ret = __Pyx_PyObject_Call(meth, args, NULL); - } else { - PyObject *cargs[4] = {NULL, typ, val, tb}; - ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); - } - Py_DECREF(meth); - } - gen->is_running = 0; - Py_DECREF(yf); - if (!ret) { - ret = __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_MethodReturn(self, ret); - } -throw_here: - __Pyx_Raise(typ, val, tb, NULL); - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); -} -static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) { - PyObject *typ; - PyObject *val = NULL; - PyObject *tb = NULL; - if (unlikely(!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb))) - return NULL; - return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1); -} -static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_VISIT(exc_state->exc_value); -#else - Py_VISIT(exc_state->exc_type); - Py_VISIT(exc_state->exc_value); - Py_VISIT(exc_state->exc_traceback); -#endif - return 0; -} -static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) { - Py_VISIT(gen->closure); - Py_VISIT(gen->classobj); - Py_VISIT(gen->yieldfrom); - return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg); -} -static int __Pyx_Coroutine_clear(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - Py_CLEAR(gen->closure); - Py_CLEAR(gen->classobj); - Py_CLEAR(gen->yieldfrom); - __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer); - } -#endif - Py_CLEAR(gen->gi_code); - Py_CLEAR(gen->gi_frame); - Py_CLEAR(gen->gi_name); - Py_CLEAR(gen->gi_qualname); - Py_CLEAR(gen->gi_modulename); - return 0; -} -static void __Pyx_Coroutine_dealloc(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject_GC_UnTrack(gen); - if (gen->gi_weakreflist != NULL) - PyObject_ClearWeakRefs(self); - if (gen->resume_label >= 0) { - PyObject_GC_Track(self); -#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE - if (unlikely(PyObject_CallFinalizerFromDealloc(self))) -#else - Py_TYPE(gen)->tp_del(self); - if (unlikely(Py_REFCNT(self) > 0)) -#endif - { - return; - } - PyObject_GC_UnTrack(self); - } -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - /* We have to handle this case for asynchronous generators - right here, because this code has to be between UNTRACK - and GC_Del. */ - Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer); - } -#endif - __Pyx_Coroutine_clear(self); - __Pyx_PyHeapTypeObject_GC_Del(gen); -} -static void __Pyx_Coroutine_del(PyObject *self) { - PyObject *error_type, *error_value, *error_traceback; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - __Pyx_PyThreadState_declare - if (gen->resume_label < 0) { - return; - } -#if !CYTHON_USE_TP_FINALIZE - assert(self->ob_refcnt == 0); - __Pyx_SET_REFCNT(self, 1); -#endif - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&error_type, &error_value, &error_traceback); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self; - PyObject *finalizer = agen->ag_finalizer; - if (finalizer && !agen->ag_closed) { - PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self); - if (unlikely(!res)) { - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); - return; - } - } -#endif - if (unlikely(gen->resume_label == 0 && !error_value)) { -#ifdef __Pyx_Coroutine_USED -#ifdef __Pyx_Generator_USED - if (!__Pyx_Generator_CheckExact(self)) -#endif - { - PyObject_GC_UnTrack(self); -#if PY_MAJOR_VERSION >= 3 || defined(PyErr_WarnFormat) - if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0)) - PyErr_WriteUnraisable(self); -#else - {PyObject *msg; - char *cmsg; - #if CYTHON_COMPILING_IN_PYPY - msg = NULL; - cmsg = (char*) "coroutine was never awaited"; - #else - char *cname; - PyObject *qualname; - qualname = gen->gi_qualname; - cname = PyString_AS_STRING(qualname); - msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname); - if (unlikely(!msg)) { - PyErr_Clear(); - cmsg = (char*) "coroutine was never awaited"; - } else { - cmsg = PyString_AS_STRING(msg); - } - #endif - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0)) - PyErr_WriteUnraisable(self); - Py_XDECREF(msg);} -#endif - PyObject_GC_Track(self); - } -#endif - } else { - PyObject *res = __Pyx_Coroutine_Close(self); - if (unlikely(!res)) { - if (PyErr_Occurred()) - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); -#if !CYTHON_USE_TP_FINALIZE - assert(Py_REFCNT(self) > 0); - if (likely(--self->ob_refcnt == 0)) { - return; - } - { - Py_ssize_t refcnt = Py_REFCNT(self); - _Py_NewReference(self); - __Pyx_SET_REFCNT(self, refcnt); - } -#if CYTHON_COMPILING_IN_CPYTHON - assert(PyType_IS_GC(Py_TYPE(self)) && - _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED); - _Py_DEC_REFTOTAL; -#endif -#ifdef COUNT_ALLOCS - --Py_TYPE(self)->tp_frees; - --Py_TYPE(self)->tp_allocs; -#endif -#endif -} -static PyObject * -__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_name; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_name, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_qualname; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_qualname, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context) -{ - PyObject *frame = self->gi_frame; - CYTHON_UNUSED_VAR(context); - if (!frame) { - if (unlikely(!self->gi_code)) { - Py_RETURN_NONE; - } - frame = (PyObject *) PyFrame_New( - PyThreadState_Get(), /*PyThreadState *tstate,*/ - (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (unlikely(!frame)) - return NULL; - self->gi_frame = frame; - } - Py_INCREF(frame); - return frame; -} -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type); - if (unlikely(!gen)) - return NULL; - return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name); -} -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - gen->body = body; - gen->closure = closure; - Py_XINCREF(closure); - gen->is_running = 0; - gen->resume_label = 0; - gen->classobj = NULL; - gen->yieldfrom = NULL; - #if PY_VERSION_HEX >= 0x030B00a4 - gen->gi_exc_state.exc_value = NULL; - #else - gen->gi_exc_state.exc_type = NULL; - gen->gi_exc_state.exc_value = NULL; - gen->gi_exc_state.exc_traceback = NULL; - #endif -#if CYTHON_USE_EXC_INFO_STACK - gen->gi_exc_state.previous_item = NULL; -#endif - gen->gi_weakreflist = NULL; - Py_XINCREF(qualname); - gen->gi_qualname = qualname; - Py_XINCREF(name); - gen->gi_name = name; - Py_XINCREF(module_name); - gen->gi_modulename = module_name; - Py_XINCREF(code); - gen->gi_code = code; - gen->gi_frame = NULL; - PyObject_GC_Track(gen); - return gen; -} - -/* PyObject_GenericGetAttrNoDict */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { - __Pyx_TypeName type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, attr_name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(attr_name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { - PyObject *descr; - PyTypeObject *tp = Py_TYPE(obj); - if (unlikely(!PyString_Check(attr_name))) { - return PyObject_GenericGetAttr(obj, attr_name); - } - assert(!tp->tp_dictoffset); - descr = _PyType_Lookup(tp, attr_name); - if (unlikely(!descr)) { - return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); - } - Py_INCREF(descr); - #if PY_MAJOR_VERSION < 3 - if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) - #endif - { - descrgetfunc f = Py_TYPE(descr)->tp_descr_get; - if (unlikely(f)) { - PyObject *res = f(descr, obj, (PyObject *)tp); - Py_DECREF(descr); - return res; - } - } - return descr; -} -#endif - -/* PatchModuleWithCoroutine */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - int result; - PyObject *globals, *result_obj; - globals = PyDict_New(); if (unlikely(!globals)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_coroutine_type", - #ifdef __Pyx_Coroutine_USED - (PyObject*)__pyx_CoroutineType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_generator_type", - #ifdef __Pyx_Generator_USED - (PyObject*)__pyx_GeneratorType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore; - result_obj = PyRun_String(py_code, Py_file_input, globals, globals); - if (unlikely(!result_obj)) goto ignore; - Py_DECREF(result_obj); - Py_DECREF(globals); - return module; -ignore: - Py_XDECREF(globals); - PyErr_WriteUnraisable(module); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) { - Py_DECREF(module); - module = NULL; - } -#else - py_code++; -#endif - return module; -} - -/* PatchGeneratorABC */ -#ifndef CYTHON_REGISTER_ABCS -#define CYTHON_REGISTER_ABCS 1 -#endif -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) -static PyObject* __Pyx_patch_abc_module(PyObject *module); -static PyObject* __Pyx_patch_abc_module(PyObject *module) { - module = __Pyx_Coroutine_patch_module( - module, "" -"if _cython_generator_type is not None:\n" -" try: Generator = _module.Generator\n" -" except AttributeError: pass\n" -" else: Generator.register(_cython_generator_type)\n" -"if _cython_coroutine_type is not None:\n" -" try: Coroutine = _module.Coroutine\n" -" except AttributeError: pass\n" -" else: Coroutine.register(_cython_coroutine_type)\n" - ); - return module; -} -#endif -static int __Pyx_patch_abc(void) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - static int abc_patched = 0; - if (CYTHON_REGISTER_ABCS && !abc_patched) { - PyObject *module; - module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections"); - if (unlikely(!module)) { - PyErr_WriteUnraisable(NULL); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, - ((PY_MAJOR_VERSION >= 3) ? - "Cython module failed to register with collections.abc module" : - "Cython module failed to register with collections module"), 1) < 0)) { - return -1; - } - } else { - module = __Pyx_patch_abc_module(module); - abc_patched = 1; - if (unlikely(!module)) - return -1; - Py_DECREF(module); - } - module = PyImport_ImportModule("backports_abc"); - if (module) { - module = __Pyx_patch_abc_module(module); - Py_XDECREF(module); - } - if (!module) { - PyErr_Clear(); - } - } -#else - if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL); -#endif - return 0; -} - -/* Coroutine */ -static void __Pyx_CoroutineAwait_dealloc(PyObject *self) { - PyObject_GC_UnTrack(self); - Py_CLEAR(((__pyx_CoroutineAwaitObject*)self)->coroutine); - __Pyx_PyHeapTypeObject_GC_Del(self); -} -static int __Pyx_CoroutineAwait_traverse(__pyx_CoroutineAwaitObject *self, visitproc visit, void *arg) { - Py_VISIT(self->coroutine); - return 0; -} -static int __Pyx_CoroutineAwait_clear(__pyx_CoroutineAwaitObject *self) { - Py_CLEAR(self->coroutine); - return 0; -} -static PyObject *__Pyx_CoroutineAwait_Next(__pyx_CoroutineAwaitObject *self) { - return __Pyx_Generator_Next(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_Send(__pyx_CoroutineAwaitObject *self, PyObject *value) { - return __Pyx_Coroutine_Send(self->coroutine, value); -} -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args) { - return __Pyx_Coroutine_Throw(self->coroutine, args); -} -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_self(PyObject *self) { - Py_INCREF(self); - return self; -} -#if !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_CoroutineAwait_no_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { - CYTHON_UNUSED_VAR(type); - CYTHON_UNUSED_VAR(args); - CYTHON_UNUSED_VAR(kwargs); - PyErr_SetString(PyExc_TypeError, "cannot instantiate type, use 'await coroutine' instead"); - return NULL; -} -#endif -static PyObject *__Pyx_CoroutineAwait_reduce_ex(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - PyErr_Format(PyExc_TypeError, "cannot pickle '%.200s' object", - Py_TYPE(self)->tp_name); - return NULL; -} -static PyMethodDef __pyx_CoroutineAwait_methods[] = { - {"send", (PyCFunction) __Pyx_CoroutineAwait_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_CoroutineAwait_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_CoroutineAwait_Close, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, - {"__reduce_ex__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_O, 0}, - {"__reduce__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_NOARGS, 0}, - {0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineAwaitType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CoroutineAwait_dealloc}, - {Py_tp_traverse, (void *)__Pyx_CoroutineAwait_traverse}, - {Py_tp_clear, (void *)__Pyx_CoroutineAwait_clear}, -#if !CYTHON_COMPILING_IN_PYPY - {Py_tp_new, (void *)__Pyx_CoroutineAwait_no_new}, -#endif - {Py_tp_methods, (void *)__pyx_CoroutineAwait_methods}, - {Py_tp_iter, (void *)__Pyx_CoroutineAwait_self}, - {Py_tp_iternext, (void *)__Pyx_CoroutineAwait_Next}, - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineAwaitType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - __pyx_CoroutineAwaitType_slots -}; -#else -static PyTypeObject __pyx_CoroutineAwaitType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - (destructor) __Pyx_CoroutineAwait_dealloc, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - PyDoc_STR("A wrapper object implementing __await__ for coroutines."), - (traverseproc) __Pyx_CoroutineAwait_traverse, - (inquiry) __Pyx_CoroutineAwait_clear, - 0, - 0, - __Pyx_CoroutineAwait_self, - (iternextfunc) __Pyx_CoroutineAwait_Next, - __pyx_CoroutineAwait_methods, - 0 , - 0 , - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if !CYTHON_COMPILING_IN_PYPY - __Pyx_CoroutineAwait_no_new, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -#if PY_VERSION_HEX < 0x030500B1 || defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static CYTHON_INLINE PyObject *__Pyx__Coroutine_await(PyObject *coroutine) { - __pyx_CoroutineAwaitObject *await = PyObject_GC_New(__pyx_CoroutineAwaitObject, __pyx_CoroutineAwaitType); - if (unlikely(!await)) return NULL; - Py_INCREF(coroutine); - await->coroutine = coroutine; - PyObject_GC_Track(await); - return (PyObject*)await; -} -#endif -#if PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_await_method(PyObject *coroutine, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static PyObject *__Pyx_Coroutine_await(PyObject *coroutine) { - if (unlikely(!coroutine || !__Pyx_Coroutine_Check(coroutine))) { - PyErr_SetString(PyExc_TypeError, "invalid input, expected coroutine"); - return NULL; - } - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_compare(PyObject *obj, PyObject *other, int op) { - PyObject* result; - switch (op) { - case Py_EQ: result = (other == obj) ? Py_True : Py_False; break; - case Py_NE: result = (other != obj) ? Py_True : Py_False; break; - default: - result = Py_NotImplemented; - } - Py_INCREF(result); - return result; -} -#endif -static PyMethodDef __pyx_Coroutine_methods[] = { - {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, -#if PY_VERSION_HEX < 0x030500B1 - {"__await__", (PyCFunction) __Pyx_Coroutine_await_method, METH_NOARGS, - (char*) PyDoc_STR("__await__() -> return an iterator to be used in await expression.")}, -#endif - {0, 0, 0, 0} -}; -static PyMemberDef __pyx_Coroutine_memberlist[] = { - {(char *) "cr_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL}, - {(char*) "cr_await", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY, - (char*) PyDoc_STR("object being awaited, or None")}, - {(char*) "cr_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL}, - {(char *) "__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0}, -#if CYTHON_USE_TYPE_SPECS - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyGetSetDef __pyx_Coroutine_getsets[] = { - {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name, - (char*) PyDoc_STR("name of the coroutine"), 0}, - {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname, - (char*) PyDoc_STR("qualified name of the coroutine"), 0}, - {(char *) "cr_frame", (getter)__Pyx_Coroutine_get_frame, NULL, - (char*) PyDoc_STR("Frame of the coroutine"), 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc}, - {Py_am_await, (void *)&__Pyx_Coroutine_await}, - {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse}, - {Py_tp_methods, (void *)__pyx_Coroutine_methods}, - {Py_tp_members, (void *)__pyx_Coroutine_memberlist}, - {Py_tp_getset, (void *)__pyx_Coroutine_getsets}, - {Py_tp_getattro, (void *) __Pyx_PyObject_GenericGetAttrNoDict}, -#if CYTHON_USE_TP_FINALIZE - {Py_tp_finalize, (void *)__Pyx_Coroutine_del}, -#endif - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - __pyx_CoroutineType_slots -}; -#else -#if CYTHON_USE_ASYNC_SLOTS -static __Pyx_PyAsyncMethodsStruct __pyx_Coroutine_as_async = { - __Pyx_Coroutine_await, - 0, - 0, -#if PY_VERSION_HEX >= 0x030A00A3 - 0, -#endif -}; -#endif -static PyTypeObject __pyx_CoroutineType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - (destructor) __Pyx_Coroutine_dealloc, - 0, - 0, - 0, -#if CYTHON_USE_ASYNC_SLOTS - &__pyx_Coroutine_as_async, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - 0, - (traverseproc) __Pyx_Coroutine_traverse, - 0, -#if CYTHON_USE_ASYNC_SLOTS && CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 - __Pyx_Coroutine_compare, -#else - 0, -#endif - offsetof(__pyx_CoroutineObject, gi_weakreflist), - 0, - 0, - __pyx_Coroutine_methods, - __pyx_Coroutine_memberlist, - __pyx_Coroutine_getsets, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if CYTHON_USE_TP_FINALIZE - 0, -#else - __Pyx_Coroutine_del, -#endif - 0, -#if CYTHON_USE_TP_FINALIZE - __Pyx_Coroutine_del, -#elif PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_Coroutine_init(PyObject *module) { - CYTHON_MAYBE_UNUSED_VAR(module); -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineType_spec, NULL); -#else - __pyx_CoroutineType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - __pyx_CoroutineType = __Pyx_FetchCommonType(&__pyx_CoroutineType_type); -#endif - if (unlikely(!__pyx_CoroutineType)) - return -1; -#ifdef __Pyx_IterableCoroutine_USED - if (unlikely(__pyx_IterableCoroutine_init(module) == -1)) - return -1; -#endif -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineAwaitType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineAwaitType_spec, NULL); -#else - __pyx_CoroutineAwaitType = __Pyx_FetchCommonType(&__pyx_CoroutineAwaitType_type); -#endif - if (unlikely(!__pyx_CoroutineAwaitType)) - return -1; - return 0; -} - -/* GetAwaitIter */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o) { -#ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(o)) { - return __Pyx_NewRef(o); - } -#endif - return __Pyx__Coroutine_GetAwaitableIter(o); -} -static void __Pyx_Coroutine_AwaitableIterError(PyObject *source) { -#if PY_VERSION_HEX >= 0x030600B3 && PY_VERSION_HEX < 0x030d0000 || defined(_PyErr_FormatFromCause) - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - _PyErr_FormatFromCause(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); -#elif PY_MAJOR_VERSION >= 3 - PyObject *exc, *val, *val2, *tb; - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - assert(PyErr_Occurred()); - PyErr_Fetch(&exc, &val, &tb); - PyErr_NormalizeException(&exc, &val, &tb); - if (tb != NULL) { - PyException_SetTraceback(val, tb); - Py_DECREF(tb); - } - Py_DECREF(exc); - assert(!PyErr_Occurred()); - PyErr_Format(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); - PyErr_Fetch(&exc, &val2, &tb); - PyErr_NormalizeException(&exc, &val2, &tb); - Py_INCREF(val); - PyException_SetCause(val2, val); - PyException_SetContext(val2, val); - PyErr_Restore(exc, val2, tb); -#else - CYTHON_UNUSED_VAR(source); -#endif -} -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *obj) { - PyObject *res; -#if CYTHON_USE_ASYNC_SLOTS - __Pyx_PyAsyncMethodsStruct* am = __Pyx_PyType_AsAsync(obj); - if (likely(am && am->am_await)) { - res = (*am->am_await)(obj); - } else -#endif -#if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - if (PyCoro_CheckExact(obj)) { - return __Pyx_NewRef(obj); - } else -#endif -#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE) -#if PY_VERSION_HEX >= 0x030C00A6 - if (PyGen_CheckExact(obj) && (PyGen_GetCode((PyGenObject*)obj)->co_flags & CO_ITERABLE_COROUTINE)) { -#else - if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) { -#endif - return __Pyx_NewRef(obj); - } else -#endif - { - PyObject *method = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, __pyx_n_s_await, &method); - if (likely(is_method)) { - res = __Pyx_PyObject_CallOneArg(method, obj); - } else if (likely(method)) { - res = __Pyx_PyObject_CallNoArg(method); - } else - goto slot_error; - Py_DECREF(method); - } - if (unlikely(!res)) { - __Pyx_Coroutine_AwaitableIterError(obj); - goto bad; - } - if (unlikely(!PyIter_Check(res))) { - __Pyx_TypeName res_type_name = __Pyx_PyType_GetName(Py_TYPE(res)); - PyErr_Format(PyExc_TypeError, - "__await__() returned non-iterator of type '" __Pyx_FMT_TYPENAME "'", res_type_name); - __Pyx_DECREF_TypeName(res_type_name); - Py_CLEAR(res); - } else { - int is_coroutine = 0; - #ifdef __Pyx_Coroutine_USED - is_coroutine |= __Pyx_Coroutine_Check(res); - #endif - #if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - is_coroutine |= PyCoro_CheckExact(res); - #endif - if (unlikely(is_coroutine)) { - /* __await__ must return an *iterator*, not - a coroutine or another awaitable (see PEP 492) */ - PyErr_SetString(PyExc_TypeError, - "__await__() returned a coroutine"); - Py_CLEAR(res); - } - } - return res; -slot_error: - { - __Pyx_TypeName obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "object " __Pyx_FMT_TYPENAME " can't be used in 'await' expression", obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); - } -bad: - return NULL; -} - -/* CoroutineYieldFrom */ - static PyObject* __Pyx__Coroutine_Yield_From_Generic(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - PyObject *source_gen = __Pyx__Coroutine_GetAwaitableIter(source); - if (unlikely(!source_gen)) { - return NULL; - } - if (__Pyx_Coroutine_Check(source_gen)) { - retval = __Pyx_Generator_Next(source_gen); - } else { - retval = __Pyx_PyObject_GetIterNextFunc(source_gen)(source_gen); - } - if (retval) { - gen->yieldfrom = source_gen; - return retval; - } - Py_DECREF(source_gen); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - if (__Pyx_Coroutine_Check(source)) { - if (unlikely(((__pyx_CoroutineObject*)source)->yieldfrom)) { - PyErr_SetString( - PyExc_RuntimeError, - "coroutine is being awaited already"); - return NULL; - } - retval = __Pyx_Generator_Next(source); -#ifdef __Pyx_AsyncGen_USED - } else if (__pyx_PyAsyncGenASend_CheckExact(source)) { - retval = __Pyx_async_gen_asend_iternext(source); -#endif - } else { - return __Pyx__Coroutine_Yield_From_Generic(gen, source); - } - if (retval) { - Py_INCREF(source); - gen->yieldfrom = source; - } - return retval; -} - -/* PyIntBinop */ - #if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_MAYBE_UNUSED_VAR(inplace); - CYTHON_UNUSED_VAR(zerodivision_check); - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - - x = (long)((unsigned long)a + (unsigned long)b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - if (unlikely(__Pyx_PyLong_IsZero(op1))) { - return __Pyx_NewRef(op2); - } - if (likely(__Pyx_PyLong_IsCompact(op1))) { - a = __Pyx_PyLong_CompactValue(op1); - } else { - const digit* digits = __Pyx_PyLong_Digits(op1); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1); - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - double result; - - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* GetItemInt */ - static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (unlikely(!j)) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyList_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyTuple_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping; - PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence; - if (mm && mm->mp_subscript) { - PyObject *r, *key = PyInt_FromSsize_t(i); - if (unlikely(!key)) return NULL; - r = mm->mp_subscript(o, key); - Py_DECREF(key); - return r; - } - if (likely(sm && sm->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) { - Py_ssize_t l = sm->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return NULL; - PyErr_Clear(); - } - } - return sm->sq_item(o, i); - } - } -#else - if (is_list || !PyMapping_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - -/* ObjectGetItem */ - #if CYTHON_USE_TYPE_SLOTS -static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) { - PyObject *runerr = NULL; - Py_ssize_t key_value; - key_value = __Pyx_PyIndex_AsSsize_t(index); - if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { - return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); - } - if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { - __Pyx_TypeName index_type_name = __Pyx_PyType_GetName(Py_TYPE(index)); - PyErr_Clear(); - PyErr_Format(PyExc_IndexError, - "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", index_type_name); - __Pyx_DECREF_TypeName(index_type_name); - } - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) { - __Pyx_TypeName obj_type_name; - if (likely(PyType_Check(obj))) { - PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_n_s_class_getitem); - if (!meth) { - PyErr_Clear(); - } else { - PyObject *result = __Pyx_PyObject_CallOneArg(meth, key); - Py_DECREF(meth); - return result; - } - } - obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) { - PyTypeObject *tp = Py_TYPE(obj); - PyMappingMethods *mm = tp->tp_as_mapping; - PySequenceMethods *sm = tp->tp_as_sequence; - if (likely(mm && mm->mp_subscript)) { - return mm->mp_subscript(obj, key); - } - if (likely(sm && sm->sq_item)) { - return __Pyx_PyObject_GetIndex(obj, key); - } - return __Pyx_PyObject_GetItem_Slow(obj, key); -} -#endif - -/* DictGetItem */ - #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { - PyObject *value; - value = PyDict_GetItemWithError(d, key); - if (unlikely(!value)) { - if (!PyErr_Occurred()) { - if (unlikely(PyTuple_Check(key))) { - PyObject* args = PyTuple_Pack(1, key); - if (likely(args)) { - PyErr_SetObject(PyExc_KeyError, args); - Py_DECREF(args); - } - } else { - PyErr_SetObject(PyExc_KeyError, key); - } - } - return NULL; - } - Py_INCREF(value); - return value; -} -#endif - -/* PyIntCompare */ - static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_UNUSED_VAR(inplace); - if (op1 == op2) { - return 1; - } - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long a = PyInt_AS_LONG(op1); - return (a == b); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - int unequal; - unsigned long uintval; - Py_ssize_t size = __Pyx_PyLong_DigitCount(op1); - const digit* digits = __Pyx_PyLong_Digits(op1); - if (intval == 0) { - return (__Pyx_PyLong_IsZero(op1) == 1); - } else if (intval < 0) { - if (__Pyx_PyLong_IsNonNeg(op1)) - return 0; - intval = -intval; - } else { - if (__Pyx_PyLong_IsNeg(op1)) - return 0; - } - uintval = (unsigned long) intval; -#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 4)) { - unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 3)) { - unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 2)) { - unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 1)) { - unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif - unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); - return (unequal == 0); - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - return ((double)a == (double)b); - } - return __Pyx_PyObject_IsTrueAndDecref( - PyObject_RichCompare(op1, op2, Py_EQ)); -} - -/* GetException */ - #if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type = NULL, *local_value, *local_tb = NULL; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if PY_VERSION_HEX >= 0x030C00A6 - local_value = tstate->current_exception; - tstate->current_exception = 0; - if (likely(local_value)) { - local_type = (PyObject*) Py_TYPE(local_value); - Py_INCREF(local_type); - local_tb = PyException_GetTraceback(local_value); - } - #else - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; - #endif -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE && PY_VERSION_HEX >= 0x030C00A6 - if (unlikely(tstate->current_exception)) -#elif CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - #if PY_VERSION_HEX >= 0x030B00a4 - tmp_value = exc_info->exc_value; - exc_info->exc_value = local_value; - tmp_type = NULL; - tmp_tb = NULL; - Py_XDECREF(local_type); - Py_XDECREF(local_tb); - #else - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - #endif - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -/* pep479 */ - static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) { - PyObject *exc, *val, *tb, *cur_exc; - __Pyx_PyThreadState_declare - #ifdef __Pyx_StopAsyncIteration_USED - int is_async_stopiteration = 0; - #endif - CYTHON_MAYBE_UNUSED_VAR(in_async_gen); - cur_exc = PyErr_Occurred(); - if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) { - #ifdef __Pyx_StopAsyncIteration_USED - if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, __Pyx_PyExc_StopAsyncIteration))) { - is_async_stopiteration = 1; - } else - #endif - return; - } - __Pyx_PyThreadState_assign - __Pyx_GetException(&exc, &val, &tb); - Py_XDECREF(exc); - Py_XDECREF(val); - Py_XDECREF(tb); - PyErr_SetString(PyExc_RuntimeError, - #ifdef __Pyx_StopAsyncIteration_USED - is_async_stopiteration ? "async generator raised StopAsyncIteration" : - in_async_gen ? "async generator raised StopIteration" : - #endif - "generator raised StopIteration"); -} - -/* PyObjectFormat */ - #if CYTHON_USE_UNICODE_WRITER -static PyObject* __Pyx_PyObject_Format(PyObject* obj, PyObject* format_spec) { - int ret; - _PyUnicodeWriter writer; - if (likely(PyFloat_CheckExact(obj))) { -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x03040000 - _PyUnicodeWriter_Init(&writer, 0); -#else - _PyUnicodeWriter_Init(&writer); -#endif - ret = _PyFloat_FormatAdvancedWriter( - &writer, - obj, - format_spec, 0, PyUnicode_GET_LENGTH(format_spec)); - } else if (likely(PyLong_CheckExact(obj))) { -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x03040000 - _PyUnicodeWriter_Init(&writer, 0); -#else - _PyUnicodeWriter_Init(&writer); -#endif - ret = _PyLong_FormatAdvancedWriter( - &writer, - obj, - format_spec, 0, PyUnicode_GET_LENGTH(format_spec)); - } else { - return PyObject_Format(obj, format_spec); - } - if (unlikely(ret == -1)) { - _PyUnicodeWriter_Dealloc(&writer); - return NULL; - } - return _PyUnicodeWriter_Finish(&writer); -} -#endif - -/* JoinPyUnicode */ - static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char) { -#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - PyObject *result_uval; - int result_ukind, kind_shift; - Py_ssize_t i, char_pos; - void *result_udata; - CYTHON_MAYBE_UNUSED_VAR(max_char); -#if CYTHON_PEP393_ENABLED - result_uval = PyUnicode_New(result_ulength, max_char); - if (unlikely(!result_uval)) return NULL; - result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND; - kind_shift = (result_ukind == PyUnicode_4BYTE_KIND) ? 2 : result_ukind - 1; - result_udata = PyUnicode_DATA(result_uval); -#else - result_uval = PyUnicode_FromUnicode(NULL, result_ulength); - if (unlikely(!result_uval)) return NULL; - result_ukind = sizeof(Py_UNICODE); - kind_shift = (result_ukind == 4) ? 2 : result_ukind - 1; - result_udata = PyUnicode_AS_UNICODE(result_uval); -#endif - assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0); - char_pos = 0; - for (i=0; i < value_count; i++) { - int ukind; - Py_ssize_t ulength; - void *udata; - PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); - if (unlikely(__Pyx_PyUnicode_READY(uval))) - goto bad; - ulength = __Pyx_PyUnicode_GET_LENGTH(uval); - if (unlikely(!ulength)) - continue; - if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos)) - goto overflow; - ukind = __Pyx_PyUnicode_KIND(uval); - udata = __Pyx_PyUnicode_DATA(uval); - if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) { - memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift)); - } else { - #if PY_VERSION_HEX >= 0x030d0000 - if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad; - #elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters) - _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength); - #else - Py_ssize_t j; - for (j=0; j < ulength; j++) { - Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j); - __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar); - } - #endif - } - char_pos += ulength; - } - return result_uval; -overflow: - PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string"); -bad: - Py_DECREF(result_uval); - return NULL; -#else - CYTHON_UNUSED_VAR(max_char); - CYTHON_UNUSED_VAR(result_ulength); - CYTHON_UNUSED_VAR(value_count); - return PyUnicode_Join(__pyx_empty_unicode, value_tuple); -#endif -} - -/* GetAttr */ - static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { -#if CYTHON_USE_TYPE_SLOTS -#if PY_MAJOR_VERSION >= 3 - if (likely(PyUnicode_Check(n))) -#else - if (likely(PyString_Check(n))) -#endif - return __Pyx_PyObject_GetAttrStr(o, n); -#endif - return PyObject_GetAttr(o, n); -} - -/* HasAttr */ - static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { - PyObject *r; - if (unlikely(!__Pyx_PyBaseString_Check(n))) { - PyErr_SetString(PyExc_TypeError, - "hasattr(): attribute name must be string"); - return -1; - } - r = __Pyx_GetAttr(o, n); - if (!r) { - PyErr_Clear(); - return 0; - } else { - Py_DECREF(r); - return 1; - } -} - -/* ReturnWithStopIteration */ - static void __Pyx__ReturnWithStopIteration(PyObject* value) { - PyObject *exc, *args; -#if CYTHON_COMPILING_IN_CPYTHON - __Pyx_PyThreadState_declare - if (PY_VERSION_HEX >= 0x030C00A6 - || unlikely(PyTuple_Check(value) || PyExceptionInstance_Check(value))) { - args = PyTuple_New(1); - if (unlikely(!args)) return; - Py_INCREF(value); - PyTuple_SET_ITEM(args, 0, value); - exc = PyType_Type.tp_call(PyExc_StopIteration, args, NULL); - Py_DECREF(args); - if (!exc) return; - } else { - Py_INCREF(value); - exc = value; - } - #if CYTHON_FAST_THREAD_STATE - __Pyx_PyThreadState_assign - #if CYTHON_USE_EXC_INFO_STACK - if (!__pyx_tstate->exc_info->exc_value) - #else - if (!__pyx_tstate->exc_type) - #endif - { - Py_INCREF(PyExc_StopIteration); - __Pyx_ErrRestore(PyExc_StopIteration, exc, NULL); - return; - } - #endif -#else - args = PyTuple_Pack(1, value); - if (unlikely(!args)) return; - exc = PyObject_Call(PyExc_StopIteration, args, NULL); - Py_DECREF(args); - if (unlikely(!exc)) return; -#endif - PyErr_SetObject(PyExc_StopIteration, exc); - Py_DECREF(exc); -} - -/* RaiseTooManyValuesToUnpack */ - static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { - PyErr_Format(PyExc_ValueError, - "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); -} - -/* RaiseNeedMoreValuesToUnpack */ - static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, - "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", - index, (index == 1) ? "" : "s"); -} - -/* IterFinish */ - static CYTHON_INLINE int __Pyx_IterFinish(void) { - PyObject* exc_type; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (unlikely(exc_type)) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) - return -1; - __Pyx_PyErr_Clear(); - return 0; - } - return 0; -} - -/* UnpackItemEndCheck */ - static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { - if (unlikely(retval)) { - Py_DECREF(retval); - __Pyx_RaiseTooManyValuesError(expected); - return -1; - } - return __Pyx_IterFinish(); -} - -/* pybytes_as_double */ - static double __Pyx_SlowPyString_AsDouble(PyObject *obj) { - PyObject *float_value; -#if PY_MAJOR_VERSION >= 3 - float_value = PyFloat_FromString(obj); -#else - float_value = PyFloat_FromString(obj, 0); -#endif - if (likely(float_value)) { -#if CYTHON_ASSUME_SAFE_MACROS - double value = PyFloat_AS_DOUBLE(float_value); -#else - double value = PyFloat_AsDouble(float_value); -#endif - Py_DECREF(float_value); - return value; - } - return (double)-1; -} -static const char* __Pyx__PyBytes_AsDouble_Copy(const char* start, char* buffer, Py_ssize_t length) { - int last_was_punctuation = 1; - Py_ssize_t i; - for (i=0; i < length; i++) { - char chr = start[i]; - int is_punctuation = (chr == '_') | (chr == '.') | (chr == 'e') | (chr == 'E'); - *buffer = chr; - buffer += (chr != '_'); - if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure; - last_was_punctuation = is_punctuation; - } - if (unlikely(last_was_punctuation)) goto parse_failure; - *buffer = '\0'; - return buffer; -parse_failure: - return NULL; -} -static double __Pyx__PyBytes_AsDouble_inf_nan(const char* start, Py_ssize_t length) { - int matches = 1; - char sign = start[0]; - int is_signed = (sign == '+') | (sign == '-'); - start += is_signed; - length -= is_signed; - switch (start[0]) { - #ifdef Py_NAN - case 'n': - case 'N': - if (unlikely(length != 3)) goto parse_failure; - matches &= (start[1] == 'a' || start[1] == 'A'); - matches &= (start[2] == 'n' || start[2] == 'N'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_NAN : Py_NAN; - #endif - case 'i': - case 'I': - if (unlikely(length < 3)) goto parse_failure; - matches &= (start[1] == 'n' || start[1] == 'N'); - matches &= (start[2] == 'f' || start[2] == 'F'); - if (likely(length == 3 && matches)) - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - if (unlikely(length != 8)) goto parse_failure; - matches &= (start[3] == 'i' || start[3] == 'I'); - matches &= (start[4] == 'n' || start[4] == 'N'); - matches &= (start[5] == 'i' || start[5] == 'I'); - matches &= (start[6] == 't' || start[6] == 'T'); - matches &= (start[7] == 'y' || start[7] == 'Y'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - break; - default: - goto parse_failure; - } - return 0.0; -parse_failure: - return -1.0; -} -static CYTHON_INLINE int __Pyx__PyBytes_AsDouble_IsSpace(char ch) { - return (ch == 0x20) | !((ch < 0x9) | (ch > 0xd)); -} -CYTHON_UNUSED static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length) { - double value; - Py_ssize_t i, digits; - const char *last = start + length; - char *end; - while (__Pyx__PyBytes_AsDouble_IsSpace(*start)) - start++; - while (start < last - 1 && __Pyx__PyBytes_AsDouble_IsSpace(last[-1])) - last--; - length = last - start; - if (unlikely(length <= 0)) goto fallback; - value = __Pyx__PyBytes_AsDouble_inf_nan(start, length); - if (unlikely(value == -1.0)) goto fallback; - if (value != 0.0) return value; - digits = 0; - for (i=0; i < length; digits += start[i++] != '_'); - if (likely(digits == length)) { - value = PyOS_string_to_double(start, &end, NULL); - } else if (digits < 40) { - char number[40]; - last = __Pyx__PyBytes_AsDouble_Copy(start, number, length); - if (unlikely(!last)) goto fallback; - value = PyOS_string_to_double(number, &end, NULL); - } else { - char *number = (char*) PyMem_Malloc((digits + 1) * sizeof(char)); - if (unlikely(!number)) goto fallback; - last = __Pyx__PyBytes_AsDouble_Copy(start, number, length); - if (unlikely(!last)) { - PyMem_Free(number); - goto fallback; - } - value = PyOS_string_to_double(number, &end, NULL); - PyMem_Free(number); - } - if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) { - return value; - } -fallback: - return __Pyx_SlowPyString_AsDouble(obj); -} - -/* pynumber_float */ - static CYTHON_INLINE PyObject* __Pyx__PyNumber_Float(PyObject* obj) { - double val; - if (PyLong_CheckExact(obj)) { -#if CYTHON_USE_PYLONG_INTERNALS - if (likely(__Pyx_PyLong_IsCompact(obj))) { - val = (double) __Pyx_PyLong_CompactValue(obj); - goto no_error; - } -#endif - val = PyLong_AsDouble(obj); - } else if (PyUnicode_CheckExact(obj)) { - val = __Pyx_PyUnicode_AsDouble(obj); - } else if (PyBytes_CheckExact(obj)) { - val = __Pyx_PyBytes_AsDouble(obj); - } else if (PyByteArray_CheckExact(obj)) { - val = __Pyx_PyByteArray_AsDouble(obj); - } else { - return PyNumber_Float(obj); - } - if (unlikely(val == -1 && PyErr_Occurred())) { - return NULL; - } -#if CYTHON_USE_PYLONG_INTERNALS -no_error: -#endif - return PyFloat_FromDouble(val); -} - -/* PyObjectCallMethod0 */ - static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) { - PyObject *method = NULL, *result = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_CallOneArg(method, obj); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) goto bad; - result = __Pyx_PyObject_CallNoArg(method); - Py_DECREF(method); -bad: - return result; -} - -/* ValidateBasesTuple */ - #if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) { - Py_ssize_t i, n; -#if CYTHON_ASSUME_SAFE_MACROS - n = PyTuple_GET_SIZE(bases); -#else - n = PyTuple_Size(bases); - if (n < 0) return -1; -#endif - for (i = 1; i < n; i++) - { -#if CYTHON_AVOID_BORROWED_REFS - PyObject *b0 = PySequence_GetItem(bases, i); - if (!b0) return -1; -#elif CYTHON_ASSUME_SAFE_MACROS - PyObject *b0 = PyTuple_GET_ITEM(bases, i); -#else - PyObject *b0 = PyTuple_GetItem(bases, i); - if (!b0) return -1; -#endif - PyTypeObject *b; -#if PY_MAJOR_VERSION < 3 - if (PyClass_Check(b0)) - { - PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class", - PyString_AS_STRING(((PyClassObject*)b0)->cl_name)); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } -#endif - b = (PyTypeObject*) b0; - if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE)) - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name); - __Pyx_DECREF_TypeName(b_name); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - if (dictoffset == 0) - { - Py_ssize_t b_dictoffset = 0; -#if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - b_dictoffset = b->tp_dictoffset; -#else - PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__"); - if (!py_b_dictoffset) goto dictoffset_return; - b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset); - Py_DECREF(py_b_dictoffset); - if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return; -#endif - if (b_dictoffset) { - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "extension type '%.200s' has no __dict__ slot, " - "but base type '" __Pyx_FMT_TYPENAME "' has: " - "either add 'cdef dict __dict__' to the extension type " - "or add '__slots__ = [...]' to the base type", - type_name, b_name); - __Pyx_DECREF_TypeName(b_name); - } -#if !(CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY) - dictoffset_return: -#endif -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - } -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - } - return 0; -} -#endif - -/* PyType_Ready */ - static int __Pyx_PyType_Ready(PyTypeObject *t) { -#if CYTHON_USE_TYPE_SPECS || !(CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API) || defined(PYSTON_MAJOR_VERSION) - (void)__Pyx_PyObject_CallMethod0; -#if CYTHON_USE_TYPE_SPECS - (void)__Pyx_validate_bases_tuple; -#endif - return PyType_Ready(t); -#else - int r; - PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*); - if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1)) - return -1; -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - { - int gc_was_enabled; - #if PY_VERSION_HEX >= 0x030A00b1 - gc_was_enabled = PyGC_Disable(); - (void)__Pyx_PyObject_CallMethod0; - #else - PyObject *ret, *py_status; - PyObject *gc = NULL; - #if PY_VERSION_HEX >= 0x030700a1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400) - gc = PyImport_GetModule(__pyx_kp_u_gc); - #endif - if (unlikely(!gc)) gc = PyImport_Import(__pyx_kp_u_gc); - if (unlikely(!gc)) return -1; - py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_isenabled); - if (unlikely(!py_status)) { - Py_DECREF(gc); - return -1; - } - gc_was_enabled = __Pyx_PyObject_IsTrue(py_status); - Py_DECREF(py_status); - if (gc_was_enabled > 0) { - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_disable); - if (unlikely(!ret)) { - Py_DECREF(gc); - return -1; - } - Py_DECREF(ret); - } else if (unlikely(gc_was_enabled == -1)) { - Py_DECREF(gc); - return -1; - } - #endif - t->tp_flags |= Py_TPFLAGS_HEAPTYPE; -#if PY_VERSION_HEX >= 0x030A0000 - t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE; -#endif -#else - (void)__Pyx_PyObject_CallMethod0; -#endif - r = PyType_Ready(t); -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE; - #if PY_VERSION_HEX >= 0x030A00b1 - if (gc_was_enabled) - PyGC_Enable(); - #else - if (gc_was_enabled) { - PyObject *tp, *v, *tb; - PyErr_Fetch(&tp, &v, &tb); - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_enable); - if (likely(ret || r == -1)) { - Py_XDECREF(ret); - PyErr_Restore(tp, v, tb); - } else { - Py_XDECREF(tp); - Py_XDECREF(v); - Py_XDECREF(tb); - r = -1; - } - } - Py_DECREF(gc); - #endif - } -#endif - return r; -#endif -} - -/* Import */ - static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { - PyObject *module = 0; - PyObject *empty_dict = 0; - PyObject *empty_list = 0; - #if PY_MAJOR_VERSION < 3 - PyObject *py_import; - py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); - if (unlikely(!py_import)) - goto bad; - if (!from_list) { - empty_list = PyList_New(0); - if (unlikely(!empty_list)) - goto bad; - from_list = empty_list; - } - #endif - empty_dict = PyDict_New(); - if (unlikely(!empty_dict)) - goto bad; - { - #if PY_MAJOR_VERSION >= 3 - if (level == -1) { - if (strchr(__Pyx_MODULE_NAME, '.') != NULL) { - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, 1); - if (unlikely(!module)) { - if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError))) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - #endif - if (!module) { - #if PY_MAJOR_VERSION < 3 - PyObject *py_level = PyInt_FromLong(level); - if (unlikely(!py_level)) - goto bad; - module = PyObject_CallFunctionObjArgs(py_import, - name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL); - Py_DECREF(py_level); - #else - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, level); - #endif - } - } -bad: - Py_XDECREF(empty_dict); - Py_XDECREF(empty_list); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_import); - #endif - return module; -} - -/* ImportFrom */ - static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { - PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); - if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { - const char* module_name_str = 0; - PyObject* module_name = 0; - PyObject* module_dot = 0; - PyObject* full_name = 0; - PyErr_Clear(); - module_name_str = PyModule_GetName(module); - if (unlikely(!module_name_str)) { goto modbad; } - module_name = PyUnicode_FromString(module_name_str); - if (unlikely(!module_name)) { goto modbad; } - module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__27); - if (unlikely(!module_dot)) { goto modbad; } - full_name = PyUnicode_Concat(module_dot, name); - if (unlikely(!full_name)) { goto modbad; } - #if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400) - { - PyObject *modules = PyImport_GetModuleDict(); - if (unlikely(!modules)) - goto modbad; - value = PyObject_GetItem(modules, full_name); - } - #else - value = PyImport_GetModule(full_name); - #endif - modbad: - Py_XDECREF(full_name); - Py_XDECREF(module_dot); - Py_XDECREF(module_name); - } - if (unlikely(!value)) { - PyErr_Format(PyExc_ImportError, - #if PY_MAJOR_VERSION < 3 - "cannot import name %.230s", PyString_AS_STRING(name)); - #else - "cannot import name %S", name); - #endif - } - return value; -} - -/* Py3UpdateBases */ - static PyObject* -__Pyx_PEP560_update_bases(PyObject *bases) -{ - Py_ssize_t i, j, size_bases; - PyObject *base, *meth, *new_base, *result, *new_bases = NULL; - size_bases = PyTuple_GET_SIZE(bases); - for (i = 0; i < size_bases; i++) { - base = PyTuple_GET_ITEM(bases, i); - if (PyType_Check(base)) { - if (new_bases) { - if (PyList_Append(new_bases, base) < 0) { - goto error; - } - } - continue; - } - meth = __Pyx_PyObject_GetAttrStrNoError(base, __pyx_n_s_mro_entries); - if (!meth && PyErr_Occurred()) { - goto error; - } - if (!meth) { - if (new_bases) { - if (PyList_Append(new_bases, base) < 0) { - goto error; - } - } - continue; - } - new_base = __Pyx_PyObject_CallOneArg(meth, bases); - Py_DECREF(meth); - if (!new_base) { - goto error; - } - if (!PyTuple_Check(new_base)) { - PyErr_SetString(PyExc_TypeError, - "__mro_entries__ must return a tuple"); - Py_DECREF(new_base); - goto error; - } - if (!new_bases) { - if (!(new_bases = PyList_New(i))) { - goto error; - } - for (j = 0; j < i; j++) { - base = PyTuple_GET_ITEM(bases, j); - PyList_SET_ITEM(new_bases, j, base); - Py_INCREF(base); - } - } - j = PyList_GET_SIZE(new_bases); - if (PyList_SetSlice(new_bases, j, j, new_base) < 0) { - goto error; - } - Py_DECREF(new_base); - } - if (!new_bases) { - Py_INCREF(bases); - return bases; - } - result = PyList_AsTuple(new_bases); - Py_DECREF(new_bases); - return result; -error: - Py_XDECREF(new_bases); - return NULL; -} - -/* CalculateMetaclass */ - static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) { - Py_ssize_t i, nbases; -#if CYTHON_ASSUME_SAFE_MACROS - nbases = PyTuple_GET_SIZE(bases); -#else - nbases = PyTuple_Size(bases); - if (nbases < 0) return NULL; -#endif - for (i=0; i < nbases; i++) { - PyTypeObject *tmptype; -#if CYTHON_ASSUME_SAFE_MACROS - PyObject *tmp = PyTuple_GET_ITEM(bases, i); -#else - PyObject *tmp = PyTuple_GetItem(bases, i); - if (!tmp) return NULL; -#endif - tmptype = Py_TYPE(tmp); -#if PY_MAJOR_VERSION < 3 - if (tmptype == &PyClass_Type) - continue; -#endif - if (!metaclass) { - metaclass = tmptype; - continue; - } - if (PyType_IsSubtype(metaclass, tmptype)) - continue; - if (PyType_IsSubtype(tmptype, metaclass)) { - metaclass = tmptype; - continue; - } - PyErr_SetString(PyExc_TypeError, - "metaclass conflict: " - "the metaclass of a derived class " - "must be a (non-strict) subclass " - "of the metaclasses of all its bases"); - return NULL; - } - if (!metaclass) { -#if PY_MAJOR_VERSION < 3 - metaclass = &PyClass_Type; -#else - metaclass = &PyType_Type; -#endif - } - Py_INCREF((PyObject*) metaclass); - return (PyObject*) metaclass; -} - -/* PyObjectLookupSpecial */ - #if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) { - PyObject *res; - PyTypeObject *tp = Py_TYPE(obj); -#if PY_MAJOR_VERSION < 3 - if (unlikely(PyInstance_Check(obj))) - return with_error ? __Pyx_PyObject_GetAttrStr(obj, attr_name) : __Pyx_PyObject_GetAttrStrNoError(obj, attr_name); -#endif - res = _PyType_Lookup(tp, attr_name); - if (likely(res)) { - descrgetfunc f = Py_TYPE(res)->tp_descr_get; - if (!f) { - Py_INCREF(res); - } else { - res = f(res, obj, (PyObject *)tp); - } - } else if (with_error) { - PyErr_SetObject(PyExc_AttributeError, attr_name); - } - return res; -} -#endif - -/* Py3ClassCreate */ - static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, - PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) { - PyObject *ns; - if (metaclass) { - PyObject *prep = __Pyx_PyObject_GetAttrStrNoError(metaclass, __pyx_n_s_prepare); - if (prep) { - PyObject *pargs[3] = {NULL, name, bases}; - ns = __Pyx_PyObject_FastCallDict(prep, pargs+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw); - Py_DECREF(prep); - } else { - if (unlikely(PyErr_Occurred())) - return NULL; - ns = PyDict_New(); - } - } else { - ns = PyDict_New(); - } - if (unlikely(!ns)) - return NULL; - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad; -#if PY_VERSION_HEX >= 0x03030000 - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad; -#else - CYTHON_MAYBE_UNUSED_VAR(qualname); -#endif - if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad; - return ns; -bad: - Py_DECREF(ns); - return NULL; -} -#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS -static int __Pyx_SetNamesPEP487(PyObject *type_obj) { - PyTypeObject *type = (PyTypeObject*) type_obj; - PyObject *names_to_set, *key, *value, *set_name, *tmp; - Py_ssize_t i = 0; -#if CYTHON_USE_TYPE_SLOTS - names_to_set = PyDict_Copy(type->tp_dict); -#else - { - PyObject *d = PyObject_GetAttr(type_obj, __pyx_n_s_dict); - names_to_set = NULL; - if (likely(d)) { - PyObject *names_to_set = PyDict_New(); - int ret = likely(names_to_set) ? PyDict_Update(names_to_set, d) : -1; - Py_DECREF(d); - if (unlikely(ret < 0)) - Py_CLEAR(names_to_set); - } - } -#endif - if (unlikely(names_to_set == NULL)) - goto bad; - while (PyDict_Next(names_to_set, &i, &key, &value)) { - set_name = __Pyx_PyObject_LookupSpecialNoError(value, __pyx_n_s_set_name); - if (unlikely(set_name != NULL)) { - tmp = __Pyx_PyObject_Call2Args(set_name, type_obj, key); - Py_DECREF(set_name); - if (unlikely(tmp == NULL)) { - __Pyx_TypeName value_type_name = - __Pyx_PyType_GetName(Py_TYPE(value)); - __Pyx_TypeName type_name = __Pyx_PyType_GetName(type); - PyErr_Format(PyExc_RuntimeError, -#if PY_MAJOR_VERSION >= 3 - "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %R " "in '" __Pyx_FMT_TYPENAME "'", - value_type_name, key, type_name); -#else - "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %.100s in '" __Pyx_FMT_TYPENAME "'", - value_type_name, - PyString_Check(key) ? PyString_AS_STRING(key) : "?", - type_name); -#endif - goto bad; - } else { - Py_DECREF(tmp); - } - } - else if (unlikely(PyErr_Occurred())) { - goto bad; - } - } - Py_DECREF(names_to_set); - return 0; -bad: - Py_XDECREF(names_to_set); - return -1; -} -static PyObject *__Pyx_InitSubclassPEP487(PyObject *type_obj, PyObject *mkw) { -#if CYTHON_USE_TYPE_SLOTS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - PyTypeObject *type = (PyTypeObject*) type_obj; - PyObject *mro = type->tp_mro; - Py_ssize_t i, nbases; - if (unlikely(!mro)) goto done; - (void) &__Pyx_GetBuiltinName; - Py_INCREF(mro); - nbases = PyTuple_GET_SIZE(mro); - assert(PyTuple_GET_ITEM(mro, 0) == type_obj); - for (i = 1; i < nbases-1; i++) { - PyObject *base, *dict, *meth; - base = PyTuple_GET_ITEM(mro, i); - dict = ((PyTypeObject *)base)->tp_dict; - meth = __Pyx_PyDict_GetItemStrWithError(dict, __pyx_n_s_init_subclass); - if (unlikely(meth)) { - descrgetfunc f = Py_TYPE(meth)->tp_descr_get; - PyObject *res; - Py_INCREF(meth); - if (likely(f)) { - res = f(meth, NULL, type_obj); - Py_DECREF(meth); - if (unlikely(!res)) goto bad; - meth = res; - } - res = __Pyx_PyObject_FastCallDict(meth, NULL, 0, mkw); - Py_DECREF(meth); - if (unlikely(!res)) goto bad; - Py_DECREF(res); - goto done; - } else if (unlikely(PyErr_Occurred())) { - goto bad; - } - } -done: - Py_XDECREF(mro); - return type_obj; -bad: - Py_XDECREF(mro); - Py_DECREF(type_obj); - return NULL; -#else - PyObject *super_type, *super, *func, *res; -#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type) - super_type = __Pyx_GetBuiltinName(__pyx_n_s_super); -#else - super_type = (PyObject*) &PySuper_Type; - (void) &__Pyx_GetBuiltinName; -#endif - super = likely(super_type) ? __Pyx_PyObject_Call2Args(super_type, type_obj, type_obj) : NULL; -#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type) - Py_XDECREF(super_type); -#endif - if (unlikely(!super)) { - Py_CLEAR(type_obj); - goto done; - } - func = __Pyx_PyObject_GetAttrStrNoError(super, __pyx_n_s_init_subclass); - Py_DECREF(super); - if (likely(!func)) { - if (unlikely(PyErr_Occurred())) - Py_CLEAR(type_obj); - goto done; - } - res = __Pyx_PyObject_FastCallDict(func, NULL, 0, mkw); - Py_DECREF(func); - if (unlikely(!res)) - Py_CLEAR(type_obj); - Py_XDECREF(res); -done: - return type_obj; -#endif -} -#endif -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, - PyObject *dict, PyObject *mkw, - int calculate_metaclass, int allow_py2_metaclass) { - PyObject *result; - PyObject *owned_metaclass = NULL; - PyObject *margs[4] = {NULL, name, bases, dict}; - if (allow_py2_metaclass) { - owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass); - if (owned_metaclass) { - metaclass = owned_metaclass; - } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) { - PyErr_Clear(); - } else { - return NULL; - } - } - if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) { - metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases); - Py_XDECREF(owned_metaclass); - if (unlikely(!metaclass)) - return NULL; - owned_metaclass = metaclass; - } - result = __Pyx_PyObject_FastCallDict(metaclass, margs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, -#if PY_VERSION_HEX < 0x030600A4 - (metaclass == (PyObject*)&PyType_Type) ? NULL : mkw -#else - mkw -#endif - ); - Py_XDECREF(owned_metaclass); -#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS - if (likely(result) && likely(PyType_Check(result))) { - if (unlikely(__Pyx_SetNamesPEP487(result) < 0)) { - Py_CLEAR(result); - } else { - result = __Pyx_InitSubclassPEP487(result, mkw); - } - } -#else - (void) &__Pyx_GetBuiltinName; -#endif - return result; -} - -/* PyVectorcallFastCallDict */ - #if CYTHON_METH_FASTCALL -static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - PyObject *res = NULL; - PyObject *kwnames; - PyObject **newargs; - PyObject **kwvalues; - Py_ssize_t i, pos; - size_t j; - PyObject *key, *value; - unsigned long keys_are_strings; - Py_ssize_t nkw = PyDict_GET_SIZE(kw); - newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0])); - if (unlikely(newargs == NULL)) { - PyErr_NoMemory(); - return NULL; - } - for (j = 0; j < nargs; j++) newargs[j] = args[j]; - kwnames = PyTuple_New(nkw); - if (unlikely(kwnames == NULL)) { - PyMem_Free(newargs); - return NULL; - } - kwvalues = newargs + nargs; - pos = i = 0; - keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS; - while (PyDict_Next(kw, &pos, &key, &value)) { - keys_are_strings &= Py_TYPE(key)->tp_flags; - Py_INCREF(key); - Py_INCREF(value); - PyTuple_SET_ITEM(kwnames, i, key); - kwvalues[i] = value; - i++; - } - if (unlikely(!keys_are_strings)) { - PyErr_SetString(PyExc_TypeError, "keywords must be strings"); - goto cleanup; - } - res = vc(func, newargs, nargs, kwnames); -cleanup: - Py_DECREF(kwnames); - for (i = 0; i < nkw; i++) - Py_DECREF(kwvalues[i]); - PyMem_Free(newargs); - return res; -} -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) { - return vc(func, args, nargs, NULL); - } - return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw); -} -#endif - -/* CythonFunctionShared */ - #if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - if (__Pyx_CyFunction_Check(func)) { - return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc; - } else if (PyCFunction_Check(func)) { - return PyCFunction_GetFunction(func) == (PyCFunction) cfunc; - } - return 0; -} -#else -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -} -#endif -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) { -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - __Pyx_Py_XDECREF_SET( - __Pyx_CyFunction_GetClassObj(f), - ((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#else - __Pyx_Py_XDECREF_SET( - ((PyCMethodObject *) (f))->mm_class, - (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#endif -} -static PyObject * -__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure) -{ - CYTHON_UNUSED_VAR(closure); - if (unlikely(op->func_doc == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_doc = PyObject_GetAttrString(op->func, "__doc__"); - if (unlikely(!op->func_doc)) return NULL; -#else - if (((PyCFunctionObject*)op)->m_ml->ml_doc) { -#if PY_MAJOR_VERSION >= 3 - op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#else - op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#endif - if (unlikely(op->func_doc == NULL)) - return NULL; - } else { - Py_INCREF(Py_None); - return Py_None; - } -#endif - } - Py_INCREF(op->func_doc); - return op->func_doc; -} -static int -__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (value == NULL) { - value = Py_None; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_doc, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_name == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_name = PyObject_GetAttrString(op->func, "__name__"); -#elif PY_MAJOR_VERSION >= 3 - op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#else - op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#endif - if (unlikely(op->func_name == NULL)) - return NULL; - } - Py_INCREF(op->func_name); - return op->func_name; -} -static int -__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_name, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_qualname); - return op->func_qualname; -} -static int -__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_qualname, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_dict == NULL)) { - op->func_dict = PyDict_New(); - if (unlikely(op->func_dict == NULL)) - return NULL; - } - Py_INCREF(op->func_dict); - return op->func_dict; -} -static int -__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(value == NULL)) { - PyErr_SetString(PyExc_TypeError, - "function's dictionary may not be deleted"); - return -1; - } - if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "setting function's dictionary to a non-dict"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_dict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_globals); - return op->func_globals; -} -static PyObject * -__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(op); - CYTHON_UNUSED_VAR(context); - Py_INCREF(Py_None); - return Py_None; -} -static PyObject * -__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context) -{ - PyObject* result = (op->func_code) ? op->func_code : Py_None; - CYTHON_UNUSED_VAR(context); - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { - int result = 0; - PyObject *res = op->defaults_getter((PyObject *) op); - if (unlikely(!res)) - return -1; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - op->defaults_tuple = PyTuple_GET_ITEM(res, 0); - Py_INCREF(op->defaults_tuple); - op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); - Py_INCREF(op->defaults_kwdict); - #else - op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0); - if (unlikely(!op->defaults_tuple)) result = -1; - else { - op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1); - if (unlikely(!op->defaults_kwdict)) result = -1; - } - #endif - Py_DECREF(res); - return result; -} -static int -__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyTuple_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__defaults__ must be set to a tuple object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_tuple, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_tuple; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_tuple; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__kwdefaults__ must be set to a dict object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_kwdict; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_kwdict; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value || value == Py_None) { - value = NULL; - } else if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__annotations__ must be set to a dict object"); - return -1; - } - Py_XINCREF(value); - __Pyx_Py_XDECREF_SET(op->func_annotations, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->func_annotations; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - result = PyDict_New(); - if (unlikely(!result)) return NULL; - op->func_annotations = result; - } - Py_INCREF(result); - return result; -} -static PyObject * -__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) { - int is_coroutine; - CYTHON_UNUSED_VAR(context); - if (op->func_is_coroutine) { - return __Pyx_NewRef(op->func_is_coroutine); - } - is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE; -#if PY_VERSION_HEX >= 0x03050000 - if (is_coroutine) { - PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine; - fromlist = PyList_New(1); - if (unlikely(!fromlist)) return NULL; - Py_INCREF(marker); -#if CYTHON_ASSUME_SAFE_MACROS - PyList_SET_ITEM(fromlist, 0, marker); -#else - if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) { - Py_DECREF(marker); - Py_DECREF(fromlist); - return NULL; - } -#endif - module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0); - Py_DECREF(fromlist); - if (unlikely(!module)) goto ignore; - op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker); - Py_DECREF(module); - if (likely(op->func_is_coroutine)) { - return __Pyx_NewRef(op->func_is_coroutine); - } -ignore: - PyErr_Clear(); - } -#endif - op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine); - return __Pyx_NewRef(op->func_is_coroutine); -} -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject * -__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_GetAttrString(op->func, "__module__"); -} -static int -__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_SetAttrString(op->func, "__module__", value); -} -#endif -static PyGetSetDef __pyx_CyFunction_getsets[] = { - {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, - {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, - {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, - {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0}, -#if CYTHON_COMPILING_IN_LIMITED_API - {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyMemberDef __pyx_CyFunction_members[] = { -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0}, -#endif -#if CYTHON_USE_TYPE_SPECS - {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0}, -#if CYTHON_METH_FASTCALL -#if CYTHON_BACKPORT_VECTORCALL - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0}, -#else -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0}, -#endif -#endif -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0}, -#else - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0}, -#endif -#endif - {0, 0, 0, 0, 0} -}; -static PyObject * -__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args) -{ - CYTHON_UNUSED_VAR(args); -#if PY_MAJOR_VERSION >= 3 - Py_INCREF(m->func_qualname); - return m->func_qualname; -#else - return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name); -#endif -} -static PyMethodDef __pyx_CyFunction_methods[] = { - {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, - {0, 0, 0, 0} -}; -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) -#else -#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist) -#endif -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { -#if !CYTHON_COMPILING_IN_LIMITED_API - PyCFunctionObject *cf = (PyCFunctionObject*) op; -#endif - if (unlikely(op == NULL)) - return NULL; -#if CYTHON_COMPILING_IN_LIMITED_API - op->func = PyCFunction_NewEx(ml, (PyObject*)op, module); - if (unlikely(!op->func)) return NULL; -#endif - op->flags = flags; - __Pyx_CyFunction_weakreflist(op) = NULL; -#if !CYTHON_COMPILING_IN_LIMITED_API - cf->m_ml = ml; - cf->m_self = (PyObject *) op; -#endif - Py_XINCREF(closure); - op->func_closure = closure; -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_XINCREF(module); - cf->m_module = module; -#endif - op->func_dict = NULL; - op->func_name = NULL; - Py_INCREF(qualname); - op->func_qualname = qualname; - op->func_doc = NULL; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - op->func_classobj = NULL; -#else - ((PyCMethodObject*)op)->mm_class = NULL; -#endif - op->func_globals = globals; - Py_INCREF(op->func_globals); - Py_XINCREF(code); - op->func_code = code; - op->defaults_pyobjects = 0; - op->defaults_size = 0; - op->defaults = NULL; - op->defaults_tuple = NULL; - op->defaults_kwdict = NULL; - op->defaults_getter = NULL; - op->func_annotations = NULL; - op->func_is_coroutine = NULL; -#if CYTHON_METH_FASTCALL - switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) { - case METH_NOARGS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS; - break; - case METH_O: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O; - break; - case METH_METHOD | METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD; - break; - case METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS; - break; - case METH_VARARGS | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = NULL; - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - Py_DECREF(op); - return NULL; - } -#endif - return (PyObject *) op; -} -static int -__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) -{ - Py_CLEAR(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_CLEAR(m->func); -#else - Py_CLEAR(((PyCFunctionObject*)m)->m_module); -#endif - Py_CLEAR(m->func_dict); - Py_CLEAR(m->func_name); - Py_CLEAR(m->func_qualname); - Py_CLEAR(m->func_doc); - Py_CLEAR(m->func_globals); - Py_CLEAR(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API -#if PY_VERSION_HEX < 0x030900B1 - Py_CLEAR(__Pyx_CyFunction_GetClassObj(m)); -#else - { - PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class; - ((PyCMethodObject *) (m))->mm_class = NULL; - Py_XDECREF(cls); - } -#endif -#endif - Py_CLEAR(m->defaults_tuple); - Py_CLEAR(m->defaults_kwdict); - Py_CLEAR(m->func_annotations); - Py_CLEAR(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_XDECREF(pydefaults[i]); - PyObject_Free(m->defaults); - m->defaults = NULL; - } - return 0; -} -static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - if (__Pyx_CyFunction_weakreflist(m) != NULL) - PyObject_ClearWeakRefs((PyObject *) m); - __Pyx_CyFunction_clear(m); - __Pyx_PyHeapTypeObject_GC_Del(m); -} -static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - PyObject_GC_UnTrack(m); - __Pyx__CyFunction_dealloc(m); -} -static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) -{ - Py_VISIT(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(m->func); -#else - Py_VISIT(((PyCFunctionObject*)m)->m_module); -#endif - Py_VISIT(m->func_dict); - Py_VISIT(m->func_name); - Py_VISIT(m->func_qualname); - Py_VISIT(m->func_doc); - Py_VISIT(m->func_globals); - Py_VISIT(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(__Pyx_CyFunction_GetClassObj(m)); -#endif - Py_VISIT(m->defaults_tuple); - Py_VISIT(m->defaults_kwdict); - Py_VISIT(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_VISIT(pydefaults[i]); - } - return 0; -} -static PyObject* -__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) -{ -#if PY_MAJOR_VERSION >= 3 - return PyUnicode_FromFormat("", - op->func_qualname, (void *)op); -#else - return PyString_FromFormat("", - PyString_AsString(op->func_qualname), (void *)op); -#endif -} -static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *f = ((__pyx_CyFunctionObject*)func)->func; - PyObject *py_name = NULL; - PyCFunction meth; - int flags; - meth = PyCFunction_GetFunction(f); - if (unlikely(!meth)) return NULL; - flags = PyCFunction_GetFlags(f); - if (unlikely(flags < 0)) return NULL; -#else - PyCFunctionObject* f = (PyCFunctionObject*)func; - PyCFunction meth = f->m_ml->ml_meth; - int flags = f->m_ml->ml_flags; -#endif - Py_ssize_t size; - switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { - case METH_VARARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) - return (*meth)(self, arg); - break; - case METH_VARARGS | METH_KEYWORDS: - return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); - case METH_NOARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 0)) - return (*meth)(self, NULL); -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - case METH_O: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 1)) { - PyObject *result, *arg0; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - arg0 = PyTuple_GET_ITEM(arg, 0); - #else - arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; - #endif - result = (*meth)(self, arg0); - #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(arg0); - #endif - return result; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - return NULL; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments", - py_name); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", - f->m_ml->ml_name); -#endif - return NULL; -} -static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *self, *result; -#if CYTHON_COMPILING_IN_LIMITED_API - self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func); - if (unlikely(!self) && PyErr_Occurred()) return NULL; -#else - self = ((PyCFunctionObject*)func)->m_self; -#endif - result = __Pyx_CyFunction_CallMethod(func, self, arg, kw); - return result; -} -static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { - PyObject *result; - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; -#if CYTHON_METH_FASTCALL - __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc); - if (vc) { -#if CYTHON_ASSUME_SAFE_MACROS - return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw); -#else - (void) &__Pyx_PyVectorcall_FastCallDict; - return PyVectorcall_Call(func, args, kw); -#endif - } -#endif - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - Py_ssize_t argc; - PyObject *new_args; - PyObject *self; -#if CYTHON_ASSUME_SAFE_MACROS - argc = PyTuple_GET_SIZE(args); -#else - argc = PyTuple_Size(args); - if (unlikely(!argc) < 0) return NULL; -#endif - new_args = PyTuple_GetSlice(args, 1, argc); - if (unlikely(!new_args)) - return NULL; - self = PyTuple_GetItem(args, 0); - if (unlikely(!self)) { - Py_DECREF(new_args); -#if PY_MAJOR_VERSION > 2 - PyErr_Format(PyExc_TypeError, - "unbound method %.200S() needs an argument", - cyfunc->func_qualname); -#else - PyErr_SetString(PyExc_TypeError, - "unbound method needs an argument"); -#endif - return NULL; - } - result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); - Py_DECREF(new_args); - } else { - result = __Pyx_CyFunction_Call(func, args, kw); - } - return result; -} -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames) -{ - int ret = 0; - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - if (unlikely(nargs < 1)) { - PyErr_Format(PyExc_TypeError, "%.200s() needs an argument", - ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - ret = 1; - } - if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - return ret; -} -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 0)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, NULL); -} -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 1)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, args[0]); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; - PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc); -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames); -} -#endif -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CyFunctionType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc}, - {Py_tp_repr, (void *)__Pyx_CyFunction_repr}, - {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod}, - {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse}, - {Py_tp_clear, (void *)__Pyx_CyFunction_clear}, - {Py_tp_methods, (void *)__pyx_CyFunction_methods}, - {Py_tp_members, (void *)__pyx_CyFunction_members}, - {Py_tp_getset, (void *)__pyx_CyFunction_getsets}, - {Py_tp_descr_get, (void *)__Pyx_PyMethod_New}, - {0, 0}, -}; -static PyType_Spec __pyx_CyFunctionType_spec = { - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL) - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - __pyx_CyFunctionType_slots -}; -#else -static PyTypeObject __pyx_CyFunctionType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, - (destructor) __Pyx_CyFunction_dealloc, -#if !CYTHON_METH_FASTCALL - 0, -#elif CYTHON_BACKPORT_VECTORCALL - (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall), -#else - offsetof(PyCFunctionObject, vectorcall), -#endif - 0, - 0, -#if PY_MAJOR_VERSION < 3 - 0, -#else - 0, -#endif - (reprfunc) __Pyx_CyFunction_repr, - 0, - 0, - 0, - 0, - __Pyx_CyFunction_CallAsMethod, - 0, - 0, - 0, - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - 0, - (traverseproc) __Pyx_CyFunction_traverse, - (inquiry) __Pyx_CyFunction_clear, - 0, -#if PY_VERSION_HEX < 0x030500A0 - offsetof(__pyx_CyFunctionObject, func_weakreflist), -#else - offsetof(PyCFunctionObject, m_weakreflist), -#endif - 0, - 0, - __pyx_CyFunction_methods, - __pyx_CyFunction_members, - __pyx_CyFunction_getsets, - 0, - 0, - __Pyx_PyMethod_New, - 0, - offsetof(__pyx_CyFunctionObject, func_dict), - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_CyFunction_init(PyObject *module) { -#if CYTHON_USE_TYPE_SPECS - __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL); -#else - CYTHON_UNUSED_VAR(module); - __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); -#endif - if (unlikely(__pyx_CyFunctionType == NULL)) { - return -1; - } - return 0; -} -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults = PyObject_Malloc(size); - if (unlikely(!m->defaults)) - return PyErr_NoMemory(); - memset(m->defaults, 0, size); - m->defaults_pyobjects = pyobjects; - m->defaults_size = size; - return m->defaults; -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_tuple = tuple; - Py_INCREF(tuple); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_kwdict = dict; - Py_INCREF(dict); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->func_annotations = dict; - Py_INCREF(dict); -} - -/* CythonFunction */ - static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - PyObject *op = __Pyx_CyFunction_Init( - PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), - ml, flags, qualname, closure, module, globals, code - ); - if (likely(op)) { - PyObject_GC_Track(op); - } - return op; -} - -/* CLineInTraceback */ - #ifndef CYTHON_CLINE_IN_TRACEBACK -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { - PyObject *use_cline; - PyObject *ptype, *pvalue, *ptraceback; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject **cython_runtime_dict; -#endif - CYTHON_MAYBE_UNUSED_VAR(tstate); - if (unlikely(!__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); -#if CYTHON_COMPILING_IN_CPYTHON - cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, *cython_runtime_dict, - __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) - } else -#endif - { - PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); - if (use_cline_obj) { - use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; - Py_DECREF(use_cline_obj); - } else { - PyErr_Clear(); - use_cline = NULL; - } - } - if (!use_cline) { - c_line = 0; - (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); - } - else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache */ - #if !CYTHON_COMPILING_IN_LIMITED_API -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static PyCodeObject *__pyx_find_code_object(int code_line) { - PyCodeObject* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { - return NULL; - } - code_object = __pyx_code_cache.entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = 64; - __pyx_code_cache.count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { - PyCodeObject* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_DECREF(tmp); - return; - } - if (__pyx_code_cache.count == __pyx_code_cache.max_count) { - int new_max = __pyx_code_cache.max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = new_max; - } - for (i=__pyx_code_cache.count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - __pyx_code_cache.count++; - Py_INCREF(code_object); -} -#endif - -/* AddTraceback */ - #include "compile.h" -#include "frameobject.h" -#include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict, - PyObject *firstlineno, PyObject *name) { - PyObject *replace = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL; - replace = PyObject_GetAttrString(code, "replace"); - if (likely(replace)) { - PyObject *result; - result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict); - Py_DECREF(replace); - return result; - } - PyErr_Clear(); - #if __PYX_LIMITED_VERSION_HEX < 0x030780000 - { - PyObject *compiled = NULL, *result = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL; - compiled = Py_CompileString( - "out = type(code)(\n" - " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n" - " code.co_flags, code.co_code, code.co_consts, code.co_names,\n" - " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n" - " code.co_lnotab)\n", "", Py_file_input); - if (!compiled) return NULL; - result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict); - Py_DECREF(compiled); - if (!result) PyErr_Print(); - Py_DECREF(result); - result = PyDict_GetItemString(scratch_dict, "out"); - if (result) Py_INCREF(result); - return result; - } - #else - return NULL; - #endif -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL; - PyObject *replace = NULL, *getframe = NULL, *frame = NULL; - PyObject *exc_type, *exc_value, *exc_traceback; - int success = 0; - if (c_line) { - (void) __pyx_cfilenm; - (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line); - } - PyErr_Fetch(&exc_type, &exc_value, &exc_traceback); - code_object = Py_CompileString("_getframe()", filename, Py_eval_input); - if (unlikely(!code_object)) goto bad; - py_py_line = PyLong_FromLong(py_line); - if (unlikely(!py_py_line)) goto bad; - py_funcname = PyUnicode_FromString(funcname); - if (unlikely(!py_funcname)) goto bad; - dict = PyDict_New(); - if (unlikely(!dict)) goto bad; - { - PyObject *old_code_object = code_object; - code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname); - Py_DECREF(old_code_object); - } - if (unlikely(!code_object)) goto bad; - getframe = PySys_GetObject("_getframe"); - if (unlikely(!getframe)) goto bad; - if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad; - frame = PyEval_EvalCode(code_object, dict, dict); - if (unlikely(!frame) || frame == Py_None) goto bad; - success = 1; - bad: - PyErr_Restore(exc_type, exc_value, exc_traceback); - Py_XDECREF(code_object); - Py_XDECREF(py_py_line); - Py_XDECREF(py_funcname); - Py_XDECREF(dict); - Py_XDECREF(replace); - if (success) { - PyTraceBack_Here( - (struct _frame*)frame); - } - Py_XDECREF(frame); -} -#else -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = NULL; - PyObject *py_funcname = NULL; - #if PY_MAJOR_VERSION < 3 - PyObject *py_srcfile = NULL; - py_srcfile = PyString_FromString(filename); - if (!py_srcfile) goto bad; - #endif - if (c_line) { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - #else - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - funcname = PyUnicode_AsUTF8(py_funcname); - if (!funcname) goto bad; - #endif - } - else { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromString(funcname); - if (!py_funcname) goto bad; - #endif - } - #if PY_MAJOR_VERSION < 3 - py_code = __Pyx_PyCode_New( - 0, - 0, - 0, - 0, - 0, - 0, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - py_line, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); - Py_DECREF(py_srcfile); - #else - py_code = PyCode_NewEmpty(filename, funcname, py_line); - #endif - Py_XDECREF(py_funcname); - return py_code; -bad: - Py_XDECREF(py_funcname); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_srcfile); - #endif - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject *ptype, *pvalue, *ptraceback; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) { - /* If the code object creation fails, then we should clear the - fetched exception references and propagate the new exception */ - Py_XDECREF(ptype); - Py_XDECREF(pvalue); - Py_XDECREF(ptraceback); - goto bad; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} -#endif - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *from_bytes, *result = NULL; - PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL; - from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes"); - if (!from_bytes) return NULL; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long)); - if (!py_bytes) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - arg_tuple = PyTuple_Pack(2, py_bytes, order_str); - if (!arg_tuple) goto limited_bad; - if (!is_unsigned) { - kwds = PyDict_New(); - if (!kwds) goto limited_bad; - if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad; - } - result = PyObject_Call(from_bytes, arg_tuple, kwds); - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(arg_tuple); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes); - return result; -#endif - } -} - -/* FormatTypeName */ - #if CYTHON_COMPILING_IN_LIMITED_API -static __Pyx_TypeName -__Pyx_PyType_GetName(PyTypeObject* tp) -{ - PyObject *name = __Pyx_PyObject_GetAttrStr((PyObject *)tp, - __pyx_n_s_name); - if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) { - PyErr_Clear(); - Py_XDECREF(name); - name = __Pyx_NewRef(__pyx_n_s__36); - } - return name; -} -#endif - -/* CIntFromPyVerify */ - #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* CIntFromPy */ - static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(long) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (long) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (long) -1; - val = __Pyx_PyInt_As_long(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(long) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(long) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - long val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (long) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (long) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (long) -1; - } else { - stepval = v; - } - v = NULL; - val = (long) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((long) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((long) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (long) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to long"); - return (long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int) -1; - val = __Pyx_PyInt_As_int(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(int) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(int) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - int val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (int) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (int) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (int) -1; - } else { - stepval = v; - } - v = NULL; - val = (int) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((int) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((int) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (int) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); - return (int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; -} - -/* FastTypeChecks */ - #if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*); - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (cls == a || cls == b) return 1; - mro = cls->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - PyObject *base = PyTuple_GET_ITEM(mro, i); - if (base == (PyObject *)a || base == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b); -} -#if PY_MAJOR_VERSION == 2 -static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { - PyObject *exception, *value, *tb; - int res; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&exception, &value, &tb); - res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - if (!res) { - res = PyObject_IsSubclass(err, exc_type2); - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - } - __Pyx_ErrRestore(exception, value, tb); - return res; -} -#else -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - if (exc_type1) { - return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2); - } else { - return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } -} -#endif -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i= 0x030B00A4 - return Py_Version & ~0xFFUL; -#else - const char* rt_version = Py_GetVersion(); - unsigned long version = 0; - unsigned long factor = 0x01000000UL; - unsigned int digit = 0; - int i = 0; - while (factor) { - while ('0' <= rt_version[i] && rt_version[i] <= '9') { - digit = digit * 10 + (unsigned int) (rt_version[i] - '0'); - ++i; - } - version += factor * digit; - if (rt_version[i] != '.') - break; - digit = 0; - factor >>= 8; - ++i; - } - return version; -#endif -} -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) { - const unsigned long MAJOR_MINOR = 0xFFFF0000UL; - if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR)) - return 0; - if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR))) - return 1; - { - char message[200]; - PyOS_snprintf(message, sizeof(message), - "compile time Python version %d.%d " - "of module '%.100s' " - "%s " - "runtime version %d.%d", - (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF), - __Pyx_MODULE_NAME, - (allow_newer) ? "was newer than" : "does not match", - (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF) - ); - return PyErr_WarnEx(NULL, message, 1); - } -} - -/* InitStrings */ - #if PY_MAJOR_VERSION >= 3 -static int __Pyx_InitString(__Pyx_StringTabEntry t, PyObject **str) { - if (t.is_unicode | t.is_str) { - if (t.intern) { - *str = PyUnicode_InternFromString(t.s); - } else if (t.encoding) { - *str = PyUnicode_Decode(t.s, t.n - 1, t.encoding, NULL); - } else { - *str = PyUnicode_FromStringAndSize(t.s, t.n - 1); - } - } else { - *str = PyBytes_FromStringAndSize(t.s, t.n - 1); - } - if (!*str) - return -1; - if (PyObject_Hash(*str) == -1) - return -1; - return 0; -} -#endif -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { - while (t->p) { - #if PY_MAJOR_VERSION >= 3 - __Pyx_InitString(*t, t->p); - #else - if (t->is_unicode) { - *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); - } else if (t->intern) { - *t->p = PyString_InternFromString(t->s); - } else { - *t->p = PyString_FromStringAndSize(t->s, t->n - 1); - } - if (!*t->p) - return -1; - if (PyObject_Hash(*t->p) == -1) - return -1; - #endif - ++t; - } - return 0; -} - -#include -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) { - size_t len = strlen(s); - if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) { - PyErr_SetString(PyExc_OverflowError, "byte string is too long"); - return -1; - } - return (Py_ssize_t) len; -} -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return __Pyx_PyUnicode_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return PyByteArray_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#if !CYTHON_PEP393_ENABLED -static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - char* defenc_c; - PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); - if (!defenc) return NULL; - defenc_c = PyBytes_AS_STRING(defenc); -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - { - char* end = defenc_c + PyBytes_GET_SIZE(defenc); - char* c; - for (c = defenc_c; c < end; c++) { - if ((unsigned char) (*c) >= 128) { - PyUnicode_AsASCIIString(o); - return NULL; - } - } - } -#endif - *length = PyBytes_GET_SIZE(defenc); - return defenc_c; -} -#else -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -} -#endif -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT - if ( -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - __Pyx_sys_getdefaultencoding_not_ascii && -#endif - PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif -#if (!CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) - if (PyByteArray_Check(o)) { - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); - } else -#endif - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { - __Pyx_TypeName result_type_name = __Pyx_PyType_GetName(Py_TYPE(result)); -#if PY_MAJOR_VERSION >= 3 - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type " __Pyx_FMT_TYPENAME "). " - "The ability to return an instance of a strict subclass of int is deprecated, " - "and may be removed in a future version of Python.", - result_type_name)) { - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; - } - __Pyx_DECREF_TypeName(result_type_name); - return result; - } -#endif - PyErr_Format(PyExc_TypeError, - "__%.4s__ returned non-%.4s (type " __Pyx_FMT_TYPENAME ")", - type_name, type_name, result_type_name); - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - const char *name = NULL; - PyObject *res = NULL; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x) || PyLong_Check(x))) -#else - if (likely(PyLong_Check(x))) -#endif - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - #if PY_MAJOR_VERSION < 3 - if (m && m->nb_int) { - name = "int"; - res = m->nb_int(x); - } - else if (m && m->nb_long) { - name = "long"; - res = m->nb_long(x); - } - #else - if (likely(m && m->nb_int)) { - name = "int"; - res = m->nb_int(x); - } - #endif -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Int(x); - } -#endif - if (likely(res)) { -#if PY_MAJOR_VERSION < 3 - if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { -#else - if (unlikely(!PyLong_CheckExact(res))) { -#endif - return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - Py_ssize_t ival; - PyObject *x; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(b))) { - if (sizeof(Py_ssize_t) >= sizeof(long)) - return PyInt_AS_LONG(b); - else - return PyInt_AsSsize_t(b); - } -#endif - if (likely(PyLong_CheckExact(b))) { - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(__Pyx_PyLong_IsCompact(b))) { - return __Pyx_PyLong_CompactValue(b); - } else { - const digit* digits = __Pyx_PyLong_Digits(b); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b); - switch (size) { - case 2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - } - } - #endif - return PyLong_AsSsize_t(b); - } - x = PyNumber_Index(b); - if (!x) return -1; - ival = PyInt_AsSsize_t(x); - Py_DECREF(x); - return ival; -} -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { - if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { - return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); -#if PY_MAJOR_VERSION < 3 - } else if (likely(PyInt_CheckExact(o))) { - return PyInt_AS_LONG(o); -#endif - } else { - Py_ssize_t ival; - PyObject *x; - x = PyNumber_Index(o); - if (!x) return -1; - ival = PyInt_AsLong(x); - Py_DECREF(x); - return ival; - } -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { - return PyInt_FromSize_t(ival); -} - - -/* #### Code section: utility_code_pragmas_end ### */ -#ifdef _MSC_VER -#pragma warning( pop ) -#endif - - - -/* #### Code section: end ### */ -#endif /* Py_PYTHON_H */ diff --git a/handlers/payments/cryprobot_pay.cpython-312-x86_64-linux-gnu.so b/handlers/payments/cryprobot_pay.cpython-312-x86_64-linux-gnu.so old mode 100755 new mode 100644 index 910e769e8e7959759b05c6b2928e090402d5f925..7011dddf637ed0a2cd1a58f66d01bdb47d89f33f GIT binary patch literal 442200 zcmeFadt6l28aFW92pS`!?nG&0U?9-oZzcvk{JIzldBm@pZ;QyM{w9d@#xIpY zpPX-e)Bcf2L4{lTKWUa-)AiiJF0 z3w(zKpB)zEK5pTcj(SDP)$ zO|wX!W#QjiE%-Ps_zZ>p^rX+jEc($|7VUDE1^*I@c9~`&=MIZ;`DBZB9A?oUcUb5r z%|f1)7WG|cfoECxv3VBdK44L=%PjiuG7G=)h6SIaEZU_CdhV%xpSI|~i!JKa*P`6F zE$Vxn1^>Mk`aBHn(vzI~Eb7&Qa(hbOWnm|yEchI4VTZ3+)T`D)&hsqV>ko_iZnw}6 z*w|e7uYTMXWVUmS^SY%P({ucVLv9PPJE&Agd7INlV=<`8~ z_PWrbUMnp8)sq(W`qo1JVHWlMz(UT?Eb4WYg*?d?^{Th9=SM8;d5wjgoMs_Uo`v4x zEci^fsP7^ea!+y5nHKGSwFSP&LJzAg?EFg$`KMUOpJ37M6D;(6CFJSJ|J-bm{v`|k zGcDSEpM@UQTG-qD7JB~0LJwUQ@|0W1Ki8st_gMI`>n!Z*0t@~Q3wc&s@R@C)w?+%S z&9&$k8!Y3e1=82A6VGQItx6`LjT`e zl$&Q!ufr_#bBBdp9b+MXhK2s0wvhi)i~dq)(JxMd{q)qY&$Os-x&>ZfA!n|IJhxle z=S3EHjYYXLE%g7qMSnRPdUN5w`k86rZ|}Cy+ct}SR{+L6`F}h7Ku>yJXTj$^3%#9h zVLyLZ$Ug@13{fi!y2`@Nf40!uNf!7R@ad^uUW;}NTj=L;3q99Z*wsP{`H!~HkJrLZ zdZXNdw*I!xI0%dn*$4aN0%d_QqCT8VLE37EIuDH@ySTQjxqok~~ zaALufl0ts3=R0{*s|)g`7nc^46yJn|*|YOT7Z#M1luf1UiA5EK1=DhT1-`<(v4y^j zs)~xjQlBl43Y|J5Z)(wuyy*qSB`n)Gl$PVGsG91tWzQZ}P+2&B%Jqd)eR&gSmlp!b ztey%MrG*s*zOstU>S9VoSdOo(+yi+Fe8pv@z(g)jWlq(UsU-!Km6WccBJYZdVqf8; z(u#uON>(MFo0#KnSp`x}DlMK`HmxvkOhwsD2vS^n9g}NfMU^2J)ox5dNu@!Xd4!Oo ziy?4Mp$`Jh6y=U7tC(335q36IJJTr83q>2%BL>E`x2*I!E=47Dnn#&=)r+U5mlPMU z8lmQ%(rJa&2Cs2dGp7_*!H-UQWTRLT(}kl0Nl@s^SV0WD14lkU~Y9@aD`$`}i`eNo2_wAVp!h zFa)6ysw{Dbd=sileZ|otPcA5_iqv6Z6?A1ZLQdfgRfVNf3-dCH3a8Eh2LNPe#(lwl zOi3AQUG^)RPQ(%?6qb{9WtB~<0(aDf>I6XP8$!l(A1rT5l`kTc$fq<{M%m2rf(q&v zqh|XG(<>?pV3}wiZvB8oH^?X{EU37muwcf7!s*nO0v?-zURna$Q(ElHn_4luyrOJM znJ=%rU^YNrX3|Y+uxI3;tFwL1=Ny_4N7c_WAXpxWqh+G9z z&3>UPdFxE8HTxVqeAtm+;L^7+>K=w)5v@Xm{eL02W&_} zQqu?+acoj;%yK9dw=&#jrbyg{xnEIHP+nd*jX6)lo=K@R7PB-YI3JLaiw!qXrpnw3 z*U6}YY2aQ(Ba~VAgyN}1!o!U!DGBMj=-e`--y5D#w?W zP}NBTtoZawF%FQstc=KvMj2NIFHu&(92-lTQ3fwZ?mjX$n=V$E9r_6Z5iuGIj1K^U zi0-uG$%9ZujB+OwlwKEc1UV(e7-d98s&z?WH7B9Fyv&l4;_}MkO0EF#ft}q{SSm@! zMpD=e*#eEo)T7AS#!=uwL0QD?klXOnyg8`N#?LCOm|jwLqcLDdx-CT~$iae?9Nx`Y z=R(ockGNZb3D2sO`c1@NjVrtk1~7|BBN~sFDO3Yz?n7umC72^=S;gq$S;f=Hv<1lh z9o3d{qh|cF+Lu}CLz|)VmJ~`+AMTP5ME)MV9O4D!sF+&Bx_v2+L|CPGpQD(~(9q~Y z3I^FA5s^kXVQ*zo@pO{hXf4+F%c@|9%-|@jvFyYW6gjpF@WYDG&@$95kQgwNi&u|*1_kzHZLlKJQ z9QZImS@;zVAY(A*kgJYZta*!>XCy6(j-(ML0;2*iK}cQzpy2vbs^Svv9jRR2PFV%Br(pg;Mvvhodo~4S6$r5qn6XBZ zpzMmWY8H^l=?u5s^Gyo#z=>7!;K@!_CDnuVP){o< zgXo9{DrZwa%m7ja4NEPqt}4&0_7#>=zv1OX^0NYvo;qcD;nd;g4T_J5 zks%3YRy_EeR#GS?j6!A>28h59$py;8U=0xku!vLTgK$all&Qli%Z6QG8|(Fq%E%i& zEcyJ%rFk`cSV{yv&xFq#c0SGDdqw?=0o7X|eel}{|DscHs%NyPlqN=b>`~mPB$Ly@ zWtsO(E!H%qJyWKhQXZP4SwrLM;PiYshIBkf zS|eR@=iOK#>uakM*r4KKto+z*je@Q^z8EW3eQfs$dJRk8+xD2CeaF%L7~6B8>0_MF z#Ih~>lrP}FiQ@dFfhP&vy%fdcW8eneq~KSI^P6;ZiRitlG@LNUtRt3)&=|c*Bmq@=w!5c;Tb_HK9(r;JrEh2q~fk4jr zg4efG!B2aT<6R1#D$?8Tjkcec1pinC≪P3LX;a;}yI{q<1TL@?BgWO~FH#a68Xe z@C!xyA_Wg+^7J(dez8bjui%|+e0@2j;6ICgy+y&xX=59ob_K6_p5wZLza#X}so;%* zPnU|X<$Rp?MeF}FL!S!XBKV{#_%|ZGTfsX-dQHKb{>jVDSMc3}PmzM#R`T@a3Z72~ zzwiku_&&i$SMXkt}Gf(eQa6|q?1$T;ZBwxV|d5RP~LsZnr4 zo_Ym$Z{+El6x@)fS;3n$p1woDjsB%8cxVhy->KlP6&#O!Fj{X$|8gpLhu{;h;7N~g zK1m9Gq_D$O1-Fgm>2no)kVv1e;7KBVk%GHday~T*exl)*6g*q-X;g5VXs-?hKTYt7 zT^_9;1J76RB$2*I!JY33ITic@Lrw*6dY`9nQt*)?eY1imeaO>yDtP0&9Pd)_&}5F= z9*VA)VL!17Ub8~@PX%{9$MHl3H|!@#!J7o1R0U63#rb3__-IkzTm=saKGh0-xkz85 z;GH6Uy@I<}^KzRM{7OU53hoqszD2=pYdD`R3O+^fX;*N!;Im!9LxPX1DY{(@Ka;57 z`RDR>bSt>wXEX)3rStUp3U2tBA_dQ;gUk3dDfmo7KMEdd;^}PH!*)nRB-n=UT(gE_gcd7A_dQXjPtKo@FSM<^oPu#}gGiLIjVpQjd<9Pu z`YclL{2O_>H445{@UK_!7NMUe1&fY?p$E1RoncV1F=mA1}iWK~0!KYlole)Q{ zs};QCFwUn@!Os$WmMM6;Ht<5ut$qFhbEJC5P}>lM8GevUUOc(dTstl-;4{LrG{Zm}-8 zUBO=xd^#1}HJ-;g&VNMLH?)n@@d}vf3wkvqM zu#?b*kK!XuMkRDOd3P%elQZDtL#mw=M+_3I49=(*6Z82N6&LF!tqN|eE43?ljf2bCrQpsZIbPiwt%r+*-WnC$J%OihRq$+M zTzDaxkNYZ~-lgE#qF-wYZmbvNs<_ZY{EN~2FB5VmDY$J7pHJl~c;nL?Z&mP)M>(#m zxL6lxdMUcx>%}~}S;3P|;qBX@;PZ`npMpEv#k}w3X#O9Hd26hKCpGi*E(JIECn|Wy zvpl_9!AA;tGzISv^W16$pJLd9f;S00w<>tM&~yAN(e=s}>lm7X+r)f0SHX?-k@#1m z`P^uSzf>!DxtM3wD7dY+uyY0P_=C@p5%D5 zg6E3$iWUXW_VRLD6}&^(bGw4)2|n8uyuFQ=+o9l1PjI|T!KVv8w)N3^Yv0P#$0~UK zKRE7E@EL+nqJr0?@p>gGxJ&4#M!|i8PrZVdkLG-u6nw5o->l&68@QYy1wUJ?&umd} z*SVa3hk`E@{B;F)Z{+-K8>01gyGS3a;N_cy-V}VPNS~ro0`u5tPE z6?~+z9;M(N=kfG43jUywr(VHb!Y?%`_~Rmdvx2)t`jCRRi1b?&yiv4Qhl0N(((4MI zbQzc5wlP}&8%6q91$T+|aw+&*B7LHQ+l2i23jTpeU#{S{iuLvy1^?a{7ZluBXKqsP zPX+(&3jUSAI~Ck5#+Ud_(RyeRFEnu50o{Z}h^rx^F^72Neax6ft;H~Mp{ ziVMG!zd2gY+l_N63Vw(1=j951ufVGne1*Vk6#NN+H!8SI>TOzhc9_txLl3Y5?in_O)15>D@LG(Ii~Ki&ZGn<(L@N_dilCrEgzgb$T)w}hW3 z;hKb}NqDw|i&urRySWnXmeS`-_-F|)lJHCkFPCsl!mB0RBjGg?ewl>VOZepy-YDS{ zBz&2KPn7T`38#108J}hezrq0V+alptNqDP-UnAim37;w9TO_k>X&!aF5=u7r0P4Znt>N1)dc!Kd}}xY*r938%7+Pm+WiYrAwWRl@OLK;+|=aJ+IN^3fz5uO^9nvLzf3Bt$;B5{_4O zL_YZvF26UVNWuq1Qsed25*{bv)e?S;gx5&;u@YV{;qemQDB;IR_%aDULBg9P{6qMVNqC}!=Sz5! zgcnG7s)SFGaJPg{m2geMr%8CWgcnM9u7ppQ@O%lsPQr^Myhy^!CA?U|t0nw;39pgx z84_ME;UyB@DB)!izD&Yzknko6uaxj+3HM2Oi-gaT@Ky=GQNlwKUM=BUB>W}`Z537;q7x`f{%;hhp*BjH^VeyfDr?lSFvzJ$k0c&&sxCA?0;<0X87gu5hs zp@b(&c)f%tNq9iQQziU133p3)P{K6{UnJq#65b%;xe|Vdgy&0mql6bp_?;47F5!zM zyjsGSNO+BeFO~3m3BOyy8zuZ63124R%Ot!>!ta&vW(j{l!doQ#K?!e_@FoclN%$iY zzD2?xm+*E8Z}wE(w2D!fi`T`+rWtVn@`12C(lJK<>o+#n}l<*`8Z8-y-3S624W!mr3~R65b@?Z%TNxguf->EfU@? z;jI$>u7rmqe4B)Ck?{8+UgF=+?UKOKnF*GcqFlO90yHj^Gm^m>y%n&?#~J&5QPCQS>+ z;l(C>4AJvV`dFeXOgf(EDJD$|!{G@geLT^lO!@?(hnqAl42Or9^hrbyH0hIxjxp)M zME~?hr2a0VcbfDmL~k?cAw;h?=~IbbWzq>muQ2J;h+b^crxQKjq|YF_!lV<4o?_BN ziJoB6XA(Wiq|YLHxJjQ)^bnIihvnigooqfB}P(Zfxe7HY#o zOnM~I15Ns3qGL?@5~6?lJyL%+(K}5#o#<^QJ&Ne{CY?d_Dw7^f^a_*CBzmz)k0E-# zNslGE!lX5#r!dA$pZbPb7MUNlzkru}M!RdcH|tL3D*l=Mp`|q^~4;f=ORR^eB_Q zn&{yseGSn=O#1Ic4>aj(iHlu6GZdbmlK5Iw}CXA(Woq)Um8G3hd* zf9i_VzntiuCVd0Z+f2HG==CODN%Sg{_7T0pq^pQtY|^uco^R4O5?x`^)kIG*>Dfe2 zFzK6!9%a&Vh#qdzbBP{e(l--5(4^-P9b?kB5dG8sNd0Sw-f7ae61~l&=M%l&q-%*@ zWzv44SD17i(Th!b0nzhKdLhvjCS6bT6q61RJ;9`JBYKoc2Zal9 ziHiU!?wxMDH}|JBi+A(u;{+Z_;-Wy~?DQ5WT{rmlD0$r0*trzDeIhbcIPT zBYKKS-%IoalfIAWQ6_yq(Zfyp0iuVP^n*kXH0k9;$C&g(ME~@!Nd23L-f7Yg6TQu( zR}j74q#q%Al}WE8dPRipKJ9|IzP9O(!59}Pp6ottx7`bSD_CKimu;2h2Epk-zxMDh5k^X-&W|&3jL}=uT|)06#6lRUaru0 zEA;IOy+EPoDfBFbE>-C13Vp3YPgdx03Oz=lFIMOa6ndCKpRUj+EA%l6-Cv>mD)fP) zmG)QYJqrD;Lhn%M4;A`th2E^tuPXFfg?>h%A5-Y%3VpXi->%RL6ndUQ&r;}8g`Td^ z*DCa6g&wESV-)&gg}y+chbi>w3VpIdAEVIy6}qoN9~h{#ze4X(=x-HzheCg-&~GdB zW`%xLq1P((GYb8fLN8b7yA}F&gD=eHHq^0HysEdXGYXtI#_X`a^|&TcI~A^s5TJR-vC!=*JX#xkBHq z(6=k}0)?KZ(6bb}RH3IU^tB2-S)s=%^caP{SfMXa=wS+dx%(v*drt$ycXEw4Sc7cg=sSuQ7@tEcfgawT422=uu0#8)ODe% z*ikie&#?{j9j^svxU||0F0F32!+&R1A6qaZzS-$pv+F7S5hT@@<4cm~4#IAuuR46O zcv)*0S)7h_+Xnj-`bq2Z#bGITSS(-4J-oZaF}McRw`~x=NT0^irwpf`p$D`;r?zg- zCEB{K-deBC+PepQgTP?v;haHicL$Hljr6`1-|her3FXs z>EG9;5B&uKPQ&WyX8Y%EyaWC3$Qvo2@`rE4O(74_T3xr#sRa+K3soPk)#|;pz+t|_ zHt=%8CqT>7rw?-srb#28AEZxCpOijvk{0+Q2TRv3EqJ4A8fhsJ_qD+2gm^8uuo>6M zQ2qvOo!(npx2s=mM@;QkF3+t%+ny}i9E-kSA>c6L7lm7SgYoRU7gQ)0KKlt3Z&QvOv(AMt_J;U7=^KaK<(!V{DCIS(E{&L z6MBQE{eCelE_h~iLneo^>b`dPFF|!Y!9EGK=e&tjun+rN`1Q2)p}(4I^8`u~oO%wH z>$KoGYv=|l(&-IWVpGEnyJ~EwM5sfT7OaS^?dUySbCj;v4)4?g{poVcbVtd$bjN_v z2|zB5Wqt7*FxIH~&bdmIcr|{twoGO0ZVQ3wh+=@Povkku)bhs+kmwWGN8 zjscmXuumO+jTP3r_MANpQ0dffL{VD9WzqaIEckB+{|(%F`y^0>yn%!S zGQ&RUfj$Yr-df=vR3ZLBerugQjxU|#;<8RGoAWlSX=W3XTU&D>P`3lQ`=#t8f8028Md=(1TSkf zej~Os!>NxzQU9^+2;0o)WQKvh5ICEe4tcO>%PFGwEWlFcl3_4EvJI=Su#^!fAC}Sw zKi9`_OKGl!bAd@f@1~_NyGU2;;uI}7k@?3#%$ZmH9X65Z4RmmupmBukA+{6k{efu@ zU3)=4Z?->1B>jD?-ctK_N$pSg%M9NXuA+7x4@T11V)!R*M9S`7&|>h4MBlku-9F#p z!M?o1^wk14Cc>}Ma1~kf8`whi^#*ImX=fp%D9#FM&aAqv^S((A?Q$C9 z4FvO~t@B;y8Q}}XSHVTZXl-NjQ3Qq#V>pfR#l8S0wp~v)vc2BGNBYJ+-QBH(v8`Tn zd?lG)(t-+l=)?5j2ExkC#k zX=yurli=m;xZ_DXF~O&4!JOFS(7ySUimJ_%S2;+YNOQYU|FV3eLKyI=`8^m)YP-69 zC)RfLsv1n`Sw$k5YQT}%NeDrbCwM-b;1~KJWJ(WgqbN}z>h=UDw#93~OJn!l%9P^pUk8+H$nEf7MJ>WxyXt)m z;k-S@2dA~g)8MA?r`L6PFkYhojSBb%#iD?XDBz~peG5eaedPjvCAFadEo~hYu#d$d zmj$o+1$ij6u@ifE)yb0*x z-UPUQght-L!~~}n@FDtGfgTD2yx0qufbIr};*fYRD&_LjuJ1+BNTN6GgQ_*2+ReSZ zX+JvZ#-ouus6kfRI!E13W3DmEr04N?3szh3hnOS=i(MFuqj)cDBC`NK?4ZeibTFbnLHKH<@wobXP^W=HyYl)xA-c1# z>EQa*ZAG;(>tNNZ@%7ucfH?|B9aUFL+u*1>8={7WJ2EwrB83)xUqjIm4ZcRD8yfs4(nEue>F}4VLpb~^0eMGE zBmIS6f`EqqHTgOG7c;R8p1#TGYiN;f$L&`s{MsD;v4FG@*D!uFz)z?nBKY*=kSA?F zxt=si8S%)zNzhT%-tdJ?28e99YF~~gZ6j`+j2otZlI~yXNo&LX17IiJ4|IlCGwIOg zXZ&urp+raBKd|>7UWYI5h|>lVSobI)8<0>xK1{mtju`ptZ!C5AUOFfsj|bX_k5Kt(Y$+hm7>@B09|Ug%(5)3Hd(iZr`;M_Q}$3Fze6! zx0p@ROhgM##{5j4Ou~oM{?=V}GI~lL>a2kp;Y*w@Ae z=wPm^X3i047xKr!jHBRP;iIl_2ItqG(#O`I^$OfZ7lDkU((KoC+ig|DQRmE2^9f`O*jqTO+0P>o zc%KplN1lWqZ{S;DRc zOh$l=Q4Na)lfVkMqLxF7$Uc1Bk}>1Q<%6^^l?JA!-jfU)42~ zM+IE;XA%I{a)Zp&O^WHb27j_37F(}IBRdulgdgIrUPn(r9Cul)7QD5F zDvU0f!ozMH3I%~~a&taZS2Y%Oiog2r8#G#*a`>M|V(Kpp6MkpFFVy`nkH?D9!~dcg zU}|zmKbwsnyFM_+3oUpoX2$u*PAdjtf#6tQwia}nw9}VFv3KZK)Sw~d@IGW5>(MRG z{h3N2wjV%A$)WHZNq=p6$CuF0W<#Io2m0GUSo`dHC^CNA!#@$fPr&(>-Uh!q&hISZ zXEqk}X^a=#n%@%MBQxVQS`?k<5FLUu52C=v&M) z9sc{75GVbB$~*iYLjCZ#SDep0w>~xjOFMy0z($lh9Sy912gkq^ z`{+R@xy9E4&Rs9DaUq(|ElhnF>jP9$W$KrLYPW8os7Vck4;(Ver@D_Klwf@hwe{}-0u~2KWP88ldLR< z`bB9k!{7#e%MADf7S)ZW*2qTf?Qc=qhLq`%bU%E<(midavtRimr5SnUPt?ca_3Pn; zJs6(yY2t!iiO~rzW8!iwQu2w5izY7dG;#S(Kdu*_xVSt>i_VR$hzf{o_#CbyT9qfC zBXp$ucQ83lgB*G+s%q#bx_=m>E2=_0f`@P?!gSFiw)u`Gf598hFjI_I%)T9dIy0u# z-V|^1%|&Y=^C*Z0dwhf8t+8l#nAHuZjkig|4Bt_A4DNbr=O(~4)vcu@ zn80FPzlau*$&C#_GckwesHd}4TCYtsg(lO9mZzgJ(qEW7BTjmGuhd`8;E{)ZETSgf zUwpT)!F4m~b={1fI>>4&kNHVj?%#km4(}l&KyPkHd92&;lYP*NhC^iuBmRon#q*S> zA!S@7{rj+L%vjzAzk3-!W?%gy_t)_I&lsAZW)2*NW)ACULes^mDhLNV*fVgk$j!zNl$mvo8e`I#uRn<~kNOv4%nOkFwIm*6jz4saIftwyGVZ3_aE6F8H?n~S zapt-07$5@na?Wn{a|jN-lqfjz`O|rv*$>M=WB|`ooY}(T%%O}=oBrd^{GL^u*^8GK zi8I%|!%B-0!bioKk@21S18R8A+5d%pbPR7yKlhyb-{>b`=%QDng?`=@_pJ1DoT8tH@u#8C8lMc~!XHvU{m%L?^s^CT7t>FfDB`c# z&vB?T{6N4ymjVEqr|f-;N$le6n0|gqVD?jmADUadg+(D%KkrhKK%4%YxM!uGCs?{K zBKC7DFKrdN4p>$nQa`(g{ulabg1cw>87qqTYx+5y%Nwxg(f~vHc?W+S3@zFPV}`^` zKVP59^fL)Rq@Sm0@kr@k>nI8IbEmjxrJs9QI#WLdytLbRX@}O&TZ#XLe&%9uW%?N` ziuh~#x!lmt`D{Rkex7}U>8BmWZ0P4~N)#NKGKA}=0b2s9ez>07^c%!IEB$<_=qH_* zHiegVX#G5mz8Sp+@E`c+i5Tmce)gWpDpdW~^z$+5%=*_+;KS_a4*byx*iRE@$Lwbf zB?^v=JB90KCblJ1{oKj;wCR_Ndsg}>=H*5D*D1WT;X?RB_OAwv4}V!dNf>CEe%jDG zA@yI>PXX%8^rP<<`YGGW^i$2*G5uUbiGm~lg~#uxe`R5FLeM$FQ%V|&^!OSey-&99!r8lg9WU{=p&;*_M@l2JrGC_OlLu zA_Dq(5nbm`^>Yr|;4kZE8<3$mFO+Uw>&U}0aAEqA%m)OSHG5!2E{WS&K$oU#-GH1eil=h@n`na54QK0_0tp<`Z+@s@z?b8 z&DnGyv@R^f-mKeQO7=;vO>2l0=%XQiJTczF@~xs{i8 zJumGL<5&6>@`~-ha1doAlc+hPwT4CP$kL0kNSNMA-&(_(gjW1sZ@V5Rp8N^TxX$L6 zA-YTsT_5X3w(TJF`1fOMZJC&~vzc8|7OgD)GLY6{X$_YxD|!NlIsDs?MS|eXSQf(O zH5PcW@KsKkj6^v1=J0P|iQ-DWwA-+iAGk~F!_J-Iv`&l`96?#JARXb$vLp^BzH?%6 z?1RbBQ<`5+W@(&STL#q+?b`#R*Lb3MByw6Nx{W2OCAp9;o}~-a)e}z~{nGI(tz=cZ z0pGf@3utnPPx8~R#hz@^rKb9q!@<%6Bi$sHS(+(;AAg z^jsHD3o2*4g?V{@nwK|{ez-|8>m-|_3L7S?1?DCs8OBQ6=-4IpCb(#m%4yhc6Q#$} zPO7NbQ_Ql{Cy@oONodF2^vT!9>J#2ID_XnJ&1zYC3{EKo=3vz~rIw8#-TJ36GFoHt zuVQvEDI2FS9R8bKRQ1ektb4S%6LY~+r{_mCoR(~%;%VjPRxs0obxizVwG$TT@IQS5 zVJY*DC0F!vLK9`&>cAohGO~n}F_!7o9wr|hq|LNjXcKD%*rf-@(k>PbKwtw**~Ur_ zjKw~d?`y2r)SW(vim`u3BN#Z=FQB}Rwd139WpHfpSQnNydeMfK!$0dRgD7F@$rfh<2e=JDFK zjbf_O8kQu4klt~OC=L0kSsX+C4A*bGjaKMh<{H7xR${I=fz?9@dzlxk+*`=*agWC8 z@$Jz}c753SwBGbGW9SKB>mu5*Tz{&t_O(cVy>N}p4tXad)i9&##wPCdv1C$YN_0dc zmyTzY(++7q6;OkedOjw+-oVXCSYyg=t0Tyc|L~mXXSVRGIDz+n#ono5L?>@DFG*(t zCEZeoD2j9l9f;8(=;RaY5b0RIFx`4N>kywGC%V0(z8`JNV=snWdz}r0H_)xm+=`z2 zGd9GH_0a#I|6;q2H;qOAWm@J6r@j;sdW$4<2VGMyUIZPRLT59fy9ONWtNNfKWXZ7G zYmpcIk{gximzl>Cma-Plu~ENlMiM>wDBdqg2xi*Oqqr5d(!vnTk_1Jd#P03p4C=r@ z?>draY-0CmXVT&S!AS+6Cz;(sh@uB3b8BbiSXjHwMcKK-P_1?k8xAFFFG3VR3$pIy zLt6WZiNe}bkv_`WX|$J(JC%$ZqWcouT5xVcuD$?MO<~zd+_G^fK4RHl;|S(ou!sLk z{(L@`2TV)g{(Mh=(!?BWlXvSAc64_KYOkU2g53Gh%pfLZqjBo!RRM69)#TSkCDPjs zH27Wac2}N+kcxTTV|((t%<2BVgPiVG<}B^kA1|Eloye*BTyMkNV_jH#KaBg_fy2mx z#F(KB6?4uYF;a2{aFc9=RQmG6xn(iSBeVLPm6@`ZC2G^>(S31vpZGRWRmjiL;Z3pM ziw)ze&IC-u(Q=;s7G&2)iM%`yci27TU2?X_I|X^++2gLFvV(PGy&(Htb__jb@Zl0R zUf^O;LJjV)lj0=sRW!;3Ct*ZEa6_lj+vrO-x&@sT$N#rzTs2yvUo4eij2T1u7~vSY zh>aQgr^|a7D*~I`4=h-}U{e#Zm(JfhJyXgM|pQ<&C*R()cYTH;!j_iol$D$RFfOqqqUQ;~=K~adFj0rlm zskbp#*0AK#5G75^PIc6-#61tUskcl}#2*-@sR%c8A@z%)S@dzmnzarYXnWCMS zkAQ;@W*#Ei$wag>>r?7@MM#V8`!Ot!d~JOb>fG$13OB#zu2#@Ei3I0hdG{T`Ky8;C~Qe?1gHnHV>6r*{OdgI z^#wM2q!XVw28woDgtEDUk1McS!wrYz zx*IznuQ94VM7=hclc)tU5@`n&Q^9CYc0Sm^SaG&m3(ScX2HRuG6Oa-{zlL1hh4>?{ zM)kgjFQgi6fWi$0K71O-x-q0sm`I8{WjGm36%5ASwapGo+3fJ2jgi+QovG}H5jAqA zas^r*mU6T>k73wJkPKpkkK0L2#7??Vv2>p_?FodmU@yav zwE(npE}8^SD>(c?mN%vM;qcNPM`_4$jNL(e$lE-L)}>{Y5NqJ?$RR*p9Hc}$MrJ)f zPV3D)g44s!0f7%q=I z`(45^iQ-8~6w43E1E#nI_Ps zeXs}af4=ty4nXlJA(J>hgg^4iyhdc&#ny?=V9d<3 zojx{<(rls;$Vj4fH!{BvmO1l!07^)thBOt ze$Enp`nA3on#hj&!&yQVwdbq^LQh&fieFC~J=Q>@B`(J}NrtRIX*}6J9)ZiWr3WS_ zq_>T6;rK$ge&Pnm+%T?FdUVed9MjeFlY;EgIy@;jrZb%)f=gqw0`r{2w|9DgoGwnH zc}Ju?_ZHk#@TNpx|8)M`5bpN%;xXI6C^+pNmfeyqa|r@;(2yr77;0<}ebc)MX4FqK$of!ch6da7d|*2afkqiiA`L98~l z9b%0#$P-1aQ6gTV9u#?a_$DpLBnjTdL=>x(O#6mgT%|d=3dPv88Snm;x-9CMaNO_cz^6yBA!RUBO)=-&B9;81-=?(T-Z!rIY z;0O#VacnXpDSSV?7tZ%^f7D>lK@v@NOR(bcl%CR-v9vWHkw4`*CO~($c^sxtp9N<7+aj_1CWn73lCe;B9!4P;hOWcU(@9apWeCco z!=is+Dn`-!K1A=~kyLJ@QNKsF9$ddHL*CbZC56<0jMT5Phx7=DxIXSM)5Cyz^)e0U zEj%f&)$$g>%<1p6#n)gz9n4@KOh1M_UB-AI@hwg$X&27=kjr?L&iojyMhAfO8PB8L zAIDXse-u!8n8Mr%HIV7!MF}i?sasB^!S3mPaO6Pz-A#QaPvh_h*eHyAVp$D^)y-n* z;|56b_Y?9jBV9P^CbAS_p;%eW4bYUT!G7r$R=2B2H%8sc*aB4z@yJT+bogJwf*wXe zr)Pv4;Z`!u4z z1W0V(>IjAzn+DWc`djR%uC!_JIZG40Y49u6B$(o%a*R!bCHtu?u}VYX$!RR3{cJ9s zp+|ku$5e^YSeh0!IiKxH7(yVTx9QF7;1SkiSe%m=&r19G0F~CJpG5^>B&jBrHAs#V z?B-MhQ__oQOM^*(c{1rO?Gs)k#v90W0hWmf-S8nta~ZlCYh$zwL=HJb%SI2NIB&yK zEb_!`b19Whp%rO*R3eE9x4q6A_#R72Sc{AV&7UnIJz#B{!f7gRFEb>*&`RR+regJU zrBhX2P9T_SQ%}E&)%Yk*3tv=@_gjN8Web1KSJ;{~=5 zPUGt(On@5FhdzfgKSg7gcs`?N@4K%b=`LkAJwezoa=|vHCCAf}mPW0QXlWsyQnu96 zT5yVJ>8Ezu5S#HruMoH*^jHP|QNzFM1eC^6OM1|*EMFD+3uqw&JGusYiG z`-!*~1h1c=pWZ!iOf@(T2FJ*}!d{FzTiVOlc#j0^#r~9}iP&`!P27CZAvAFZ!iR_^ zHncEJ%vi@X!S}R8DAEZSoe`Riu zf>YhM7J&t9c^RdlxOp!Q^b^oRfZ{MdBI9VVKN~t&_V;mUmgdV`ZUnHzgB)6P{Ag@u z-~frvnN8u$m`PA82N|PCeKK%ctv{`dGK9J`fhVWy?xJhfO(X5_f zYxG!!Sq4@#EOs0Xn?gQ5EMl;ZPJcOKMz*d~g!EBcNMeU5HF}3gqb0_Cih8gLGB=@I zcRd~17;^JriZ&38VQSu|@KKEjq}RP7WgsreM~4EQ@iu9+Aj}Fece&_G{y_}zBZSmu5bYLv3aTPeVakK8C9O@Si4Pg zJln39KFOvTyq}ziEseXt00#5_4p1 zyfg;wBOw#bi!W=2(#t+K#uI%6(HWqHgFkpWZK@02F_w5A>Jbll$ zzQVIXVJ&3Xi!}3{3k7?E3$~CNDfGMtz9V@XcwyC+&2t?uke{>1A~p1iBSJ{PI%0pU z){$w%>i>R~B*Yclguu+eQSYa%DE2Jmv5vYMLFi*i+?lwdI{l4^eK0dUiLMsW^HsDL zy@yQ+Qs$sK`r7Z=LNSwSJLVVE+ji1a5s|)&p>yC92tA4#P)u$1k)Oa;5aH9dpl;%k z&X;J05{xUR$6omE!Wee9?ck8?REOxZ3wfTA$Rq78T>LG03X9!^TVFFpxrfacxhNmE znRu8@8shfg2@^=k*8lYv=stQqwy@S|<~p}V+hjh-L+?28x3G*UkK)k_nlr7#?!t5Q zmc!P2{A_o%h4~sohyNCi0!-H z9S_w7-WI!>=WZsJ>(qU*Nk$_SQR-lv3l&8s)_^#CsCR9m2E-L@h$-7cFBk@OHqZM5 zo(+i@RHDB7D{fHO;e>pV4J(|=OK>s%+41^NUL{JAh!Y=Xy>vJxeMSSX5>_iisD{JO zgcQ;thkg~4j^2_$Lt6Cq=^R!wn9zA#y2+4^73)LBQ&>h^^jm*1QZJ1Gdkq^a_Q6{pUOFhkrk^hpOjPmxm+$ec-sCMvK4`#U!n1&~BT{ee* zOr%&=XS`UFcE0|Gf<$|YabvV`uf=2SL-mbq~Ycwt-;hz=J7w?k1J8@%;kw@U)Ws`BHOyzZcym{3Tz6 z{+u335o2J0c3m3mKdxbe-i54sV&-woH*o7$QaLsjBkk3_AlL|&1^_SF@}}ty|I9CG z;Hh%5SHpPdMGQaURYtX6;>D$UZ_m)TJ;Cu#uj5(lAibll3-_-5uD3SyHv|apdeT1h z4fYKE(6esOCE+u`r4jEWt&2|&PFxtD_O7FDJ`GT)ccqS^!hMl|Mw~585a>FLoA3n> zP(=_U{L%_iUYtx|6-}ATp1m1awF_OVou_g5`!ZuhJ}Ef(H$oct0EoABYtX4X>f82s^mj-7 zI(lpchM>`?4#Vmd8(z+46nyG?6^c_QI_FZ^G%1>ea*Y{bat{fUjf7bwVBxZX6L_1Uvd@x|+#Ek1MC=Q-m>H)EuR= zUZjo&`%)~1U=<`u*4c}Qwe&xhi?WVjCG6LK01#e{63`Yh->)BMM(X8^Qe{RrP|$`~ z0zSuh%}ETuMA-o}aUeGQKI3O^$8#c<6ZsP`LB>S>q6es^-|>Z?OP-@vWD7rQ&W4Ax zTKEaZQco2NKfg7h!5Zu_f@% zIW{aJa#V0Rj^}bPOEBcPgvk-NT{qj!{}?w-9OS~L){}==hwnpMqz(4zCR6jJ$Peq4GN$Soes#S zl-J|v6Wjj85~c5$gF~5X*&GDhqxAY@tkgBwk451gIL3VHGp%Ghf!bWQ_d5q;NJc8E zK_y7rz}Z&Yz)SfyunTDuSspe=jBMQE{hzBTZ;k{gFQt`B`J8kvzi=K(DLsgD?fSLI?Zqn?rQ;;jgd`ma|OiV3VN+ z(b3;XJVZwyDR-~|5B9NzcVSx%!y3gSvHH1?fvxp~UxePwrf}3%!M%kSK{^~8WI?Xp z8)+$waE5-m6t9RB%r2X; zMgm2$GFRdT#EK11VrvN_eP5AjrNp5!Oen`t()J#7Mq{>_Mk{T68F0Fz40riqGrTf4 zrF$nLr=ze9<_&}*>kj5Te-0+Up0v%F=l_PmRUgV^;+`wKiY=R_{6WQ2K;~Tpe;BaG zQJ6u!_#!c#XJ^R6Cxh}dXo;TMP-^YBZjWR176i%Rr}5-C4*3AyoLc)G!IZVBJt=z680tNpzcH=p6)>1^JI&*Z za7D{_&2;+?roXtap#m|+^Fng03V8{GAqrXX4^hZi;u1t55OtQxMIT5E#5-=DM0jE} zv}*HTW08#R)qoGX=LnSl3Q?=^rN44FW#n62;UC^*HQ^oU5!|7^=nN;&>ULm1^M?8& zmI011T!pGqK+3vZ6@w}DI>7MA#KfgvE10;#Bf$iHSN8%5k0y@6xb`mTdpF&&cystBi~-^eMgG$5NEm=LBI0%Fr?b+%39j%G(lVa^ z|AI_$n@%lQH6ttP$uLhaJyI}14+e;{eXl^%)K2z?a z3Q*Vju^!R~?5imHpssb`XCy{U&AZljLTns zyCA?>WXV6{iZ$!!P$a~uRK?jz3xPfL>UVgDOE$#0h{QP_;s`T#>i2**?+g7{Utq&k zqFy85#PHoroHo6b#QB2}`}G1MGML@()h80+WyF4cED;m_;8pk=5m$pC?Vdx##k>%< zz@eW2gv3q^|3Yh(sPo|rfdQ{VP4(XwBgdmUu70E|`YW!?s56s4C9BTDOThBO9lsO% zHvMf%vI$9GQY$`ZCYA9RHz_Pej7~_>PbA+Z)(@||P)d$;YD+K(-bPvMHDW3hL6*U$TPe5A2razBTXw~ai0PIYK z#-26nmjy0Z6~=1e2v+?iZ1D|QurP5M+C8!&vxHvWCAcnT63`J5{K*XZBQGMc{>5Oi zV4?b)9OO{F(>!2oUE*sNBt+`XR`^O;5hMGOf2SuE@Zbju$$~`U`Hx?a;Lo4`xakSJ z;LU~k^V6SEJ#i+l2ng%lN7u35{U)A=MH6kJAL``i5#NKK4e`afU`2gnnG$zU2QlXQ z!RT$SAQL?0l~2JBOPP(3SdV?5LZs+zt^|z!kn1GKrR(qEK1L*RsFbdWeicJFiSZTN zS+pGf)yIs%*C8$__g-H zZyPB=J`6Ge{K(e6@8X#$6Pxx%T9#S#O5|gQL55KI|JmCHn!rjtOhsI!$5zF|pNrUY z_PS%SIJ$x7wfTk^#=6Lc*vt@|!e_Um#~+T~M^7!~V~-`1rgb^+3z*M^mvCP>_7k)o zUx4t!|KeEl0e$s7!d+r49to~tIwWQ=Ar8sgJlJK+$3r>T4M}?+> z;KS=yHoRhB_F(ABht&mU{EP%Xe8Ew#_&B<7JT=T0*ciFw%=_r611|QLhZ~I6hJlD2N(soses?$Z8h$k_H$5=%Do(Q zs~9pDvEBSd5bzO3#vNk{sNZ)xX%`Ow7z;W>@4!57FM=UqJ)ICg$_nqp;3u@VjZ6i; zAd5_kEM?Okl=2q7SY|eAU>P(A+>c>OCfmD+0b!rQh3OW1CFcp_Wb0~7qY0a!iH zax7PX!zydN{WWOR4_@|bWpVlWENt|uX8Kq6sUFh4`;i240U=JzYU zs72B!LjqMH828ruk)95FQ94pb5FIH@TIx$#3O?fbf2{{G9TrBK{DFwevGkOB;8x zROzc4!Q4D@{v@Snu&=(4>5jq?a-OVrY=50e_9c}tQIxO%C4{R`89j!C{}{Px`pVDn z>{@~=EeT*8s*VTjzaihPo))Mvp^j(9ypz_TaqxPL0@6P z?jW)HTy>;=L7j0PMhm{esvTUojG~>kv9#v{o2ny}&4=E@^no#O)U(xGltF~Twn8Z=ufwBHHho>9 zWT=kzg%jyKJ}J!`I4S`XLADTMD3J2eggr@E$jSsVxb%s5CCjf1&AQcYWKTW$UpeXE ziVaPmU79PLc%L=Tr0=5nhlTn}xq)i03o%+3f6Zun_!}uujwy z+rbY11h9#`Ejts0H&{bX=zPG3qOY&k@Lse|DXMVV}aSyl0T?F=itVEUt`6Ec*oqAoP}B#B zq^^G=joIWo9Q6a}(&+kqKREVRd{DZ9DctZw%vR*rbF}M*7^c5mwEM*Mvhg~+K zFHre3QD+PTdxa?adHwk`ox^_Ck+~lh?}5S5>Bixd{pAG4Qdy9g$L{g*hn?p6jZUCJ z&hK^3m^=fm7%BO#PN9y5(?72xeblK}xDfvC6w(888{{tNO^50?dDy#fOHe08X3J@6jClA$@uC86f!e5 z9h|ZC;Ee48lB`!3kcMATqAi9C;UdVe;&_0}iqmRLE53CjrD2A=^E6xpZgjzmU$TX* zDw8*ODzEqdVeU-8tE#TPABGD-!2~skV}nKwA{x{vh|vUy+(4p1MRBTe21f* zDA!9`s#3?cTCHN$iWL=56c7PxRn$5U;Czm#;Dk8x{r+p8bMBA;`hM^CJRi?P?mp-2 zaqTtjwbx#obFNp7W&SLz);WDl{YXp$FZ8|ZZE2Z4%vcKC%DB`t#^&{vhf{E5a^arf zKyoNH^70Fp!0;Y;JZ+Lb2a%%c-nQ!OEIUH|eRfjx_G7H>#!EY~mjM;f$MTywqiYI^ zH->uT`iCyM0B2S_jp5{uYqDUcyyW?4ME69Bz&?LZ$0SMwL)ll{FJW&Ic0;wR^t7X# zr{HMw7e(U=+^;+=4$#MweCekt8BxaJObx`z9= z&Knr+g9ocvcKn)0^-jY*v%fy-Zlv_K^f*kOt{q9cYgKvkokBAw{;k}d8epnvCLf9A zX4+k1P^BKq+i5h2<9zkM_A&K8VY1l@KBLNk*S>-bAJ(Xb07LJyO3O4{DYbbRHcBy}qne zE8NQ~!LL?|&VN!Pnr+c}fykf8<~=yd4QwS3Hn1nG^GDi|+jSO_Q}s~+9{yL_1S5#) zqu{CC{6fBR=GM-jiZz8(E|Mr!$rktP%@qouMW}!vCXSISp8g=t9T-S+zl{vOSx<9@ zKG?oxXd!RytVULQr>%62sK;ZNnzZk+OIn>MYm&#X%3JMK-7b#c6!ZI7!@)}a^aPxs3)?8+ z*6FkAPparpmf1wUF4PLK(#xMMTqOmgjB1T1NA&!vs^HS0D8J>;J&prfkJt*TGhO>( zVRK8D6mpf^a=;Np`p$d=ntk?A2^LJ7du_ z=TJzY5a85zs=TC0gc8pYU`ykW4r)!7vKljK!~)UNOH{8xr5ZEn;1%S#VYx4XtjpoR zckizn9&=UZeB1K?eVgrMq}F_03@4;J6utSFrb`0aAY2m2IVVmNB_{83s@tr;stdmb z0!5R1lJ&vCC6Y%}u9yfSRfZ&VGFWK%;(8HG_9%0M+?aUkA|;7Iw$-cl_ANsMRjM~k zHj4H0xQ8k>orLh_%Lmtl;I7Q(`efF-X?C)J7I?f(r^7Y9eCEuc2enc7Nw znmtK^8BQ`_&Ac~foUG=}f+V;yHZbkRlg0+I%#U?qEuXwvnTKofN*#)lYKu z+_*Zr_qig|n72spEJ*33`an()OeBa=deTN?l>TT^r0p1`EA5+u1EYq3vO<(*bEPKZ zaOHP!a>ncYFG+yKMsZmD)$i+cqK56JPan`H;^%cNv7Hr6ST)IxCB%`$m16JnINGfs zn18ZDMmMKY(2T7jozpey*Lzv*t#|GU5rTEi9}pjs;&sX0xv)ZbS%X4iT`A)`*K(qc zBESBv<2A|W=Q7FM#{3Bc-AD z=kV$lmU_9ox?JnDRQX@#X!L=K?ay*dDdN>fi$SJhm%FKrc=fw-tAcu8Qx5|(@Of5W z*pIW-kMGT~C!1GST35;sp;_;DYHky}`jj%75NGMEg21d{|xg9@m4WnCd;`tp)TP+g_Zz8mWO>8&M4+ zzq2a4ZMqBw{{P#)+_&dw336%_(#FiDBJ_||&tmJ|#WRWGTW)0=@Re|eAiiaLUIg(i zzr`t-_?GhYj;9(MQ02FttRpcOMJm2{yqJ?Tdlv@=$gcdIi*I?p1S0BwRqB{{ZR%9K z`^FOB67^t32iOei=FgO@8*l~zF25#Ko9g?{gGAI7BYb&V6|K%|>br{vp&kR<%>^qx&F#AU~ls^myQTvivePrTk6Fcx2gmbx`rAug-eZ9K$fH6bo> z-B*aqM)TxX5X+j>F_j8&+4s5MiP#BoS*R$RL9^As+}mJ~%So`*)+~D@Zv_(Won}|- zaQ=5j5X4idSqv$jx^^Z%{T8sg?_ah4qB8!M^1qn>J^5egop+2VzvAOZ=}yz)viN{W z^~9?NG@G<0pGGEb4~b(s4&^h;o@EFQ%~UA5S&A)?C~C`kypPT5#x2Y{xjY-UFn4j8 zHf~`SV#tz5&w7%yE+NR|YZ#rL8c&8S>vC>}Q)*H+o~qRKHqy|*%$?p^uT~|GiN}-G z4Ggy+(c%l)ZLjGHCBwa@MjpH?&tR|VY*N#`NhDWY8SUSBXY2X;^z-q`dJSGAj^4cC zdS0A<9;oNn($9VL{8{>Wdp)-YkAw1?>v?A{e9mQ8Ut??_y6FqZQvLJ4VrxwMyWUHu zQ|@n3Iqyk5$J5Ub>iNX<^X+76+Md&WHJDFLf*w4Z4G}J?TQch>);>| zb9YW38ZnPWsdL2q&Hav;*Yf-8i20mzejza{p5sN?5k9Neh@eHpZP0F=Je$X1O(0fL zCA*0J;ruycdebG-dvbW8|Mq~D7#8DKSNHoMOEWr>HFI_1gM#L_aVM!saW8pM!$T%B zO||l#xk3tqTS9I|EkGvU>j5xB1#t?BBQL>K+c&%v=;iJk%6S4UYAk?^_6={p%jpQV zR1UPG`@0LknfAtNE0QqVCaWT=96MbZBqvQlzuw)7wuJz6H3jy%)*E?wS|*EY*U*Xt z=NJFksNmd({3bZJRj+=T8-}_Nn3|@!&h2?dAj+B+7rSK#G9!{>-iIN625~9Z;Zuvc zHuV|#)`leeI1k=Sr!c3pNjW-7E3-0Ac_Rb0E;2k^DD5D}@UVuxDW>6t``k2`y?BQ^ z-84kX?2lV3Q>+%uHgzvBJZwExXb>o~QYg2CjoC_EI^h!L<`(s%uX$c&E3?~LSIWoH ztasnv9n4pfS=D*^&9QMkSIj##v9d^+urCB{N6PFmJG&2uG`mhMP%SF)Eyygx!%iAv z8_Mh!_I~5a?4MN`fhT$g=rwGhgV6G@k)v!afkiw+lXb(F4I;IA)5`2sMh|T(vs>A> z3}yBWn-G=^siI@ECw+v-A`H5z7wRhsvuHp^YAa19eX#2{2TvZ@t2kAmKm16FukY`QLBa zv-j0+d1#My-O;x^QCI5KUtr6MyY!MCCh-t{|JGZeR}bJ~9@IZe&&S{=96aA@&u`na zISpO1xhAw*{#cX7s}ZuafEV;qQ;PbyJOi17p+YU&U@-=M|lnb zoOHOnn`$rr*FT{1r*3mZ6Y--7`T7|9Gat$G&zb6hW9z*AgWmG!EH<&JJenz)un~?$ zu;6sdLX661DYN+aBU@5sxKPD-77#2%=(aR3=;->ejt<*cjw>JmTuV))1y;pCwEZ0= zoQ~~C5ZO+jUx83HEoDGRt_WKAT+Xet^SeS53eZb9miPa+VRC zXIuN(CYgao`Q^O~Si#wxb8dBmy21M90ROfCkt)BOd|s`-Z#o3s1u~^bO}x#Oty9@T zE1MI7E~mqr6$c$2O~K$~R{4rM0Yxgd<}S1P`}_z9B0-y|BgL*AXrfv2UTW{4Gt&kV z#^94ajMc_&_9;k=>_x%I)i&{s1UI`7-kH7|{(l6-!ho{L@mLfyD3k)4sC$BuSKpJbB~k1HFFoK3+n?@vL+=+iUNb=%5+iy4Bm=M z1i2#D=~*v7seTC^numu~12g ziU-aj9^%#|-a<6M)Yc_fU;XJ)4^u@e?l6R{X}PG$4S&S^0z)sun`uKo2#*sYaVmy_xe_EBiehx*#1w5; z&AFZ0EBhlVrNyrnbp9ZY*rfYUK*14z6L%WVU5W^ePw4~hYfXLk;jQd3`|=yy(U9sC z-ZxT{ywHp>?US9Vl7~gNjkxX4yAi9R#LAkM3)eWK%+%#{)ZIIBaemXv4q}W8<6Stm zbbyk}+2C5lF2SK|bj{cWT)T6$*<`pAn2Wil(tEpjr2iOo^jBOwa=$?<`>4x34uYyQ z*q-+9A>2*qPoBHCZSyhjHg%sRuj2P(J;BeNshLR?8B@anH2^iVlB`0o)|2rxn8(}& z`N}L`;0+Jj_?!RCyiAYU7aoKg>}r}xQDf>!C7-}@tHR;pW%T& zVGjiN!>5T6XKB><&dW)GIX8{E`JZ2F9%7FvXKI)N4n1%oFjVXz3p(`DvHIQ$Sk{I`iOw8br_<)uKJRkP-*2#_yLCulPhWg`YkZKg z#_(YlR=E%#yv>gQ$%bNCORr;?u{ zn|x343c6`5j03ej*rE)ACv{{v9T`qA4DYC;?4(*(^&812)^mE;-@J_eB7X@UQ9 zl)|Z}17NAaVu8)0c+mQBc|C9%&V#|J=v}Io=$C5s)UoY}=b%EVBEe4+EUn-^-bV{{ z>H9yD$3L2#?uedaNyfK9cy}Cc@ZJ?p8z4<8R(fg#??1n@5qR&B0q+lvFnHf`Y8u{= zopt(0>P`aiJ9x}ZxtXYhS)WaT5HM*Hxa^G(e=LFxeARnU7$FYpe~;=E(FgN)!O7@P ziZ2))Z}BdK*dWii3Y1wyLL46aAMyPH&hcc|67Mvtu4{=ug(bP*O>mET-ua2(IaRT( z>P0W>t;(EU)`yX#>B8*Gp3bqUZYyB%&O&XtEFP$Nv-B< z$uVus*Ch~|e?#*#EfDSzqf zLc2=N*VLLEmi+QBwviN#y)jMT{~75BTnebE{Rga8{ed++r)Q6L5P`M5+PhodT4Fz( z#I#(c$|9(2$=K!HF+x2Fq=D2#-?#2$i>y^m4DO`s(}U}y4yFe;3-!W36%>#7Pj>kY z0d-fpH&<3qe>^pW6P?919gdmO70zR$Et-;TXbu?-Hb#0{-F z9t@51PqFxk8rqkVr}JOS7+Us1BXeM#G_V)haH3~d&|KKFy{u;$y9PU=N%~K*3m5Wx z?+1YD-~4YkE1&aVOzjerCH9%=2p&fNI-{6Ok?r4%2*drGM~QUo5^c32pA zWHnv${-IAV*j%*D1tyxEwrwtOM(}N=ppXNlqwHJkYK}Z^5S?B=%P3`SwT6w3DRlbo zxCoujdu4;@lxMY@j_Exz40KZXwLp5EaeQkKj|oA11Z#;1L0V!5lD8FS7rUxjdQ}5V zbi9?jY81&}Srn~t!-YVWpBzRBTP38dNG*1R$Z2~4T!#JOFa8+p4}Z)M-2U*(ywYOv z6@JtE!{+SuZ>LKz25x$TlFoW7x3WyJ_m~qpqB><)@(w)PHSn6c6j=N3ur|US zkBREXk-vq>Qf8%PbB6aC%T|5^&3Z3Qb;eEiJ>1#Mwv2wR9v}-n>OjzMrsC4?f*veW z)dE9#uu*Z+XxFs`;fMPQ-Tvmm8fY8)n|s;&jqh(>tjaR>H_uY=ECyy8MBuEq5AE1I zWNdL(mKq%HdC@5x8iR_h(Qgi?SfT#Ihpoz-Z(CW_8T*?ZO+ecI=0$(7sbPQ9np#le zKx$3U)VemBdd`{(zh(GXZ*Ctpy1(hn1;Lh0CAbi7A$d!J%?ZODS}qn2*YEei&9QgfNZ( zN^a2G8eImZ;?&67`m@EhuJV4U68m;^<$r;U^?cs=Z#WBgQA=7PzB`PDB2BV+1fm(C zJ#3`2VUMPMsSYM~4{k$|-;ic`up~iCtbI_=*_rjMHP!c9?`U;NF%T_$G3Oh-A=YhD z{(H!7uRIuqsKQ_JoXB>mho2jvZrRD5X&)iJv#ylRWyhd?^2A_bD^!CgG28W^uM8HXU91?m7yq1d9OI@ zp22%rkYdMqwn7b>F)9^XP9Fk0PW5w6QD|+%>A{|Z<~h`De z_zyj;8j8-%Xrl{lu#kcACkKM{{$T!SiSq8jfigVb(ZX%OQ;PK}4&P#=7*aCYdz>t? z1B{ljvBAF{nlgh3XJWm-1>cAgsMl@@5+7LcVm;L)FRLs_94E||QD_8-=!9Chj}s^A zT6zzM{mB9K?BUEcn-1$0+24)UZpPZnh;C1&fqcMF0Xf*~lt9~CK>h?wn=U(6e)hns ziSf49a5Tj=>x~T*n7Y5LrDh+&{-t1V1TglNgDn0IJa|i#+Doa&l&Vw)?y-O$Q-ax$|PydtEV z-hm;t$rAxi#xi$|ctJ~SC>@*oM=DIO*?+qWd0RLX}#v#^{0Fg$Bpy510cTS=i@33_GlZB85CQhcjQ z9Uk{9-EzyjGL5o{Az6g}!bUhS$h|>AFW0x0*h7aop>z(th=kJJF94pd0|C#a*k8T& zN=;X4-GQY3MoPr7iU$?(SL@T;`cwzc@Lp0%K~%kCDJb!>kT(HY``1GOnydSi>+SD@ z$tS`m$i$hXpyK{>l9Dnw9UicSucA>U`>rn93O5WH6O}3)S57nz072F8J2q z@5O8HU={xNGS{3MQ#_jL27k~;dKJ5CIMSk}V&;i%=VAIGstL_o+YTU^cha&Aad|HA z&fR$snv64eVtP6SV#A2?mxLN9KLqoGGotJ$rWYvj@2sU>Rmd3{$IX8brrqGhtO_u;h=~m|KUfnT+bg(&SA=bH4n7Cod#$2-@$rz2H2RWzHWsCESr;!DY+LbsGE|jVFg-a1UeMjkot2e1U65r1Ai+TrCVENbnA&q4LTC;6Xy8`2=F%?K=(d_ z=C%1UsMJ5`J6<;F<=4gtV7rb|0O-66Rre$BTit)9Zy`#&KOh?}TO9~o*yN+In=EF^ zf7;Np=%kEteblEksD8v9(BJoQH(bJ@x{0i7*wA>NqC0bEs85qbhr~q}e9@S+yYoDP zN(F6!#2S8{zZW%oGxw*B%h7$jzbJLBQr9W97hv|TR_a*{Zr&87wnQp>7b@|~ixWl9~Rns-y`$X7`1pj19KJa0>-`hjp> zzEVHT4`HytaVe+n*6RF1j#|4X!b-!;v)}9`^>)0Q`zOKYct^%tU7nt^`ww=o545+t zVF(+7^Zr2_ZE0^mQvEzFoBh9{^?Ehsbbq2~_7J7!zd@>8saoMxAEkb)R4=7;Rf8Dw z)_T|j^zb%Q>dV(jUlDQubK;1{dq=k@V60OviW)PqVrs?@tm zJ)qQ?O5LT@zkeq6XQkdEl}lYfu^@Tpk9_?nf4oNJ+e_1Qwo;W!ovhS(N*$xr_o}Z> zsrw|41}n7<5cLKqwV+iS{vYjC(bbowCuFAzA#8?XcrJPTJzxypSNoEBUnyUyQfk)z z$5#bAeUBu$57t(7)W{>_sZqsKCT+%2<#y&HHMnc@f<_|F98;LOVrs9Bc`fmF$*Yw} z4(>W2c2I3BuW^4$KXDZ_gL-jz!NbG5*d=Xt*Vs$%#aqtVsu)=p%jffiNynd9b;6V3 z{#|);iYRSGGWNANy>3|e!|rrH85`@WyZC|H)UKx~Q>voqQY~FR^3EL&sHy59!hEip zW$U2wDywIyHzN4rrrbY2C97EYcZcWQloWMPy1eSiz!h-IDc|9!O3EB>$ zg_LLGq`H-nvA+i_J&%I;&l6OKnN9SM!u?B3m8%TbvI#3-t;8+G@gY zv^Cq4SXo=|T1w%@ft(L3&YYj*3TY(y-lMP-X)F1wo)x~JZurA6$6Ys&*U2aS-NbNq z-$%$ag?bF1s)Bf^HOc=1xNnY(Cx0L$s#MV0)IV?FCku8H`z>%GP@C3qviMU}?xuB| zs5w;(gZ|gYTPBo@3f&dY%CBjeTozbv*pfA$K@_LpP)KdbMDHKyh}?Os&gjgWnS1u< zh(zn9?gClHk}JG*P$=38I8%^#Yg^u>%D-XWyoL$sW7?;g6;09cyZJ%@9i3i*AF4{=kDAnEO0;1* z-rYV{bC#`I1sO!MplkEPR87nXfp(Z&YA;``&p9E`5-Q19E8d0nbsk>_BK3+|g%Uc1 zUu}O1)rp=GPMV_M_r~Zry`&-mw^&bsISp-!rs~0`^ohVc{^jq z3eMi2-}c%2K~p9k+D~xXHlWg zi~x&Xs!X1^r6 zcB=VQelo`d@n;`55x5DCCj<9*3rq(%$zh3-b|Rus`gntP+)I+ddaXHG%-qD2RmIR* zKULtu>=b()_Y_+V3g@_AZn+g@gd#)LlCC>3Ze#srZXXh=B<4w7?g}l?bzO1l1QxYsy`O4i8sao7UjCH9#v#X-QB+%5lkwq#cxU9ZaGWe zmQ*?O92R90K5TY-!-{ECgFljk?l(W^Y(V>wAKm!VdgkFc4aOA5GUh^?vU;;y-P8_FYfW zn)Ir{dN9VSqt8b`Zf0N2u$&#MaWEx+{w6&o6ZI}teiLK$V&{faGNDcwj##~h_fdD| z(;c|%g@TL3>aHD>ABmT;xF{J;hc7djnx@I6GV8AsA`fmLqZG2_;08=Zvkt;k^n}$1 zQ55qH0Z~bZt6}wzN=8&C=l4gOio{>Cxr|4oAT`qqWM7xacw3X2VIPz8u~{NS#<@TR z`?FJBtwRBFIfy5(HPO?S`QNc1 zaT5etm%6l2xbypkuy~#KKWYiRAC|xN@_WcMr67TuW!~B=^iWxluw7$hZOwqCjsN95 zvc@|+b<{@`*$=k5!aEbQ63nUjd>Cj=)8ck@13qqihiC%oHee{Bn!NbHqWl9{StLhd zm3~G3KEk$VNkk#Zs+Kgf<)IS^)y3i_sUz6weo-e9>ab=HqugG$feV+bN!AtCq(=6v zN;b<$APwso>MT$dI3ti}0Wdp2+iZ0?^^i&-5ovZsO|r44Hv{Vq_h>br%Lp{J)v3wF zwW-t7p(G{*GnCL6T`Y;Uj1pD(nhWG!0IPluiCcp|P~VGqBjtS}zcou$0QEqTBr0L% z5;+a#UC^m+$@PugHyg1XGaI*PpLJ>MA7s!!`9Ez! zk=-7Os7j42)~rO+j$#{5c2#o5Sj~O1S#BV0s=FQ(P?K`sQQ@{C|Wa$6t@!)+`!m9TjQqlU;XL=caGPdjx!It%B!M5VHu?5ID3GZad zTFqto0x|-XKc4T{tA7x6v%c)AI7u+==AFrg9Jo>F(t-vFh0Q?w^+!pRHeFT-R!3MQ-aDzq(2mAa0aj-dh2sxNvfu+OrT-iQ)s)~Kt#Ip5p ztMdP}^3od8<$wA3stYI$?b2(;$d=#oH`XYXlwe;#l${xV(Nl2Vyr@ zL`{YFnB?DE6`DSW;N?~lEg+u&=-$J#O!3bJM8W1l{D=Zg?5?uP(7pFj7gD)x&8CRp zQ}THlK0}-vO)v1*n|69AcncDSQcn058Eyw_+6BUcRP1Elned(YgLF;vpDJYu(nB_c zn&j3cja`L(H}%p2MWT7KS$R%xlZGp-4<>IR<$&7*4)xZp)I`A_ng!7)_zfjP3Vv30 zuzob;KN;AqTH&n}SPAzz>V4XNBcY?7A$aN~Gr~1)azU$%vCEe`2;nI#)QdcZs4yswoRt^=JfZ_0570-cmyQHMVE8Lx#X0?Y*(;=%s zt_>;KfM8oDyA^_MNJ(0kR9PPCaSCF!>7U;3%5E?yFS48t_lCRc7yzTuD12Kx84 zw^nhW-TCLjozwWRVZ0F``p>c^4eSSl9Um56h0Ia-1&s=clshe3IY+m>38`Fi{7kG2 z^~j%K6<0D!r)9C4_jiYhW0&kcCS#ud8&uQO_lwbPp1$O_=2y+r=v{yDJOTTi%iL+W z@DL@_<-*_uP;50Tb;*ySNI1Gy%WvdQ=zr^_b`7$N@fj<9T0|GVRYF$drWd zkLSJr=C`3-_J&(N(+T{}DD*+TR`bTKX=vhAPsnhRmTS8rNNxVS4z4{By}y43U9ijO z?Ld<^L%x9@&0fI2rQ#Hr5(>CC3^oo2wOv$po)&xC-XrELJ)@0<>|~fkpa(Oz#^2`L zCrtX>dLjk0-JSMTyG6ihV7K@3mUlNi?(fGI#!?{0a4?fF4?6zug=Ef>2$M40L26UAVefY6f(%omjU8t}H}G zXrb(l+g^yF6|>gG7dhVEuJJsb{5hI$QrZ2}ZId%<>Z`pr(v%k5)ReInyvr5`a-;9* z+V9j@pl#)Ew~O$|T3OGgOUNgYV6XAnUt$_np7)F%Zs#Fq+~I&3Kb@+2;*l)8yU%JI zB3528=5*mx`DSD*=*^12-$@9y#Po*OV>)uc90aH z;E=_KU^^kqrAJoN!C;64pW;EoEL7L~xN)G5_M+NQAC2vTK3b?k_=}$r`HgXkUBgI? zErS3qW~Gdk?WS$iU6xgg$@}L$rQ6uizb$8mWYC6zKqsXG^!JY40q^n?jN~ev+?z6? zTPPcwpSPT>rUoo2xNbqg!wbx?iAt3Mg#OmX8GvKcd&Tl+V;=w|&_7O^pnN2bDk=7Q zZ>wRD@?T}cUMk2oya|a=0^c7;>zOA3W=Q%CSkk!4Uv4a=(sZO-hpJXLF^8C3mLa0( zUCp2AX7?L#Vz22%D&EsO1Vt!RI;(6PkqofaQCGb~`MT=^RqQqtcCd=e@1PE^;Dk{5 znlM~?AXblCcpq6k{^i=6qV{C<*!#;Y#S2V#iWkOX@JI;N{NTqLX+SV(9G%xkIBNBU z6zX?j^AG>9k3EkW_RlunOxxf;&(h%h6R9kNE*9_};Z@@Q$&cQH-iGl5U%l=1Fb3Rl^y+P{=SBF(1kXS8;Q9IJnfdKbyCGeC_8aKp z1|zlvz!wq^Zm4=f#!F-QEwQnCw84V>`8fFm>#wEW4Qk>JQ%o5@6n_;jWCQRg@iOEi z6*Z*++(w~Og>c&=z(>tPz3Mr{jSD#U;`}3gWKnNAATzUb_qZ7%H^XuES*9r{fSG5R z?rngl9Gy9D4o9Q|W-^kufLzF{3!0zfNj+IoL{Ap-FdcZkPE{ei=I;c&W-3>z{O(hP zx*zL^wXBXWcCp2CleA8;sDCqdcQGWpAbtrt0{mn$Wj1)YWgQDo7|^y`ku_vMI{>tR z0sZmzjWD3=&1uZ!FZc`t+E)WhRs451knCePFgLmQ``e;O^I{zHWAB}$CGRP0Zbcbg+2pt?vmmsNqLv5 z=qIi*$GpzrjbmP}##WS@S1QUi&J$7Y;j5@?AJsM2sHEa&P}mld>|(Kolq?E2v$h5h zzhE=#HMD|)=0#d{q++k4V%nU2&2#I`EOh>@i`gM)r}Z6X7E~T-T$qs>DP5#7i7v}MhnPni=Cll4tI>%L$ZA(ZVuzdVYY3u_l#8+8&KLfei!4H zcBfOW(e~hu=qJN&4MvrT@2R-_L_A1qA zr9iY%KfzN26RUrNbM2jSQo7U$Dm745w`S@e?kd!fr9Q3j?gxp(OIxUdc5t%oE6l)_ zHJI2fsF*(@?EPXRzVgvz^7`yS0cX8(5~QE|IGm5r%e^O%r?bn$)ER!b+16Y(cd^Vx zJ7x6vAKTGT(R-<^=W^`Cy_x?CVN2t(ZdPB!)AIo2!%=JHvA|2S~q9gW#HyoF7NVJP+)p%|CVcx1C=)A z-*Ot6w1PRE-%S6O&k$k%EB-CA5TPDbyIH={Wz#a=!&?cXxyZ(<4mQ~#DX zw-82T`nPmJ{w+Er8Lyd5ze|Xa` zyMG_pcq&e$-}1FsI=GnJfUXI4Z~qFqcfiL7vrne0#g)(>$eH14@#81}o+^LY$zJDb z5$|e<*N(c8S8_*=TrK46v~gdHgE#7H0cIaFQJXs3VDl*peJwU~z7`#lh0|+Ni6BZ^ zYex(7cUU^Kbg@R73cL`w{E3I6u9`=!46z7#2Yjvp;6@b^@Z*#a{{Qnr$L)I(lq+{D z0^JyH|5-u8JoDk;g)%btG$(|3%cPP_CxlLgV(sU)c0$n1_s?*b*_wp{{6C)KD^nTT z@&5`fiMGdyrb6rF={$JXc7^PYC*|}#yWAaPdcR_6Z{y9h)}V=I<_#Xn!CD!6Z|$g! zt420K2lq@JSzMbsmp!YA>?&dn%}2>+)2%t*xbWuDj?HQ|H&f%;!XBLOP5Yr8;H-#A z2D4*RkhsSXZ4;X^gsQ>0uQ;9>7$9P@Nn4=m1j?b?_e?fnUxAag<$q*(C*?!=8d95i zzOs3?I#SnKD@U^~5T z!1?Seeoh(<^wp8Fte_qI2}rR*ZtD9OZ^W18^BY8wQUvxe?pR&&yq-R3x9^a9ipi#@5L$Lf`<<+o>@5|e`aw(Gv{-8 zeW8~2f7#PC>nA#!STSOXEuwq1$xjr8;D8%Mf6Tr1{;S1t0;5VbGW{m1sR_J;y~!+b z!Rq68)NSkzkyGO-H@MK313dA~k}u04D5Aw&O6gsE_KB|EtFXS8 ze||Kq`1M+?nxB$PO=y3YpcaMCoQaxyZtqpWZt+0C#-klB@clm)#waK&H{VS%|x^+EQxTq&5sD}q+ z^stY;ude^9;QS8SJSx`ZEU9h>S;J~|85L?NSM1flr=~|T5|aXH@2-)6o$D-2jYzx! zpWEav>k-!Kz+4{ros~@!YL0gOfqk~dA$z0FxN{}+-$w;?eiFLuu_ZQU`__C+@UyAk zmlaNE&rN}2eg|eXSbtB_^Ydf~p3m0vl;}CP#~-N9rLlg&R(0Kv6hEjhUc0DrLYJoZinGp#PDAftt$kmI43031W&)0| ztKGA@0giB~!QY)1@Xm&7fgd&78b>gc2sy$InAqw4h;4%2H=ss^y+0!dzq(L9S5Asj z48LAtJtqL|9Rnt3Fi4GhXC7?S7XU=P=x#3zoBc&(^754ZC#BYQB()_B3eDpzkR{$S z9-GC--sjz5d@ZqQJ+1TBUfB7QXw!RKrh|b2CxNqZtxmebyQ9AM@|iTapUpA)##^`(3RuJoc{%+Pc=-3Ox4D zF7&pisb4%pwudHHeWa*0k=)aEGdm=!^PDq(lzhP2?32*Jgpjzvmr=A8IP=1r(#-NTE>s~>-zEU*3((Pc~7MU`WJ)rn7P zzYFuU*N(`AFFSs$BWbVc`Jv#srJ~FB%;#(&CiA%tO-p!>67j`$yuZcXKV^G<-rntD zU+KNoh(3;~Nq$>(bd^oJjsS3W!ukKVwMv?p<^O*ad|&?miQ$IO6&-pX{jABDW8f`$avkNX{+@p&dJyv_KrmpN4C@c=_75; zRGYl)|Dk_+v(TBNSz}RbGVhIJLOSmz;Jb~9C(Q?BD2B7uC=c&3WUtiRl$;u}HG_>O zJD`b-W02l`gToz$g2b^1bWQK;)E4SbKbd>TYVUM55lx{wio*!n9b7;NpL(e(x+O8T zRz#5Mb_i9IbKd*ZI*8hyLc4$5Ie@Oj=7oEvZq%!`?94X3=9HvRW z1S{ligCH9g7?t5x%vh_qycdJ>68gwWgpZg6bFawwNJliJZ&p~5ir*WLPoEel<$H#a zb>s$444j1OP|!TrIu_dpajZJ0c2VIrP7Iu*69ew3R6*i9^?){%6 zHU3!RX60P${q&AtEEjL}b~uH&zQ!!Am{eCw6CVXLIfR2+$~6kpt3W3%!D1fICT7&@ zjfNQ+VJRE=8<_>RN*w`EaP905JJ|=Bbfsf&t!*xl?MM8tl)c{e53@^jr-a#OKZeNF zx45~5g_hd0@>wkG5S{HQ3(oeW?X}9l>6YjMnCT3~>w}fHE_tS`w)KRdn!-Ei3P+!z zL-gzamp|frn`*8yXl_(=lxVDXQoHt65mm@4;LZ|VjnXW`A@~_AIKt~0r~fDfy$phO z2YZNoJ61)>nKn`nxBbA_y;~4RzYxt|Y^*6bt(!uDm%D3`WANKFcJ&UT&Ungl1*>gc zf2{ssxyU@|(^**7=0Tq+>VqUnr2!$sE@I#p&=rdW8aoJUsMcwE zd`?M2)kuu#u!V_LN1v7N9moU-+G<6UU^5(JQ~{7O_U9jAl@d^})8Vh0r9$C->$8Lw zoVOV2D7eyFaj>Icw~x?Wq8bz%v#YoxJqzhN-)*s;3~_k(21WYAd5k6=<)fpa3EE~5 zcT(Hl;N-@zK4x8ki{xVcj||LhWC-h}39Cz;PRqr58#M&PX_<>T*$Gf492FwEp}3$a zKnjKm??OwOA@)e%M(jy=NBq<-MC`HvvBA7FV#^>P|6AfkC&x#jzR_kEb(1#RQ=>$C zW?EN!7b3N>GC|yf3t70-rOr%yMt@JOvNB1u)TI94W@Nn9yK)S^UOcuo)xq0^YvWMn zC!o0147dzK(>SApO<+6cQS)r2G`KL7+#q=%%ahldg~_dcMKrkJWpj+rHRUO{K;;s) zfC7>%y|6gMb(C4Qqc2dMHRC{?a&+vz*>jcfB7 zK^;NU#z5bzHiHrZx42(;jUc9A8%eee=Oc!pN%yxmbq-n${E|C<>+G4YY8NJi+rPCB z@#MF_Z2>6D57iQv9?v-VNK_@J_N{c;`2PpbkGnu`AUXOYwNRd)~N!<)5gS9osyd!La^ z2MhjK6<~o>a)$+tyb=~%$nUSif=_??g;>D!&cwi*d3`~!EMfNBnDos1=Q;xzzXyNL znC@-A7Wmx5N;{mV)n2|{b+ehy^M3e-hahA<@Y7l&iSNb-ytdu7@k}xE$pYHm|0jHZ zfqU;gs`6j3T6gt(_vrci=ovf1-2iEWc7_s`*4P=UzoNM?4pp3S2YdSSo20*pmfLVD zT4vPmLRNNM2ZwEmeT20ka^OeB^v*AaYkW=A5RH?IYyL@8H(E$EIf^yL>E_;D3I zeF*)cQ)0-CFn1c<#x-at84jmbu-z-9hltJ?L_CTvrtTL^EhJ||v>kZxwg}t(hLJiy z$RB{b{|4P~^9OuJWc1^+AKQWQxn8Sl1^AZO#hudx9ro^@R&gcpsJIv*DO5^=^6b;H z9`IjO-^1~Kaj+Zjsy`Wiee8`D5(p~08*Wa~gn>Udl5d0f^Ffi}Pwa~f{K@YW;m_pD zH-bOYGw^5eH-FD5bF)CXCk7Z`RD}RI#oT zL8ca$iG_#tomQmhFxkyt%h4oNbdE9yNK~f1A9mi$SY*6xpW8s~I|byH*nMbZ5Y9&i z@_=yOgZX=J3bN>uaes5F5b{3F8~-Qab;#pe;a-M5d%3H>&eiW$CNTdiRrh78={2hL z8kKq|XkfH82_BpT9(c#;(}&7buT(vv8K5LUQt>K*d*X)%?k}nty6}D(#hhmmt0jMy zDk%!9lrhk|o+lju1a`hMXV@q=tWWLKtU!pWJuZ`weAXO zyZ?Lks8Oqb&ay|v^_;dxU5vQ!O1={V$g)SBtoL2*ePECJD+M#=I@2EYsp+ut(#TPdwKZMnK0vn`5S#&&r~3YwS5uAK@RD!LWa zjQk4LaSB-t-7J5O!1s3V9hr(GLOWHyAAt1!P$uh`>%>b`4`H$-Dw-n{56@#Q7l=De zHTzcXX6)4j)3EizpD2u`sBK2vj9;UO4Qy<2Uf%lUVGD;_3-$T&)D~br-;-jED7+~UFs;d!qlY2*{`|55J{t5RA z%aT+U_;#i8v9=tVzka&)!hxpwL3M<~l(vAnt5^@mU=hdsc9T8CCjE@&oTBrC^4Cte zhuSLR1w$6a2P`Z|oMSoa^WA}CId{7Zh%~;`V0^1*iPw9-!xt3RTV z(E_qM#`WTmPMU0Z)qrjm5mc7tdSmB1{fsjF?dw`2;n%5vjXe%5-%zGl3+Gp4IN zQSfSDLA5&l$u;#=n4w-(JyR}I1e)i_QI#6105mvSwGn`3DDh`@>>z9M<~o6$igiR= z6roR59B!=1hi8SK!DDxuVr)tB*u_kBkws&eZ9V6nP69UK`Y3m+mg`EU(+l{fl%1ITIr;5b z`TZ7{DG|dLomDhs=&RB@_LFw7B^ntYngaKWVrdE zy3Lv089uUS?0(3et#IfNke#Le?QZ&l3s|b+IKI}VW)<($5l}H%x{q2u^-VKp^9pry zx;_Q&4Hl<~iw=9DJ{(%=UHX}<4HvFy<+b#?jBsM>THTUpUQ0wAb3REH@kH0R3M1G@ z;yfT*Ku!IGU_pOsTio@y3@}6sf`@qLPXjX~kUl~os!1NoEEZk6FNW>*A*)FqUFvG) zQ+ZEUbMLU`HH?&MGAi|U3~Rj3)d)&dd`B@IFnHkusetS!bqd9T-9@tptic4=yHqEM zUJDkLQmHmL%Am8C!5)<#Fi*>-rq+^V`vTIObvY+6>B7ei2O zdl8EZqvun zWsc4cK5~_|C{soCUrRL_i)DR<6n!;mt);f~x?vrwq8m5xPJ{uMCaax>%^-@S3_rbM zIg$ses=J@Mys%iKAQu3Q14UJ zW7Inv@sPphBSe^uhHIpId_=kx(GJFUR24!*?=7GF3e5x@eM?`J=y%4qh_rCS2)D3V5j=5g`$3n-#z~0r^ z+1r`V+W!b*3Lvb4sV}w3$cQTN9HvYwUNH4ZB||&+!#wzpZszs}iC_WBUH!Gdt4+Wq+m0$FPQ>cO)uGJ9SQ3h>jDDxHIzbB{6x{Z0Y~Gr`V}dx z&Aapotj&u6r?WP9=9SC}`TVA>&F#}$4kK;L0ryc(hD;n`+R)+u%w3*P)8m%a{jwE0EyulV1l~i4`UosaBiIQc!ZBr%1fq?9r(w6sBu1#ypML{-j!qwWg zw)``^Q?+eETmD$t(2A|^7BMH#n5$CPxnYXaRv{lpVL@+Tcm;`vu|@_&a*vWBk^F@R z@8P$x%w6Z~mE>nSOC7UriH-UKsSyxM#HKmpZJ?Ft4e6Sjh2_Wbyf=o*oDk2Z_Yu6W z1|LTGJxnT05iA0GgKJG3wFC6Z3i_PY$j-!CkRaoNY}T3tqq0#Eel5BmThXZOer$8Z z$dn{itc>O`!4V$RfCsY-57PX^iIRw)wBDs$W|%PB3K~$2gZM9C{GATP_uCyjwm2N0 z6(n|`502`)^IBBDCBGrnvsPQ`_8ApoBv7K#G~Za_O?&@W(0t}DW8kMgxlpyjN;=no z3ld#M_B($5tI2*?n`B>NZxdE?z?=QMF|dd9>7D&1s5B|skMNGy^X&BVa6SJ!{X9_5 z@1~#o=vfh4gZ-%O^<0o)uOHmtkR`;)RL7Eel1_T-^am3vn);c!Q-7>2uZGCiPXg?f1vT z9qm`3R`)BF*v52EHB9G$1yOwhPFjC?ES2*t>9=62#eky%dJTYRFexGmDbfq+d zE_B$ei?fWM$Q$9ao!y*#&Tlv;RcR(s7chxdn!y<>e)+8I{E3?tkN6(PeF0caZFlu@8|(|vh#v%mHtQeh zTT5j4h&1BAO%62T8qy5@hn zD#SY-6wTMGltm~IWAN6!%yYwP0Y1-Lr3b0O0snkc&!adP@1EsIzf7+xji&OvNA<8{ zlwXSZOkO!wbYHaJt8&wobqG?=_6f>w6ahYlg~AB%R7fcZn3p()v=QE!bTXuuq6>;a zax8Q8(y@p6BZM;X!ulDc&-!bY^j5M|^H{>S^Y; z9proP^oz0^tk8-o75mS}MEObDsi&$_H8Warwl%Z6*@U`)0$06?j?)r5*8}%ZP@KW~ zd1lubx$n^hkY&tAs+tY)iSKAP(CvsHX2UL;@tcgXO?(^uwk5VxR&_!aSKW=OPU}kE z=pQT2!$kifXa=Zw$}Rp4qhEl1`R)u(p11jb9siPS^N)!9LfWFwKYuLxl!IiNK5sTw zSV;r1DyV0J`|`D{&4KN?FJ!=WtO3Aa`{BtOgYEUkj2&$IykfBJPG8cnjTT(~v@bQ? z@JHsm>?P*AoyD|J|L*2YEwlU&dZM^Z*T8^-Y1RceYrT`z2ivA(jDA>A5DIf4rWzjGl$h z4SMx_Kxaql;ogYOz^7h2!m&6P@L>l#FIMQ?3SEb8;TJFhJK~;o`Od=}#qhf^g>)*R zVF0&py>(2I{{S&*pc`G$QdR0JK4!MvMf@hzPsDc?)0H&e(NbAmzE4%%ZC!TtgPe0| zG(yf>-hghWT81fM`x8}Yk>fv%YvFqx^B$-BdEOIe3FnviyTQH!I@h@0XI@#G6ncB3 z+sRy4DBqHmbU9dN2GONB=vSyt^`!oAylFgdiOv5Yy)-e>vfU$p`G*@Ni3jofd1Bsj&UF9%}_#Y$eu|JG&Xl*bMF+<@8QKh5lr)=~?M9dX6 zuDws*58GP?$%gZKBXTg9*D^^s7a{5$j$ZgLxb_A&WURkZ?K0==1_ZLxO4ut+>4D|e z_s;|UOL++9yJF$HA$*@V9V&otA(JM1irGP~pmVK`QwPmFk(?t4qDxiM^uz4($h^ zb?-+H3F`#|((G2ckP(=B{b$gxgyj3uDaW$RM&S>pYucD{aso2kIg<>FUd@paih}5$ z#L6M;7x9|4VDR32R&XHYcLNTx*|K0@O1wqE2b|?FnEP+S+6Zvd6>M?=Zr&3BIfHu> z`TWlV8bON5dYiL{@X$+Fiq<-ocqhUtLQ>lcXc(zw#$ua5 z0sn2A1_)cnf~1fHxGTQ6g9N(iW1S0{by!o9=}-R&G3FU#MR(7ZQUdmc2KxP+=g^=YiC)w<=okE!55E+SHn zJ7KAe_^Y=&=6P%3VDTVaHGs}C<>?H(SB)tBMF(JII$XobKsR6?y2gYAN9SlSIgD=l zNAgD?yJ@wa1ynx+f&(957Y-96Izl4g2bP5Yt z&@N7BxWq$(!ob=^JsUqIq(g0Tc!ReFKB={PrO`pVT#F!zge~4HC3lpsEDGCBR=Fk6 z?+nj1t?;ziFAMYc&&^+$mH(O`fB!IlzIUE*S->~L9Av}3DjVY7(cycYcwkZ_FT@3l z0QD0@1x|}b!v8_6;~!OZC+t;Z(4CF!9M z4g-ef6Y+;OyfdFBH{T};Th{5%Qc%V%;F=8r*nt`TXy~3QMu{i`1(p*@rhrBZG7KW> z&#gcwTAE$2%?i~YZC&N;O`T$mT%vngBSB&t&@S4DbGK_~i7)b*tba z?7+CS_+n`tzsRS9;cZ|~*=;Y+VnmV0$1)zgvCn90>|AY))w_*uHWZ?*v0Whm{JRI@ zz$kn5Xg~J0Bc|TGakS>M`~o3Ldzb)}fGIV682Xsu!)p>)LWD!i?^$0h5|PBpgYYS) zqUCj=&=Gh7l+RyVNM2CSAQUCC}r7jFTdCttY_68>tx+f+k0BuuI?VHyAOZ7 z{b|uJwxtw{;!GL_VvnO1Xdy6y`l#WJ#X?WsIz*~Xg4ergi zTaU{d_y`ji(VaZ^x;zATq36mM3UHv^EVC$*yo~&T%U9j=%p|uPPN5TdTnNKz$WHlt zCFPd-JpuPXJlPIYex1RNXQnrEJ=D#ZQzI@vKdtZkRB716P{G|+M&e1@# zw$C>4mBb*v!d*wfSNG3(h$+X0y}O`YwC~HU0U1m}LE<06KB!`8cq3cE)a&&s+zh*#2k-7hpzRb=8dqIQ<9=Bu zDiek$wV;r2M9Yl;nt;Qa>epKd#m_kC01pcDokV# zvu}>vOl0>C`gxl?s3;^lY{S>=(K3l_NbNfuXtVrNm;@(+jcV=SC9sya3XZYip-b;Q ztrwl!Sr8`-9Uzj%-O#y1JkFT!aGukXEG?(raEEOJ3v%OdQayFv&7VU<|U1nc`sa|m!}3EFcTakJKoO1R80#dJ3TM=L=XsyG+0AKDu8_m5CC8)Kz&9p}4ebhlIwDCQ^3n z`krI@30%13T@^Kx-fZZsA)i+(lV{|#RFmAMAaTC+yaxtQ7FR)Zt8u(D9#CYABHO#| z`2%dIg4Ir4ME~ssD+lIX_fbbzc+G%5gx~Oi?p=2ra;(w^d7(wX0&xg8mu$d%!f_3N zvC4jc84%f=K1<0LB)ma{@C~c{J6&*v(-);|rc5ovHNfn_)DBR8vj=?!@2oEqfEo8l zhNF*jh#}E(psSsM(1~uUxA7Cl1AFpd<;H7J;YkB-yAa-WbpsW47phRD2F!!#Ekv}l zt?u%20j`)xx%!@`N&^61%y%iE77$mfp>B%=5ORt5SPc~@v*8r)3^2X_k2;;%>Cgl^?H0chYwnb>E#;C%4fXBvRC90|f)IQT|yw zK{xhudxO-s{Ag%X4FEu_x8#>&k`cJPcTaSU-D;gl*qM-ACNo5G9X>geJfO#CwkDWV z=rs<}twV>ht%On$CW7d>SQ~@=3pFHFy%DqpN%+dE89K7GgAASo|a8>%xGG)fvhFmeA ztuQt&JSH*CNEHSy$~X8G^l+F^&|_L4rV=If;9f!RX(oKc(JOiO?)ZZPuCW1z(G~}9 zvT;AwCe?HbzAbNKG+*0j9&2-?@7cEu&i{TFx(?^RcBhSU{@Ii>&M!aIEY9zAWnpBX z*9y=S5)Ie3Fz3@IXRcTOC+inYVK7=Roy<#* zKsXX)P*;OwJe_PvCnu(p(@Ba#gz%Awo5@QPaW65xP{dunSaYV8L-R~_0^J^Cb!oUw zGjA&j)wWbTwWNbq6~zc6*r2%^aNA@(K*6Q5j2h54o8!*3QL0DTNxDRv0N6e3V{-l| z@^AqRTXjztB)03xDuj4Bi%bOx@2+coSYQ$PU?1BrmiaL_EMOH{OPm#W7ei&RybC8?wA6IDY{qVEelU!og&YS;*$d*)_ zw_C&B%9}VM2=ls*>Wq0kxE+T#L0s4cIy+jPwUS3cDjAqZu2Sgj<-zep$?zMbnM1f4O&3i7*JHUWj?)Y4w35L z#_^qx3?SLZcRtrU_3Z@BQjY$AflkjvTF`c?yisOZa8IafxGwwWFFk3+teo677U@dbFF<`+s0gKl#dWTK7HBd2$4` z={XwSjw%R(d=s=S+O+=fzq9*r2^)QCZCUtXzY-G#-HxX%NeU-%Z6#7~uV$NSa7Mu^ zPL)BwUx>s|*PX=Z9V|<(Q2;G!e$B?=f^A)9>XtJLt+Dr7VcD=>s&K<{uY*NXj#z6l z72`2iWzM(mwo(mLGD+E;g{YdvRMB6*7uH2hd4a52XFUkkUpdu%Voe3#1j&~$4Livh zS+q=a7BXYu20YTogchdEiE`WoxENjB)7~Sk4{St2g1-A z|Gz(c2Uba>0IZTjk==O#58j{$+7d{K;ajy{cC9beyUBK@V<)G}Z4=m(8@KR|y;tr= zfxlMhQ=V#;(81>36CeS_P|g%2{>`Sp)lo3@2_=oAvTO4%9{e?%fswx%;^6gvX{TI6 z!@=l<@Ig{&9VDfH1j%}mTC9Y@8Sf|=%^MTk+kqFM;BHzx)};2AAGIO1WmWL2&7HUs zOd8yP!7h^Ni1W3NcgUM3%~dkp-<^yIoIUeg430>mFSX4I0ZqQl_D69ys*5Gu5qLq6 z*b_FFEip6H#^1gXLo7d@Lzz(I+%jtLK4;qF$=FhRmwmIwCPQuPrcfINiEBFm8CGVe zUOkH%<1N<>TcFN12${!wm^ghi36;NY;(blzpFLa7w||jt7C3BsEJz#+-E&zT)A@`uuz)IVl&G2 z*+#g{W^w4g#a*a>D-)*GWO-(2JP`P1|`PLb$m0Nb$%L-5etIu{}7 zEVSf-Rz}8xKNck3 zN0<}daFh^Nn#azz<1q|aKV9(q9!P(@Q3~*fYmz?-K`%P+s&?RM@<*vjT@{Jb#$DCw zQ6-#Me081-KbU^kFUS7SVV>IK12)Zq#JglOOZOa_!9AwB-v{0oPsnix6HQgYjKyjA z5#r$kGUblH&n^OGb$wOSk6_iq^d8Cjolq%f@8=5O0G^zxb0Fc~&!1K~S#9b~pf4VQ zW|VD->~BS!JqM9zm1DsxGujTM{w)f)1QrM{ zZE7;7L@PNZiq7!|5Jm@&6I+m@ZoouNiFPE#oxne>Q8WNRaf^u#-P`;wuXH}=J$}Rc zfH?+Shc8a{#mze0B`?e1py-4WVp$9+$@fOwC-+QJzv2$(@TkrZ-Qmm}>Z+3=(H+i= zYGkR-kL~*QBVwNJ*yu03!1;|Xf=Vv0nax|lC^#Zom#TxZ@C>Unn|X_PDA&$$P_(fp z{|mio*R{(Vg&ZhB1w78(fKvkqH@U6;0TtmEM+BY8(Q1&z*wl`0st~-Thj=y7|0bHnL zr~#NCA@GwfvuB1fVvCWhNMsz-Y(9s=9Msg1+B&DXhBm@=I}7%SfD(V~s_fh( zG>*3-xAFW2!8cN!!h3{jk{9+wFvvSQ^A;gnEPFm;)|S2hgUB5Cb0^0kG7c+r)wioj z*#-0>vhs1P<;$zK!|s@=k;w zkLvk;T+af0x<}88qvu>bP4hNS>-E6TSbR^aFY`D$dmbA!j{%vrNnZ;=1137i=k#D_ z#Swb>@3159?uYHEE-~CPjw+v~B{*4stJ}VY-#)(mIx?xdR#T{csd`RcMM-6An6tmUXmn~V+?|K*lNjkr zp69kp$4)(o7u65-tO%Yo-RauEMSxGk;GNozjnJG#i<`lr@-DeBCovw=Q{0MTy>x}| zT7x-gg4H-*QA-eCEaFW0aP<`~o>Wox8EMjg78#8cmfL*=Dt4iOyK%WaMJLh(JTir*dw=iN`nr zI5XuVN!LLc!44Y_ss?9>2V!)wP{hGUw7a)~oftYaQx6Ixn8Ps>6olA9fwmWE40UqN zp_%8!Yp*#pGhXssp_!MGoxXf^34Xk*ZliQphXk^kLo=PEIag@r25F9q8a0MyC@{wl z&GfoO_sT#5xgw5fm4MKL5>9eCt+RL>0<65Cp4(}~c$FB^$(DHu=4TJ1e8NHlLnz#u zQ^V5oJPC43Rv{=M4{tjU6b(t);yf&n2fY+M!CofO(Ye?vpc92Tdz!tANrzwbG5}0| z%mMDWLF^>A=x=!rD!6lN?0qfYXJNY~;xTF&Urxp(+qR3C_Px!dGVCR0{tUiM!;6#u zn<{0}HL~DcOBM0uY`i%6m1;1P_RGm3&Vf`u-|yA%*yqwb=+Hh_RLySDj=X>lX-9bT zQ=}9xoQ|fkog(I#fnVO>ff6{mY9AaS?d}@Ot?saf2o#=#)1TlezDC_| zg}a4-9R!kj)VVd(-$&dGjMEEHpW_!|KZoC7Kk;zTLdIhy4)h$4xtYGFNOYUCX)kNe zrc&J*I{5_0jI9f0KRp(eA9@`{qk$odcy2UZ-TWdgGWLtFgsDVCM727f3k~=pV5gSO zwjuc>;3}w5&Ps7!0lq9JEj$8Ptt=dmaOh>@)m7k)yCEENIiD81wqRFvyu9ZnoOe9t zp{ZXm(Zr^9&tw}&OqxB(b1386xT$^Qc?@=dF5E3vbuRTL0JZ^D%b$f6i+bLj13E%* z36C>hweq<6+mwy?BVQwJ{QW^2eHP$(P)CO%5-)3+iG8tD78x^eSeXW$|Fn5*Wsmg* z>1u=&vbUrI>Qv!ZZ6M?DE9SpWclqnKe*Ewn z=;G0e7Yj-VjVk3JoNpk2c91#rBK2dQUS{E>XB<2^>p}X!r7)o{y;_%F8-zQ?y|Fm| z)>_SivxZm}MqqopEap)wtsSDDfrn6Do7~YT7BjiLa6q3Y6@T0@tmPf@HNP;7dP{C~ z`-OS*3$J~e0*6Ujdzw|8*ZfVjMUpi_PR_}loO$Xzqy!Pl06TtT7Sb28R$w@+ngh8TJ{$Dqu2P}t94QnSh9h@X2sIMw zQk_tzaP)yIIS5i=jRjQdZa!Uv8BE+6rP)+FZTHX}sQXRapG4QU5ym5Wjjw>MK@%4o zX}?!2p6Tljz+_!d97Q_AT*c!S7OGBpPD}R1*KGdUA-#EAJa!@eW| zeS=?V6C^eXLZN@NbU8DUv_4h>7c>{ImDedCRopRXppxTNTXFTIH-8x@f zC|{DR<ZmR%lAM+0!T|pSzG2wB15Xzp6aUc3~yXEVz@8^s=&{0P$6%aARlX2#ZLv zc(igFn2dF!$SQaw5UyYOj&X(OG$(Pam<^+L365hr&cdg#z_cyI7RMxKLsT7=7394oyxuJq+j$-@Y8=|MCgBMe z25bZ{`oe&B@I)hYFLN{Dx}m2P8{$3Pk=WB0va`$fFgYFbmh^G=6k<<}*;ac#4Mik6 z1{mh}5@BGN##<7h=HTc9_qaxe;l=8YKb(PXntO^SBK z?Ta!H&AkUr(@r=F`qLA*9ASj`6@jfdG6;DYJFN~jsdR)Fmk%?Nc(2JV7#!XAnmmju z)3wd&*+W2|T z22%Z?>WhxV($&+WPZ28C=|B7)5{1pk0z4MSAjD!XegUj2t_v?huGMsK&N@OIWbyY~;Ia^S zVs|+ff9pLD&Ou+3;q`foPew7BhkisszR%~D>dagf?j7`C$6f*W9+z=Zf5(`p!cnByBSMzm#8{9MO%@&I@kNws$kZd@TI|4sPawjk{#D{ z^3MN-@^L5D*sS~TN8(jEW@vsIE=7AcE$b_9WB?gmv@2<-az+&ftcvfj_g#Sc2y`>f zp^m&yX1D^~)40H9CVKlJrlF8_@3FVj^h^NbnM5&rt*bWYS7h1*A;+bwzszB1A+|T(#%86Pz&W$pq&rl>e6#91_Hy;BZv2A6v&C zgM4(RJ^6T1HyN>MPo56pA~iPc8M8DVKcWdud)zh(FN=%VA>VCmt?M{wVtCsZfgNeS zO6yzZ0V!h)&9|m-^jy!(_Keqk%BMN7votp!<3+UkZ?vr5X4X0IkJT(b-A7|=^45pd z+HBP0EiDNG4|SwkUWH)BLLT-L@Be{yXyGol&@k4*IswN-3q8<+x1^9cVg?cCu!(z@w$2jPuC>K;~iIk_RDZ$1q<99+lqb7&zB?&X*X zQ9ra}f+5CrjYV@iuO{!|WIOL|fFNS*H7XGrvFej0jS1=YZ}4;qpKiv!I@N$r1Nl^0 zgr|4-^e3Mh5~B(}T}~!$nFuZ7ojvrKJm*q$vuyAT#frF{>NnmY4%K<1+nnx5^#(%z>f)126Bzs-pC5Pz&lnK zvEK!FaSz0iM;*zrzjEz< zRI#SWsP&tgKNf8rMkgT*8)l)HINHgrAVqH0@`4IWeV+(Yac4jSN{UYqGQNddV3dcl z4ta|+$h@7TVLn?ep@$Fk?7^4*D}-`yp>M|ry4ED+;N*LaSKvojbMZ%=$HG&8kitv9 z5F^g=>Kqh~$r#r(9zuf)d8E|ZA&#xw(L$-^tt=JWsU<&*L0i0$6D+&h?zkeNmN7Yx zuHc7!8igktjM6^<#`E}t3fn)6L)x@Bk;m5;L+iP-$r_Bl)ett*1q4+C_;d=Oho4}b zO-kIvl=<3$8|!NFy79m#9@zLE0&MkP&YlBxPz>Jf%%>cdj)k^6<6AMHtIpCXpMs_R z)(GGixq2B;lnD5gA`#BV(KKb28vO^94`fTXnrou}gr*!0y#`|)2QqRE?QPT(L~YiT z)eOf+{S{K8?#0~^)*gVNZs${NlB6e}PUX|Jd}`0996p^7Y}FNfD#J8IW$WV}f>P+mbC=BwlzC|u0P zEys(xX|z4gtk{6JAl|I?#N=u|wId1I@M$bat1jTv*URvf&Zo;sZqqlx#gMcTghdMA z5UZo3P+}R&?&nieq{TyV;4Uzv=G>BV>oUE* ziIm_JJH_?QLc$X?$8jJ)!E6M1`Q9rn_VtjUv36Ot^3Nb6Zwej8w-7qSwT_SuEho~R2;}H=)g41xj9^km`Xhd*pMF=+tlOd` zDT~Qh8d^dBw+GG6&iUr>4JK~O?&a)U11x|t%?(deRAQJ3m-?J4EqNoausv+0rKm2$ zdJbTmJtF?SPE`TL!fNU*(_u4>WnkZxQTp;NRc+Yxkl8OkXbj{$xFf$4w=;ZhuwBO6 zC=os*7{$e-!DtvC1;L$Eo7KB7aO`3+3{7BF_+)z`dV+QW>NXFbyZ{PZY4yP$hkx`^ z(+JNm>LvXAS9;vzrpL{shv<&OBa-9;3X_{E&8kynnwu)JpBQv09S%6Y*8Egoj}*EL zL;yt7<=hFHF2BQS)l8QuC{dj*&&rC%ap`h`rb{o-h4e@!96QuR{QOsX42shu9k=-b zEujgGpFn`~CK3j?f2W2$3V6P;>GBaZDjFz82uIW91XI&x9R(>S zD?%Y#UJ6m7I$g%fYRhrya;c_EZ{kGQnUD939etHb9|398Bdd@i#bU-r*qJ{41|ctJXqQt%Vabn8Ph z;a{sJ;^+AAU!vikX*#^P$;y=01=cAQ%Ysog%Lf7sJveu&6}AVVb8JyB8VVxsPz`~G%YAgy z8^o@G%Dg?Z@e=?sn6;^(4~FO2BpObGf53;DMxo}_NxGax<0R$zQj9};h5)2>w!al~ zi_*hq$&kn9$;zjVdKD8wwCXpiJ1No_8)UJVEG^#NtPy3^w zSJ^|yqZga6fnFOax1bjyJ6hZ>DAGE=4}?rqcE=x_juKUAwpqQ*pmbd1YVrqdk-J!E z_M1v2ygSrX{KWW2|M{5q^%4#1Mg%G}tfR(iSUZ#H82wdyPU9GBl}5OfT*J}U&yR7;V&5^@HhHz@N<6R z^2h6jwLe~F3l=|pApSTL;x@H*_}}{DwFrmfk9UA3fmWfX9bQku!7h$PH$w<&rd2Yi zS)EoVO#H9BuHugmdr;&u3E;TxpNu!~=vvS>4rrHtPgX{pnk6X zo$jU!u0pUV9rNh9_y9=I*o})(QrVI2#TxxUQvBQycRLgvMhx?EsJC?*{-{sbbiD1D z|I{nzrX2W)I)L*J(EdZF)28S0QRK02^fKyk#$f#5bIKf|LDuk%I2C*=;J}vcHy7i_ zILdJ7i3}q$wmXR!nr(Bl{s~_otG8p2fSo3?_JxmP_CyVM3k(>@Ac!D;xKAnYbEew` z&43zCFK!DOn}DmvG3U0N+bdh_T8a&N+RmE(55ZPWfOEijgqhZ`R=ltsA5fPKgb=-i z{gA)gfbOHU6M4egh_(E_xIY;*WeOWK4r64D2E2vX6R`YVSANka^f_vcJ{j(BGmvOm zoTi8*h+HPClOe7_bB=f?CeEPaGg!O1`!BL{RIAK&&iIIxy05pOE%PMajMdaQ2^&V& zf^ka`_*!4ERpa7nKOq}pN>tqe6tUOZ-`Dz~#zT8>p-nmz;LAm%)C$#wx=ddt8-cpK z!4zi5;SI@rI1O#4>4WW>h?U!9es1OsK(@Eo1hB!P;c3vGLOgO;4H{{mFFY50Dq6tM zDDpWfLZLDbsK-G)Zg=E~_ed+`28%}K!>?b866AQ$954VoIjLe{-1W8@I><@D40e#T z966v!6{xmo{vRlugF=NiT+Q^mt;194) z)L$=Feu9**_#)1KPp-7vgL{)c=1fxBy-SyyFEX}TNl6th`b|83niDJSob{$XkkevCplQO?Fhcy%?14iuz*as=TK6x z=#x@Gr@YG^{)Rp3^?TSLF5?i@m8~?gJ~x(ZH5V@sdcs0~NRq~&v_A*|*ZnU@JO3?!eNq;>u z17Ug{xE3-f$9`{CYlJ>hQ^&8re(Y=5&g_k;Tvgun%jj1;6B zo=RFWt&nwun57R0Bl;PP- zw<_ux{2%-np1pXpp1M13PjhYxMms0z5oo^_PVZX?xtqPxL(ze$^%2h}AF=#Wv>m%n zmIblDB)Fs^rD#j-qMvIAlaTOpovzU~7gqZGyfq@)1~?s);>LP0)5eiJjIqpjkBW`wD)==gleIF=s-3KY$L*3=vH_Fu#Po zxkdOY3hd=9oZ`TW65JaSgoE%&xkV$H6PBEv+C4DYcPLu4g+JzqmLbz*7eVuW+@J8? z0zMjbn}^IEX(6-kFwPfgC?gy3xotEPH0u;)3`Gi$TZNg^?%GuElarWLUI%&sUY`0n ze(?Lz7W{;al_BGn=IPwZg`orYvg>28tpyQe@YsXg7oN&ZU1{AS8-s?xi0}DIhrXX4 zuFILdQM3x};R~JE3@{9Y!oC0K58v&^z6Ml72;oMQPdL3T=yc=7a!XJ&WC*6Y*hEyk z0PneG4z7;rd6n6%wH-eQ_UqIpWC;B*r!~F^8Jf~bOA$BEMsC|BN9z>*3f%8Ul@0@p zRZ9*bs119$B`KJ+2VXisD!#N4sT^JJz>vAtqXWb7NbXRvX@?v zyqlf!k(Q6UP~Z}F&_1NmAsrW*gimyRi5_FjpC8eY8qtzs=WSF}!q%dB0H$cIJbFF@ z{i>cMHM5g z#m_8>yo(1>u0EG^ETP8JH6tTez+`kYu;`bHzxB*D{t6m@;>tcahu=z&jG96v!ICG2 zW^t^BKwQNLc#D4n1&rEqTjF*+#&%`n(h~}dwp%#{B%txkpLG*cn(*m1BeUwAz}N|aG=hoY3U_yK-OV2CYkP}tm0TF5 z8VA=)>|7vL!_dn8g%C8v>$n~U&5fJ|VFGa8;uir(B7Vz<2!7t;3s5VBOAm1g050pd zm%h@}BDfvg1q#bTAEy#RBl3q&={V>`xNPm9;*Dfde7lPHb_5`_9B+|qj$tMsk!L81 zX5-H2-I_x|bjD*OX4)V{9zY|Qe4;YcM31Rrvlb)4u+vSw4hV2E@l9EQu8}vh4@h+lO{_Yc^}Mo*i>LByliHZ>O_cwb)8^Dk(h{YTcWf5)RWTc z@P$vU0-KZ!+JIWzhwQv$;+~~4Ydsrs@aOo>QSJ{)vVpnQ4mg6>!hs({wCKP4;axf| zJXgFh-;GojbOElIrY_TtfARY$?6}R2f1QInMuO(`^n<^8$nk@3fuDezq}DtA#G|?034X>j8Cr6hQ6~#OC6Hljta(MA&VAEgqf^!bJ>s)1cT}59)+3W84YQ z)bgH4I>+(3;CBH<%R(vTa6w-Xtg}#WvzmjKie;qZOMH4QL0t5H6)i8h#(D|7Vj4eY zM@wu3bw#?0o2MZG3WRl$!oZ>T>e68N({XGOE?d(#I0ZJ7krwsuA4CFdRvqi%mnOD7 z(@ozZ)WI!hJ5d&!!FJ8T2IL$BJ&|;SPTI(%s~I4biF3FPVts`AZ;%M?uB@Em9Tm=a zlie;+cZfyf4F3ub`|#)MmL{^L{R}y|y)!^R%fcgMH+#K!WbkaT!BR~(Nsv8)*#y&Xd z9*5k=<4QOXY}bQzuz$D@^L$^@fI(- z3esr?(gqSdf2+BaxZgs?VfAe-8Vdh4IwffQu9oYRe>906e4RzNsf#7<+~UjorGd2B z_`yYF*%UK?8njDIAy-V_-gl(bVH_Vu=7q>qqa??FI^i}0tE9k9sj;a==4y2jZVi>I z7rAy@8}tl9y7Mscr|Gt@T*O&jl&Sg3#R>CMYt2O7-F$p?x*qJs$01YKWYg=AW}W8X}o$v zdG`CH`e8NFuKtQ#{_L-(Y0-p0fSiLMbO2@wSS)ei%EmM=BVl~~x7>>&SqH;#zz(Pn zVE8GUU3kfi={ZEYoBkzGCnt=8)HO`SY3@`G4QZ+wr5&RR>pjz)_57vOKb-$YL3NjK z!V^UjHs5ZoK8--{u6Tn;=u^$N zNHu)Fr&&C#6%r7JB?BjK@#&Z(5wFb{z5rjOzD%+_$qqsYeZg5$`9Rx2;aZ_Q77Q z+cQQA`iDa$LdMMI=}B@#+jA$9K`WRzp;b#HgBv%ZInc^actJs)1|ZGkga>K0=v)+w z>QAiD{>?i#POAm5+xRSlrqvuMFA;kWc8#=p4)19H2vo?8SQ~l*n%$ANr3m7l_D2TQ z8wl$%54V~>g*;k_5bx)R>27(4e1OkI7?;_|0n0)VsBFY6uw!%sj<)tMX_@NAAEc&0rR=MzirFGS?TOV3`0)404rJFoj5i@cHoJL?uf-$oVeBYHJZDIg z{=+iI(NRJmTtVu`#k(WO;o$p=xP+YB)5q3Gb4s78UR)o?{9}&e{|@sf!SHV8D9qT1 zJ+(k?wdKW8P}iJkwz{?k57}Z-MhhfyKsXP-xbsW~1Z3b5XI)ZRHtt`_%z1>`NYg<0)}MTw5I%@Ea9lmeZ`o z{Xu7cW|X&07=L~OQv^A~fLgBY=ySc;DZW~ZWf?i=3N{adgsQPl1`_6rS?Y+7<{F-t z?dJh_eger;k+m?2ty=_c#@x{gLDIEioyE+ zyP)W1i(BvmXC%TO%>Ow6k4gC%KXO)~+|wFkx~6`lR50+oi%iw{MvgH42m7(M?-~9? z11-n%O_v*!@-g0|5yR&-kzshIASGn@zsHaIQE2YVknVMrXrP?&(lIG_VXfJ&`92rc z4bRp1QLjlAr|jROrREbWy!|L@b; zbvb57s#2sC0ThXj>;;*+3EciKP$p!ov17L|@~D7W^6lU_LuRSDW~2C3PK~_9=fU(< z{fu0Dqy^1V8J`W`*)!2=mG4HRqJ;XJ>WTGGbt#Y_^sX?xajy;^tN9{o{%ZuR!#4Ce zfSzHTR0n#06Qaf=z<~8V5J$rbTusDYo%^&AMAoOgdC)(8^1B1(L0lccv|T-dx}c97 zTy~1U7N?>JXQMc=w1td?y?L2C2of9mp+2&T0+(Vqg;kk=x5B_lv+z=IZegGZ+%(c{8IUs=`d|d;u79 zvNR7@ga@-SA}?Z##aS2<&PKjCi8DBWzzhxzfm+52G5)*N-FUkX?WD{@1DWgaXq4mJ zAwGM??;+$GtC-@MhW^#?ESS@x<>{I0K5j;=&6G5pE)AI}V^9@e3_wcYVHAv4%V)I? zb~Th=tIPM1@(YX5$j8g1rNGs(dP&mZIjq?rUi0#2rKj^sG0G>Px8kWm^p@ z`n*y1`6rHJ&y0D@8%xfS0)f~^`yGq#TEh>(9jeitdWUq$=99rA$2bBmBXUYfTIMpe{J1lnxs0v?Y$T2+~ z?bqqdjma1u}fs9g}q0;3wrDg2}LF_~HN{ZY8qi ze-`P)YXP9*ZyA1x$lLriJ@-Sv`MOHK4zyp_@|AcEWn&sI)=(Qy6})CrL~XoEhNhKB3jaMtjyJN=>eiYFWiDU(ZI!snyDp3Cz>&lNxa-} zxB8?jQt*3EH;y&^Fv07P4;YZWLiJ#2V;5jhEw5#VBl3CLkDhk5o6ldBI73w@KL?+Q zK!2MBZ0wImD=~IF4KE1ns0ZLx1L+A9x0UK7aHcSD5Rw8dpN*d+Z{*9ru)gsVpt9rI zyH#5d!0L))vs}+JJ!in+LB49kCb_~J70uI*FA;a3#vIy>dR^3Q|MP-h&2>>cNZ-~jcPIvD{r>liuz9MOJ4bJ zrhkSR{@A{?L4*oOSCaMVp;$S%FI=4vaWXtn>Q>bA?I3n1iE_T*Wxv4QMX~a)CX_cleZV;I@8+ix_;(>wt{?A7xpc!xfYV#kI{M#`BQ?<3vS$El*@fmd|Bm8hrgsM<%K z-A9@3W1=qma$+C-68l(0UD9$`+)4WIKZFWE=Smb*{~!uieG1-7qJf^?QqbRuP6Z52 z9)=^v;d^e;iw~}E#t^&1?-J3NW+Q{*)-N?4P+B8^ zNkAz)iovA*FcjE|I0V|Z5t9YC7F380(TX*WAV9I4K+?2lMGLAU^kY*LjI1jdBzhr` z+onekAG|fn8P7dgM8Wjm>2yqY-t?R(h{g2#t~eOQLjZpDKF<{{`Oo5H#|(T1qNyht z-7`IDNFpJVrH7f#3rP~hOJP?)*LpTxOC;4Z2Nglr3H)hQ+>56qDgdIrR6JYZgs9TD60P`QHzni`$2P<1(_NKE)AQgQBzI!=e`wU^V zSWwdoIbo9@z@oCrN-dbdDowU^HR)+8xVE6tF$42K0rjXf8Mo#*Bn~IuBwnVcp%nDL z0_#c{d>d$!bUWengI4hEMcNjS8m4D7nggx!@k1FbLn>)Dow=md(=tLlWq)rT--Ahs z)2astJtwGnn~m5eSbidQomPlvFqL%E>UJ4Pw2@fTv?d{l3Kss`P!Z^slY-+J8HE1< z42a2P_$6jr1O@*h7#SdzY$Jvx6CySX6@l0|{s5u1Oa+2__)Elowh_}An^ip*Vi&j( zYix(1JvL$~It=|Lrpj)_9_Ns63&D*|YeH4nwM8Jkr`!#Ky<%1VeG zhVE!1b`i!Na;%L;?3F4Un~Q7*u?K2I>@t$l^bgb=^AWKP*q#Si-@(~yBK8t~iCDHq z>;#P%v`Ih@YQ**fdmy%+KR~RtjaZ(8Sf$M|ov~Tncw!u}l~`tpiDF+Hu^t%Dh}g9n zv5N!p{^ z<8JqHyWJ*syASJj^CYYYnX%iQUbWpy4RX3}w<(IN9}xnMarslb-SYOD4j)OozAcDa zy6F&U=wt)*uUV})iw z^cB)`k+fS?dd?S(@-z`^1LNcTW7ELsGHs!6wI8LT8hFZ@2XPZBuPxj;30LrrN#;p}>S^v-%(hE92F6(T`*! zRQVPp4;=c;0}C~bL-V!UvR&rHg@79%?pCE&!f*D;9r=*!K=Bu&gi~6?plW9c{?Crq@i)i5f>rnjeIZ3tD;I`ynV9B*|ZFRC*3pt@N;Ks+kf=V`G zYnYPML6uMNT?^d5oGsuV0LOU#0S7J)6uyRx?C^DnDh88;Lg5B->ECv)qOqHWlfzXl)v4H|jLxkYz1Ka`Y<#l=0OoW@`8$A|_dcH>Pm*xVa! zu@%NnExHN-M17Iog49VgRou|v3Dc@}zYhLp)PLx1a`HD-3&8SsfZ&;OZ&w!fOakoY z#ALWe*wPxVXUJnPs(*~UG;?A}JdcmalOKHI-JGc6d3;2k{t5gU0z^h$OLeAjg4?rN zq9-I_$;{V@Hjm4i2l-hMBd;x1YL*Zl(>E4Bh=k4&=mrc689bDg(S~YdnK@X)npRz&>>EU$czlMCqR-}ViNl6v^lb0Ga#}=Yi&{Kn2hMr8ujh<@qlw@vp;u5Up+y9vc3i0r4ZG7X~h}Ce}PASTQxNN)L!_;r@gr?v{c~un{D(+Y&82+CVzel@ zd?3pdT&sTxNeth<%q)AYUirifAvPNgoCNe-A==p{M*P_uOtq%pqtiu%@r zu5rZkS1|xL{q2ivHPQ0;DO2OIkLIGFS{`@E_djZq$5HcQ@>o0=`y;F+A~hWeU0};F zDEir1M8|Wh*sPUSdjR6tgF8l{$Ed%u3yN(QkhMK{4XC^A0nB|ZEA=N^et>Qe=vwcJ z5Cf5#;QIAFEs_)TRlb0Sa+S(@cWJqjKtmnUI3dt*nTRRjH$7j0K%^7E6mz2KG=r&e zIvo-GG@V{JCY^55@Kg^%6mpuzeKn7uuD~Qy<^-6gK{H(TEzq>1JwCUF&^hDt7Y=<8 z2OBALeYG>_8oiw4*L1xeTH~hcURWUOLq{*oz*mn+y+N$k(^c<`D)l~Oy*~0;Zu$cf zPWL^8Ww+Jpx=YcW8Ms|+8(gQQ>XuBd!R}7Z&=jigXo=jH@{vpeEmd2$# z`PQ3h?{3ug!1UPT!LtC@#g`K~O2qkc7sq(po^Cp3eD~vbL{6&n!Tby$p>HtX4M1c2r~_k02tAv00zEynp2COl=WZT6fU(MoKuR5ZEPc@w zCCcS<@p06XH3sdP{`p7!QR)T zfBkj4*6Qz_aRpNG&~TxLw58KN&@^PWmOzuVdh^`>|#sNDd6fjTQ{j z6EWz+)Hnw3iil_oGLMNt!#D=TS7Wo4RS!iauD)Bfz8HEk0EDXYPi+mU7i!*yEWdwr+)W1;VdDql^X{-!B6nU4l1>sc|$a+Mo%# zT1zowkOdXlO6TmVgS4n10ihc@5}dc5MY)9a2_1^)mqDQ5d04jyMuCOe4g7;t;{xS= zL=$lQ2eIF=rPLQT_!lgCI23wdKv~?9g@% z_Z4Y!RYJ@mz3)AOexv^Db0ED}K+hfN{ToX*Zs~oF-Clvgsb(gGa8w%_XB~n`6e7~M zdgLMp*IeL=WOX-EtXwRN2(S`zPS8D5=6s%uY3faXlVJ%Qsm0VdNBWSN4haD0A@C6V zP|km@q5Y%EIra|=nr;c|1IuQ;s!7vL19wg$a80TKS3rrBr9g5q1AS8UfC#O#hHTyI zn#aXw6RZ;)x=|JJv-f79Kdg|Xl2XFuV5vt^-x~GTAwov)3e1EK-2dzo&YTmFX9*@wq)r* zpEm|F=!&C(WrP@eJ=$S>u;W8#JGU(GbGZ;XIE`vbOJXYSqyKr#GeFo|rGurav4kW& zmqURW={ipod1mvq3}Tu7?l7(8omwIk4QPs+Z;(_^7V0AKbtZoh@G4^}a<}l8fv=yi z(K;A?%FfuVrtast4t+bsFfp2TO#Vvno#D+X;4H=F0-59Zl0?`SX?!p1V;OICbU^ zaN1+zl*(MVwl2kq9*)2)@qTYJiBZMbgjG2PlLc58ljYa8s=((TqX z0KPLI8a8a5oz^bWtzE2JJ7~A|8zPl4*jC!Dt;3K(Oy^4#Uq8yU*8D@bghDXg#A&1H z4^pem!1pxOz;vp#Ry8Ecy@jPqe7 zdF6!WciYglv7y_np?d|DZ0K$#bT#>)%h?WNWZR@c|3jz)u+K%eYCGeOrvDs32e1I= z*&0r)r2*=c(*(860CGRlRTmd@*&STa<-i(H114ioAnh_~9ZX-ZICP6pRcNX$O5NEgTJuV4RXK44t~a`D zFAUWz@C5Jzwjhj0bk7%{e96SMFAfqr+TI-JwPKu@WkdJ+1sd1M8oJ8{#h_a&Rk2O9 zDg=!Ify5m?Y$u>pJ}6*M5s3Dw-V6?!{&y&yW?(E*)pmvts9XngSfjNlaRr_MGy}(s z{*1Xw7%#=n*9||Yt>ZOpqPA|8F&eab5tE*DS{;(jR`r3a{&-d^5H08BJH=Py4cqSi zK|^HdO+o?xP149sxMk;XWx+YHH|zbRco>7Zaj-IPSkRP57?sXx-OPgY9Pj+=PAJC7 z>H4S-|FMM2JdIA*qEPZYfc4HtQsG}XDn1l%EZ;zHdt0)lZt&}ExJDs2+OZx^<+m2X z-7ENwNL6QJBP`hCy5fQ7FS;28a=-)EMj@c5wRY0^jOK6NS}?Pdm3c{9Zm&%mzW5HmI(m*KMPCEnu4 zk&xT&#sFU*nL?#e-!2kT|_N$-bqy2ROb zMwM=UlkcT3wN8Zx5;PxfZG9|LsFd%Z2e3V}MZs}Y)b}{`xw_x*-TB0tu4AI#unw~j z?KgN!=5dbY+|U%6CG!^Bf9Rdg>K#F}$5|*Ec)txr1FTftnllSe5E6vhCW|2{_eOqZ zj5g}qg;)*<(gj=YWUXg3Dym0uL7gf-hif6b)sZHkxL*R!DTVh7I^T=+BRU_5l@m88 zoo5#0F-RR){gfhB8>E6f(0<<^|cVq3&dXdnYDKF_}$Htn?uesTG&T~=8)$E(` zW=~?XPfN3qAzM*$AJ#(fBIZuG6@lS!ht1lZn1ll5mi1T2D zUHoO46ZuAI#dwlGHVIPR9RM^I<6bH%>`B5y9fN3<40*g!D8U%SvwT7fVw-^MIg3LA z+&!$vK)9{7h`j)}7HABDy(|;By+)g21AN z`Zn~l06k_4VO+p*UCY_&1$Bewb*<6!xJ$^<8+dcWXC0tXa>c^S&A^1GWJ>Ls^#BW` zGyzl&zP{l|Q=c~j+ZMrEKrY7ULN|jgu|hprXf_LNXCZC*hYf|4Zxl)fuDVAM{h>7w zEu$T<5iQ2#)s1L#jBwTuK$IeZMOs|Pvyk%!EfKeTrKk0sG9^ERZ_H)m8lL>blYLiX z2+_JhH_AF6m28N99YTnRE2M8VsAnzUSxcU%5p`dQe6qC|hE@Qmv{%BpNf;plYvWow zW3@oVk1^?trOeQcWIj*jMi>FK>Pbs(rcCbdqE#!TsmIQxd$ZDF5KH6|W>H-s{G@># z$S6cR--{WTM--32EHz|~<=`b_){mFE#;hYiF=5QAKtgW25XY>b@s-t4Dub3~3+epQ znrMhq;}C!O5FnmSoI#d%&jeY%WynUObLVr&{Dfnfqdui5q3ufxY@N4@nQY^9JNjR( zvl(CN#(T2ygQyj!`3504%5f0D z04Fs%Z#?ofI7_SEjc6L#rRv_jV9;~ zsg=Evi^kGHK$k0KM=FP;nMp3Ei8vvWf}53OYr&1pTXO70)%NM-omw^n{OW)#jxrGg zd`rk@Fn)+C$S?a@t%*c!hZ;eAvZ{Co(!@D@Uow3Y#d^rX=&U0)e(4vJAefsJ;Hsm* zJr_U&en5{b*;S}!gX}oFM4ZlUt~om0JHNa5y5@zoYQfP3 zc8`HX%^KR?ZZ{;;+igj&GhJNXCX&>>s>d6QcC3$5a9A;EI}K$3(~q!Uh^&(9e3fXqdA686myfMG?dvJ3TeC)P7 zyBi%GRQYG(^F(HS46vPyF4=UUd3Xk3S3;18)R(8DNf46k*p84zPI;G>%_+~kJ7_Z% zr=@xhmqm$G;0lqd5^xQn-~~+=GtOc9pAlqXRPh~55L|UXl_2AZ<6lx-cyQzoA#_~o z>5c4Xq{Q?;U_%seL6n3>2~mqG5H&asMDy7kAwtBD?RKjI(c)8%3DFuGqPn`~#=A6) z=A0I%(d8{QMCTuYpD@9f%B8GX2j{ayak^jndVHHbm*wX;cT@VN-bz z@>KOZomNgXIpub2g9#x*k(>1;XfG$yC(0Cuf;&(sIwTc?gE!Rfv89Ob!P3G;mEk_a zm7{l9Tf8B+xTprFJ72?{g@R(? zX>{{LsFy8JRXxdhDZAH0|8BKRd^yY`)ra;|ntIEAN>;Dni4y(-e*tIq!e$`9b?Ryv zILcetO4(Z70=VEY-NgxgDrfAX4&n2~H^H=(H#5|>eim=xOHqjNU>L2W6+loIdi^d% z4C4u4-mFHR4P2t0rkMMZm|B@YOzTYqt?AaV;>&mz2B0^d_XnLTuzBn|tuz-nB5GYG z9eB=&L;EItHb6U{UEO(gHE6%k(3ZQP{qbZQ+NK)Xx^8H{#24WK?a=cyv|7;!Z7l~v zSaW+iQUQ}75T>gVv`Mv2x09)yimb)7u*ak0Mz0=C>CI|MciuuSxL6|kHqdi?#bSSCdOlVdPP?PJU52|my z+FJYA9-~a`5RI%pH|!^6flpOx z^|CV%{z$aK*V-A$RWq(ZMpf{pHpLk8BSPBb5V`d-59A!NB^zK9Oe1CCrgZs$jEoFv7N*O77NVVEU8K0sMjy4ZZ1?Zk~ zym(8_VqQ7FAxq;^0aqC(-8<1ZwjX9Dg^ckVki#YLNvrUH_*=NHk!kF~E;IYfZb`ZQ zI$xE8IF?*AFa(3lcpg^G?RQ-pTv)&@o-a>f<4LPfCmYFamsHj%`VCEwoz8Tl>i}c# zlD}|i?bz9PFWQQng>Op@+ymM^7))A%GHn4=WcBF!*#}lO^ggwuq-&nBw`gl}cHytM zB(MFMY^Oc0ku6J#tj0vUXcY`$`+USE^E0vA36~N_{be_>(D0VLS2kq4TPS_EAIyO@ z+1qGriGELqFZd$dAC3)}xCasR9J`iTrl*opVWbpF?$|OUs)51+mgN1h(II<+W{ED{ z{!q|-G}*pGc1f_op`dXE)PuL?9KvDha&M#dpy5Ld3E3*7n#d={&=>@`y4GDOjzyx+ zA3&OzvcqYFFwj%v)<3Jawo4}=oTNT%7+0k-kputaUeJKO-QyN+$M$7bN3WS=9@f z0@rtPV9qn{CI_4732|CQB-1~Z)?&qVz>+rh7bMzu^1$~~Q5kxu| z>|h(9nq%y(s@cJ|IZOWHx9rjEr0L{#T(>7B>UJmz?ygI>aX)m;s{Ij>s8O}E`6+OH z;ds}7q13A}Sl6J`7l@%unIpMcsh_bK`2VWZly}wj8HhMMk(!lypBz6+6q8}t#3@SM zle;-h|7_uV;87TMIvZKyx_j>IL7~W~Ll?vhTqTO{YvD+;i1(k^bw|Z2%J?Q9!Xa0m z!|boci??JEGs`=1zcTH9(R#!)56CBbhncl=jrX-wo!hSq zgyWIcng_YY(+f~Aw_h(9{W9YqKE2+Wt5!x&So~hL#qVakGKGbVo&$`1OAe!(=ybNe z4Ih%|1Ur8irvoCClVH+P6l$Bfu2ZDUk&C4{B|YJ8+-Orq7%{?x8m@QTf=jWh;8UkgW1D9;m;rgiDf9NicW$* zp|8{2Lj{aq7Y+);)K|SO9DJK{qrOga56t~a^r?4d^A^X48H+YO)2!l2l|@0t+M4QI9M(4w8o$vB6d{6wJifU7eGi@I{QIIR6g+8y2p^NyKBZP(vk* z=v{oAH9% zMkn&nQA5~hE%W~iJ?v&YO?Ln9^w2{Tj-iLPf$nB>`!|YsKD~+rE=Hk3P{fmv;c)Tr z2{A6-!`y$t#m#xgQpBBHzL`=dKIr>o(~rO4It==2JI5WQ1xQze5Q}mgp?qDiBlxdg zm4bRl6bnN4?-DI8R}FV3Iyfh5FQrp0x+%NW=e1!7Y$vD3iQ*(}0wZL+u$>%!{|mlV z)#=oD=||Rp6X%ef(Ttc5+3#X{UhifLqk0<=JO}(CCkU9YKvHo(hwa>)j6|1n^LB%n z9}{IWX%=Fg>_4ImjfYPK^@w^Zs2Ypv# z42FZ#OSCd273_*TIQx=W4GvB!3dJ0phIo0jDf;B86n>-tPGqXO&BOlrDv>#Kti2!c zcc?-zjz9c^GKoHrV;mD_H8hTc9iIpO5;Y{ZA6*}rrsVd6Z)EJ{l!i_Z37fPE`E9lP zqo+J^_eUl);uy7W{jYtWt@Q!&F?=5?yEBV{eT+|Fw0YE?4niixy*+K@Y7S}%^O;L9 z{$M`ywv2Y#^?BZA@BgdoLn&6>pE#cD(-oUKz}R>g8fzHckS4CrsgfCpP!w>l3S^kB z&(&C%Q&wesIIFvw9|minOnY|l3I?EhM%V{)<+ z5Nnka*;A9EG2m_GldC^-dG#kH_~goeAZzgJG!BW1@aNHg^bF&hx&+XZ0RVNg7aom6 zKU^~X*|Z`32oYx(Es^L_!VBwBq^ry@`qzymR#(DD(Kl$qbDvrX7aWNri*v1j$5z57 z(u^l9mqhk`2gK?b@h$C`rJ0fo#1TK(RgjNIxiwQ`Oeth+)!fRrnQ!bEPt%axA{QVzk zp}3ieQ3cAhT0K4{$WAN|yNdN??Dno=NU>^vsj~k#3Z3oUN3o0F0xddi^ggtQgFxecFD*~&285+)f-uf zgIfF$b~-i|Z#Y7;eXP)nveaJ7Q{77C#yZX>{ZSA@UXBx+#t88 zJSmj*_vo*%g~<3hWTGK_Z^%2p%o>1(85^=XGLl~2zBg8^E6GosE~&Jzzfx~AC|gL1 z#n~|}J2>KKCwtDHMSxH;JY=}ZBM)D=|E5{N3*=YIhrrdka&M2p-IeS)B*?pKQZ z`euwx;v^Xz>~242hO;YTIGPl@Y)!+K3wk93kYdf^i|Ko;lMCb9(Y|I!=QulJFg_x! zYId|h6SVc#oi+>*P#bq=OG;33xU?m}W@(sI#i4)f6)*C`IyY8IUQfZRTO6BUACq+& z{)p7=&PtHFT9b%^Tk4w2zCqusU0g_w$Evd}byb|re1M|S9S}!%i^GzVxg?@S_i~gJ zbcZt07BamH$YH3KFY5EHpgh(6e`<`N{) z5NvXdRr=!%o8_w)YL+|ue12dC9Owz?&Q*Syl#f-PXIBT-^b_rSG@v0`9NDCZ;{<7~ zQe92pnQ9G33PXh#A;p@@%`T=d-A(3Z09|)1<-4Lh=5gAtU>*H$Y}B##>D@Z)8Uwg0 zgZjx(4tL(Fk33=W32n(_=BJmk8$2<8H@5Jg&zWv{eXA1i%J&mp@)|>;d`_H!1qW;f zzRN@~kh}U=GQO*CisX<~f`DNcB&mS8E!EXYb%*Xnoq`^8&F*$e5>l*t|45|6#n{bc zwZI=R%b~*pTSEoUt9ILTsC|V)hqNbMbZCxzH(}4*g$5hpkE_9Z+zqzeX*c-J5YvwfHrSB6v;= zALOhl>L8zhQC%B zY&!uN>ni*K4B`l>&rwVp>w`!ZeK_2PY>ScP#3=dTHhP&Bv5P^w79IroiQ96x4jI#O z>jPw{frMiiPQ1suygAn8Ti9Pqeg|1*K3`mp!N)kJX}!<0n$8?ERaHX52}>%b4%TYy z92J0bZGcnN?GrStlK(dHbIqGt2BUT5a8VxDneyljMJ|y|r~c9$V2XQU191QAa=ijR zOhbFWQ{;3h;~U5_&ItY1-!aC!zKhW$E`NWJ05Qh`JEpXGoBJy9*QUMiK3o2#AQ1+p zhr5I8VjXx(cGzvvCVPv^@urE+R;|9e^2P4TjZoRT6@Ha7V8B0!xdt(>L<2?PIbEQ_ z{?EM-9%T*ctYIMh4oSob76VD%#h$uu-c_ z>XIPx`VL;*%3R;kY=4GUSfZeWk5wQ0m zn?c@^vFIwUK(TfP>UM-lXQC}J;JuhgCY9NS$8krmmeL0?KLMyWZz3kU)z5q>#|wJ@ z&fWVD2Oahao=MUw*(b02X3&a^Q?VKD+~JWEIEl~1{WJK>)A zn(I2WZ=H4$W^m!Uz?vs~FHHj||$;)mP;Y%rA=(7#u%k%cj{d}2izud-`d3-TF zHxO^`1Z}N;`{y5QdQ;v|>}RxwA%Tc|y9016krzEp<@Pg1Te2Cg>yU3nkVjPJ zvfzv#NZDRBjU=1CVb}io>>Br^z=cu^89T5;Tc1jHs6s#v7g>g~_- z)eoP8FJQJ?&ra=aZA(m#7yQz3M--p785jNwSfxUs7Z9QzQ?thfg66|rJlIIUVX%U*y4#m&Yn#7sANF$@&AIh2a$afz51hWCC(ry8uJRU)IgCkCGC4 zkqvK4>sh4bnx`Xp88UKP*T9wzp(8A3-jBNy-~pgcr3Gb**=$#M^rF@PTk{2p_D(#$oJd;z`Id?-M2;#WfXS-?ERVadUlQkJwb2-8C-_5zC890iAda4ft|8&*u!?=;5 zQpT4f^UclZ1+gy~2-H!S4}6nArg-QUvl!VhXnnd4t!jG=|93O&aTJ|Q@v{@xL5tD2 ze?~(1@g0U}rTVGj@pZ@neX97QA85HCVLSs6KUM6(+i^}6<7*?hVDE1+&i++^0~-k& za6;||XV0Nyf&=><+wf?j6=%a^vbxZLCj-fZM>ag_qt2DEYd9@Zeg0xj zvP@5b@S*BX%w9HNpssTu1&=}}Y9s8yuo!fM&>o;m=dhBdqTk!pY9yf8zEzrR$7ERK zSkO6##ep2a@}C5Xsh3(xusi&)#BlTmHxWS$98IKL$}V6LGUmnZqc{Ybs1NZ~Avx?M ztGtXB+v5^VDK>>;|4%=>TK6t-l&)+cyNXA7-kqv* z5Uvy$oWPDX6&WKsLwY}kp8s`3I`k10GjJL^d??N2`Fw12%Jf!XSb%DM_|PdrJJgyjWl1Pr?rS zaP#B}_#wX2gb(oF<&2&h2hkJBrlBeBjH{SL%|hnjWLI@ty0AOJTe5+u$nbd<5k7rWK#EcN~h_ThiAwXo-ri$Jb*4Ekwl#OQj!8`-;< zWqiX~#$nG$L;$oraCoz3qRoU4NaIGCa}MY9%r*XzZ%58 z+=8-PE}p1Qn-p!lrwMz?c<;~JwJOqL_w)@-4;C#;mvWoYr`aKGc51j@kxDf>z$oE+ zix7RBzxx(nz=nLu=w%EQD^NN`XjLLV z_*!_do#%!>Xq|m^V70@K;+)Vhx__hLs#anr_tKyoZ#1OV)}XP8kmPCOHw*@=Zu6kY zVIzEB%yYp;!M9*-F^qDy8~bc!K`2x&5=^!$BnthkskQ!ds?ua{|{8fwGsrJ7x&B) z(llPo;UKaRF0{PYDav>mDUfu}4Ca($DT_{B-R2Z|+=5ZJxmgdN7fMBR(AEOn4BP`> zrdk(n5c?h=7N~E%9{rSeNJDLkVrw-4fCi)2?s081f|pXmem~cDvpej;dT=ty6f`#U z&ADY6?$b+v1&fmjxgF72G_WKMki#Fr5Z|V`njx-a8}NlGk+Pt%3^yu)q`8;{rKw*a zMWE>XKR{7%7vC${Lt&u<-Df)#W)w>Do-$3(o;b5Mt%Nv5Hil0%>u5uOJu4f?NWvF1 z{!yjSG~5*36t*6Gi(T&=?hD0ru67QZ&&$=$Hi`ep@ebm|ue<}cB4W5~)FEB^XZ>Ie z*ExfxAj%5_#VP=Zr7*TxfLzU^YiBI0cr!sg6X1XQzrnv2vIO|=fbsr+fq$wf{BhwY zC^7gS-3|EnQ%;TzKgio7X#4@023bDQoTv<6N_OD8vi_s6|F8$@iEaN>9^7z78Kfgs zI0O1L-n*+#t%@IP`=Tl~3zCnqhMP(K6PUEfW)dw`tr(NK2$Sgf;JibZboCa62;u}E z;8^H(0lO9pyYj%U{^XYdcvM}%x4dFT{HjH{hnMmeG`j%HY-m?m*c-DakTS}->1j%Q zl#P$0@B4cSiOkVZ(XTnB!_mcWb1J`qrGyHMOt+IZ>7+(T!WZY52yJ0vaEhiE+l#h8 ziZf`Bq(Gk^@PSNOU6RA6qvI_*>ge4E;meFv=R3Puos$cG#)J_NcgO#QYbj+}WB3z3 zx#)21a1+#gcxRnj4*ZNObWTT3!6}?sVLt3>!fbutHIsH$d=|T3H%<>}d70p=$D3T^ z8zB8B4ILOTnp4DZ17Kab9!Ph~H6t|c*smWc8+A#ny<3&Sm8Z#rI4#Nqr$C~T9its*S%0y&L312A3|%7G`42XrFa2(}*ZaS;m*;8^vuYAM*4|eYkf&c<@?>_&M(-(L z%*V)b_~v<(FS@^RrT;(To2h~LU*lVqep`R9LO=QHrL;g=(!>CyF8v%|vs1I~uo& zODnBaX|+mSsawMuP^*BupyJ9Mqe80!uKB+|=ec)g5`wk;_3!H?nS1ZEp66`OdCob{ ze~nL~Vuav}YPF<&4f17Zi(3cOEW>&43-Q9Ff2WLNq(zy+J={d0(`hIvvDoPW$&DQ@ z)juH>#q(8~4N`de)nh;`eY3`C88X_(#gi5LEzEW=N+sj|qh@t0UmHu`s1h>2wD7~< zRkt#9^WX=&#=YrNlHP6B=E|w4E$^d1>{=Hy)iyZrB{4_s9wTNf`jAnu@myG8+pioy zV{qJud6k<6F$@%T!x6Q$uR*^vnI63TqMAdNXUB+1Jn3+Ic|T)mDRU zgTGo0eq}GFMxqp9Zr@ygUTiH1vhY+@WdW=3vA zZw&Tf;QT)OBWXN~gPq*t3HFHZZ@l4)ZmdLRFB1(P6~``nh&M+yjQFIeZXFe-9O;i(A6%mjKtD4yUT;{c{6gOQiH7## zREZsDIQ#Z2JOE4y%X)I2!w%J%4ju-mm?vD+Jk-K6!uIwOp3X&W=pn7-wFhd{E{O@>$xdAYZq%7{eLYOAp za{asAxfr3ulTMi#_Py?=P$ERn%yuhE#%fy7Ex!_6od<-uv}vBHoxsB3PPkN^Qgy1y z5xt_P{M+nX&!OozgG|B8{4(vy^v;dJQavXP#~IyA!8|>GjGfoMo2S6Q;5J?w;Ie<_ zOOAd*&|>TPC@3}4_Be7h$lp%HJg$fYGdR=S;i`<*?4J$BtNptQ+9$+57-jAAtL+)1 z^UTOgNuw}yRq*GR={Pg;<2HwPH|r71D$O=ye_;DFfZ4?RGeiBv2=x+pT z>d0^ZusSCm2+2ufM?j^Ch7XEkP5%eAB^thj?#>n6aSoFi{Tx1>P@cCOx+8T%j`Rk7 z9r2HUM}O-b{Z%!rfjT1^jJ*gSO5uX|*4IgIO?=Suc*6)Zhs@54!4GJVui%etL(<@g zPuNMMxPn3HU1sE&|AfS@5r52#T=l+#OM@O2$N~lyaimSj~xkDo*7-zA%}wib6v2fv3P(A+3iS@T0?M0jFaAi{4&E<%h|o*GbnX9 zuzZcIFd-$LZ{jIGHaE}dwtgL`5mFJ}``{oOMaU#eel%tsOUD^{yxQx+vh@@N=~jsGfB8JcG9#-4hm{|?#{=vUd<<6W zMJ`X2P%&Gj>d`CcA^Q<_zNmf4Q-p@-xyD;0-37HqQgv$5Kd17vxZh*Hfwq{V2TaC4 z!s8a~#fjJ$@Kt#%^#w>@DfAn;4XLZ@br>9zxiF>FnH2CuC_D@p@5e zRos8vWOX|{$*#ewp2GUQ9IWFx>AeM7eD#&)C#GGoCffJ^NkOCnv;G^Hv_&r{%@(I!D@uKp^ke~?tX92s41$FP#ls_4} zN_oz3FPJerNz$A_?-LOi-}q`W)8oYm&#u?D1@5t+ufIdW+pZ-yPn}@RuX`QhBxF;$ zRfiaPOhi8Kza&w zqSMaUJA%u>FZtUGq=UWfIn!B=y14*n^|$KY73F4kqiKz|%Cf#@9ak}V6&6jDKVSDq z+jBML@5VA82xCJWS+xQjY4{56-RJLb3Mm%CCzc?rI8;lhXlP;t@_Oh-ZFMNcbg| z)|S_VdX2Mr8~6VY6sp?~!T@)&HQt*w-ukK&!PJGcDAUHmm0z`=bV_yt(z5DAitw(+ z`)Aeh@j>%zynuqQQVdeH=`ny=tZln4_~Fy=keq!XG}V@MpuWD^?`}w) znm_w3O&#lRrM;}fB7TBX7xs-jS;(1|+S}0!M&Ix6Y;+uJyj`ee zO!&(i!GRomixp^lC)k@| zh4xa@^S>=T26lkQ!2cW`ebs*ij|u-Uczj}d_(B-cpI13}{1S%UH9X3I*yixqhm(~5 z4jxU*3?4f$tZ#%za4%?taG3X5w01AP>c+Z6i&`=G3WnZs$f%Dj;$~}i0jDtkW~|@Q zcOjM&5OrljDqBy(tVq6SJ(n(J{L6!5n8r7ce;q5%_{(zR-z6OXR&M;QJbtV3Kg6-f z|8D#}-T1HO&o_)8)VL}f?swfh>N);|Uj=cYP{rV0`kEsi&0`DD--HJCZ$>|`6ZH4# z2>rZ1BKXH!f&VkX3jTb<`2YXoFH4sc(9^bHF>8E@Z8t zUnVbN{L6!X^5>h!e-#t}tXp(UXXAh91vmaXU`-td9^u~c%y4s9pYYzlh4p_h{y7V6 z{6jT{+e-~???!6#1-qMxgnau>-+&Vyk}LjCNpA@e3CN#{vpvG zR0>P{j3%LmaJ7Z!6hFmQV#X;+@ATQ#-X{r8ZvBa~lHNJZHQrY>-m`K4U=+S^7PD3?$LdbpRB_rm6fvH5dCGldW#n&N^9MH>>VJ zlt{qG_|5^Qr#B@UK5MVrC98cp`$X-p8qZ~pWF17GlG^E4*T?<3Ic$)|Mo?t)T0xu@ z2@A(-B~GqRv+ejR^TAbtNscAwaH9Oh>1T~@nm*fmD(O$3(-w1jo^9~?bc8btu9rz7 z;Xgcwx<~pw)=Smw$9`JdUUiD)SO`J{hmpsOJ)2m{QV{N|! zmUwSb4||T?6ftgTf%e%ZoXMQ7Q{$?MGNy6HZhCLhpFA8#pc#j;joeQAWVVfo^4E0l z@rczjvw!5gV%LUFfOW42=e2-Nu2|hGk-ov9`>!=VtvsYY_!UUqFWIm{jOldXJS2F8 zMXB+p*CxHXc`R`YmY39C$%RH~P6VD@E-F(fmVz#L}`aZn?iNd$@n!O8(nAmElv8zRdT%r8yj#O()^1~N{6=8c#GKqdTVOD)d_D^(m!}b z!oMJNKZQQeH~Kt(a-#gx*p+)gmo@&hDOg9_ws-K7y|?_U)L}Ih2e;QjF8!YO4@!9b zHYrBFn|ILA4axGCDr3K05-(n_on)eXMcvIw-}=T-kyWBpTW9a|SsXkw2#6PQ9S0FU zIGzE$y2pa|A7|+v%)#Fu2j{}+{d8`Lt_I=8HPP_%Y$I(nz8j5i zqwx<(cq3kR6Fx)}elDD_8KWFs#C@BMmPuZhxQNK79CVvF2SaSzF3cmAUIF1H8WtDV zl&_1Wx3kZqrZ5-m{6X;KgKj=A1kECtPV+%>$UAy|G@p6F?wZeEqxsZN9gEGZkGViq z*C$CsAbU@Vdj>OWfO+-oxIfPfIzLz-Im$bxZbnU*7^%k@F6e}HE;H=;4~-yCe@22= z-W)!{&k>KB89yAf!fRmW&e;Q5VeCmvD_PzaOYh6$QT~Vzvl$@+j`DYPl+Q7YqIjWv*@;B2g>*lY z>(M&X{n@6h&M4*;4O_Sy#mui$zROOZWAgiz4Vm9!%&rLC=8Th3j)G_?~Rgiz4z;A}&ZaR@hA z-yVP3nmr-c>}p_`-P%a0Jy`b$51-q>UF9F-D`yoG6HH__3;?d7)g2!6rhrUXnPJ`4 zq&GjiPR9%R{feDm#~%6DVeXjk1s(H+z7yV4Iw}1DGMrUd*f*FDqT+Rll_lZ5jKyVw zOo!e_=DAgMO7=c1SZ6c`H&erd+&oG$>-fa`4gm0F!86Na`- z%)auF8K=^83_uhbGMdxdkLPIs{Az0|n4#(4L@5j;Sv>kwX5=FFHQ5_zA(StIKb}Hg zF!g~!yRD!mx0qrR=x}ID_AGUmv!}cA{?Y5L&WW4Q+*pgZz9jExoSfgimdCxSp8nSH zhBG-hv{+OLPXk#JT9)MZr;4>k+HLwZiYZd!nuEtyk zRG#80*Sr3r!FkdUq7h|NJlOh#o@dz~+Y7^AoZY?|9u67}GyBr114*hR=muO_X+t zXM%&%Lb`8T)(rkk$ga)fgM-gAl=DhjR4IfKl?*)xaSC;g8M=0 zhH16M<`?t3rQO4Rp;>umkBfCH@)itjNw2J1GoiD;Ps2>AZRP039cz9OoEA2h^lNK5 zKZ{g=R4nP$);im%(_>uwpKjl+h(zgw*cPBzo?a_BzT#lEG7_!JR4x1HgTf8bQP3<& z`;P+Z3HgKQBX}DeYM3_J&F2}Q;@}w0=iME?aXwV*G@t9j=Dy{88fpLA&8O{w+BT`z)QYb;wA(fY<>FV=kw-f>x1>z+-V^EnZt`xXBqnYd0qe`5IbU-LU{8%JXYSB8BGl{9YvScEOdlNgA8VTpCveCTM9A_+a1BF`hfTS{mpm75ZBWzt z52D0rtUZMgfp;A-T<`K6f9up4;_9x^JegnVDzaG>`R6Dci1ztd#K$nd_Dk02CnSB4 zNctB!*0;ilbfJ|CK~YJ5_4`=#YjgZhr9)2Y^}p3>T%E6hJbqN=ugaAV?&3Ks6+MEB z;G4+KeYV+u>P#Wf4cs&1?O+S{@QhKzWxlI^|z)9)?d&1kLAS! zzFpc$M^-L#h9O7msHs-)8<6B@T_K72lSvkIM3Op?KWW5I+8OI`OE!TrJTK*WBqZqEjg}l!<@T$g>-MWPtLPmInVI*?i-vV zHOpAX$hSU6Rm>;j?Al8nU+4F`xn!J6$%;FlM$lZ2B;UVGr?Q%H1qRJ927br*o%0`- z>v%%vWi`s{g*^o7MfdaPxFHk1)?zD5e&S9;u9jm}ksEV$-{5aZ$hc+l)r^~$Tdl5A z_{yb!Iip;l)V*>`)JRzn7f_&kHW6io_iUb1X6oPBWx+Tc#vJHhmQ*8DB4aR14fr0TX}8l@8!2KV1% za?JJz37vsshOHq9xVbu+Lqyz+3pJ=P)911AomZdr#db zeQNkWir4r*ot)t6@EZT(DK&(9U-<&VFw1H6TxArgnU(NfQ13KcuWqpGI(o-`x;Eke z5IqUw+pEEAoY`yBGXM(#qkA3G>6;1v(BM;6o@H#Pp2P0{^jX+W6UB>VTjgnP-6Pl- zG#{GA%Y)W2oyO7=WLtEG(q>s>lirKRsvo<#W8B~FFQM_O=dw*%4B3Hk~*NKVnA!%KjY;z>h+rs;K{O~RM+4_P5D3T?xdUSZ}Rk<^d5AF5}4o! z`5MPgU-tirbK~BFvbe>)$7T3RdX19tV8)!B{VkSO{8(s%OC9d)Z|?=W-xk^5*8BxV z*2!MA+({)Y;?8v15}fsCN`+?NN3p&AE9uj_Z@q&YbL0_@)$9x-jk z1y8e|naM1&1s+5}EG*d1-ZQ79U;QDnpN;KeJWJhp3hZaE{s}>sv!8*){9GV`YzxC$-1(OpTqzh zKvvhi!iM@bF}(&eE8lL$s3R&J=HVPUeJ&>DCBb)IbfgjWwv65)JFQHlt5Xkexxefj zCj633PvHF`;Xg8ug%uJ&{_}#};H=QyJX@Dc@63Fe7BFJLsY5eItZ^eiXIn7l5i>Wf z#cEGgs!yEftXZeS4@A4PF)!hFkM^z!uX`+g2X(`NZ^<6MI%f|zm~C!9+)s0OPPolk zeY@rYXuuvi3n#-wwEhJXS%mA^W)nHVO{DQ}Hjy!#P2?5>#zcTIZf^EKNTRC#Vp&*+ zJBw;_WMLiXp63?y&(^JP@buk`K|c2jgZcb4Yt68SU)D%uuj{RTo&7I_I{b}b=2bIy z%96yXJ#SAXG)nf=kAy>;!=ulgf(Lv=Sp}A5Z)Y?)5QAQ_a_$(~@eMy>>1%l#;mGFg zExtqTCA~KcBOc~SfXr5#?QktGkrd(?K>7W<>?8bLWIPTrF+ckzjWcVNqm1E2uplf) z8AA(|yNvdNEUhDKoIOVJyn{Xnkk-$Wfq3vm`~g;R{|Y(kCCfjGr7`*f$WMoEXh$z1 z?QLr%hoyS8ke{~2T2fg_6rf_i5WXwPgFVHI0+NRAfTgU}plA?d~fc0o*Qq{Z#9E`-$9*yBkn83B9 zFEOB4@Xm&tcT080@2<0sR`hMA#(CMNK!|26oDo$#45UQOBR=k!htTgdmEh<@S#xaH z1Ht1^f3s0gJQ|1wkkb%H6RXF1umtBk+`Z^H>0}rJnM-SXvvZd0a|t~Q^nx>&`}K|c zeOAz)fm|72q7@03gCZJat+2SX(}tx7hJ@w`*(3i5I&`upTA1RA)WYfUK4!v*R?$n6 zvG_jc=Qs__S4Rxb!ZH)~9-fnN{kxmFnm%m0^aeO-gDa(VV`XVm1CT zC}=BZtj6%_&H*J~7r1zynu^i$NpNEJJ^$o5+xJ?k6y@VqEo*qVJ@1zKe%#yhZvuEh zf5c7x?ZNIv?zOjPEZ9dmY-MVB&$s8Jpr7vdj z^6-J!zoQo&=*MDiu#8yqhL2LOYD*KO}rxCJ!!vpF-_{qNLNmf=m z_~-Bs3p8(Ww{l|jm8>zJv*Gx`=-5MNkE*Kw>g&{b{M&uz*>S(2UIWbZ{{7l+000NSe!@%be|OB-4NJb4YCNJl>7Vq~E-cb~F7?<`qu62kB3&`c*PIMNo-*oDbio z9{iGnRT#10mj!!EDpc(EmfrXiYn3M(#>0j|tmHdSqjVokOB=~UHN<8eH+T?%Q1~VfL%OUx-Hk_<;(UDD1f^W4O?W>B3SG$2{R?Dxv%F$9 z-2!TE@92STbM{F4nWkyhGbit}D=5}1-nf(>Z8wK_{irHmM2+zIE@Zs}=b?6y_HTySXMjfTYbsCUAr7s7JpFCsU_q}hj6}6^I*8D|U z4$A6~ppod5+``71WUvz1+Tu3e%9G|@q@ju=#Rqs^e>2aDl{LPgO-U%SyQg+a_&_s< zOxYi+K}h^@s3sPd?CbEGzGP2@YhP-6D@X**Of( z;V$H%D}{Vyzi})P#?&ikTD0s-`0S<1s@yv)0i{Ur3jqM;o4T`d;X$O)#!n8Q+T{}) zmjJ-}SbA5`(rG{7sPGl)s-SKxZO$F&uy_>6`=7&M0s#63KYSd8S{pn?*`b#)!GTCGZ zY#;(ET&d2C_uG%@paGHR0KVLK6(tmuVQU8r+zRpH4TaeJ^AL%NF2<%KBYm*3b=GQU zxQNg$==6A(UZk$g@qLW*+~7J#IATfO#Q54z}gF z?RJRO(Rc90ERbF%A4k8IEpmQ#kWs;Ch+3ykK2Q-7?f+@`1$eZ84H&yDW;76D4|M4QocNv z{+%G1>2n3g!G+Ho<$YAXJoQts@gTAnh#n^~ARQA(o?2X+ZiHPMY=<``j3H!1d7gQu zsicbQbV^5#^7ph=5VR3V*q3HZDX#lKkJk`G6TM>-ynnM@L&gk08Ni}+&d??lnKC0ayq_=HJt-U za~g;&a@k89kllKM$I@&xtYRS0c3*+*Q{y-I67&14^T$ydDK^NkrRPG=-0+fO3=mkpZM zrXS(LdDmlon1ZoUlKn`3=eNurEL`n@OCh*~J^O9?jn}nC`(x@?+3uNEE_tNcX64(g zQ10=fPMu2zH{z)F=Ps1}F3^B3YyM6T`Lv|RQVgN=AEYX}2Z@C`2oJfees2!GN}SH% z9xPSS#G)M6m|DO!ey<(WrHi!r5iUAkUF~y$dhFM0L-=J^L5wm%NocPNYM+o5@$}GM z`C;hCyBK(VKsE$_M4Pzj=6<|?x{g6|!bvf+SIS-tvOD~&8MFph>e8elvy&pp9s`1T z-(j=CaTVrn1#ush8L?IvwXfSxhjEB5zea~x#07P4COj^sIlVHw4+9VBY2=M}knd+_ zbV=wu`;ca&oC-E2JkJ*fy)5~lO)GY#)b*hswiWo>+Q4J!QKF)7j$PQlFpoL^-Y7IO z0e@;#s*LFH+s(Ir#@M1%3Dc=#H}klNXH4ectrPP8OpoZ>zFA1p>JzVHXm=F+<09W zrgb=$4i!haggqB*wRh!xuGdV-esd&ChF$eX*-$t~jE%+^nbGLu{-Jp7)eY3aObsT= z%&=<~D0Z_&NfY}LgPHW+46cBa5j)w!{s^l(@!@D8gPu`|(qrOWL6;f!TPjtJ#oIWT zK-uvpXTh2Fp#2)eK%RHx`Bl{kHQthfG$GD#@l=jw&8SRd&MWR3{S%p^fkU}h@q|IiUj{9O~?C5w7G&b6zef!DzL zhA0K{tt}+rZk!HTCCWF(uG|min8dw)(C1_ZIgkir0&1VP_3;bii;1Idb*+VLtfh_! zgX!a8@%J%K^quhue`2Mg7vkj~$A0|_k*(k75Mt}a$94_*80F&e@|S0vjU!}%U7u7+ z(~ss{Yqgzgjl=)n_!w&CtL|J2njS%x8u%DTTC3Gcj*sbp!SOLAWO^h=ug1@`jiI#T zXXn5oOKUO%7LnZVjyDVWnV8Wx@Uz&t)n$=CoF!gcgB<)OZif5#fG)XN?H0Hh@-*Ss zjF(&KF5xn3y^`gdVz;zpk1|#;)A1fwVnA@%KJ2s(63qdR0mghnclEe8zOOK3FG5nD z$>n;IF)L0?G&=jzzKQZ>@E=wydyX+5NAK8Ecl!hU=Q_|@{6`uPpo9OcBbS5u`+JY+ zl@aoc;TYb-xNn_HzGmk@TZoT1<|=s3OQGCB&g-@k3(fdQO2z#cM%1c~$3Da_DLkLm zx~ko0!RIZs``MKR?PB~WjSqS~KL2e_mJc3~EdDsyZErDygJI8L(Tsf}z2%bUHu*6H zi1+h|O}b>c1&GJXU#xove`GoG9r+}}$vny=5{@USzu++#m8jBq z5&_;f-xl$tKm0|*=>5g5Vu*|^Ho7I@NICA8gVHXTJE7b3J|h(gTZGK84Ucy#BC%Mo z0rmnzT5S;f48B$4Z6c6c#Y*{p0!6pQ#UXfxaxkL@C>Q(^u!R0f36E?b1VM+9T;{`! z%JdXWa9{z`sa^`71NV9){Y0r9m_L(hVk!YqlUB#*?+;flEBumtDn^eMvmoTP~jLdD+*svnK0K zY5;3IwoDV?%sSEV9y(j~y!iZ}dm=LfeceTP&9g2uJAX>g@W=Pytnt{7mc|>hJ%h_Y zXU@6j0fuPOHGXYr@QA&y;UKdHwyjCqf&Y8KUzZBszs&Z6q;mYJ#-DJ4+dpoG7 zCP8x;132#;o{KW;5Id*9IpXKKik)lAq7N0u&ea_&P&v1a_TVyv6Ij5G8WG3ko*0Uy zBu)6Ny&ccW19ESw+E17o_g33xi2ZRxa%bXyo&uwseqsl=ZFeARUJYWu-b~)1jTc}U zSw-3TT>8NrTe<7qk$Xl8RR^^DA4UuQ7(tfs@Vhr>6*>C96f|9JD}@ip0u-58y03(t zKP{dBb1mDHvsaEX`4DRyBphVd(l`W{hkUr3habu7Y{5ukp$VW*XgXs#1Dq8c{-`v~ zakHwtC358;Z|Z5Vcx(oh*rRdffLFXQ{ru5Qb&P>Fo>Mv=$8Qx+qL0$w+f42qj@)}l z03+@#2<09J@@s=C($tc^IgSpG=9-IpTU^W;!t_}*a>=8_rzp$q$BMga{E3DTjk^7~ zshvpeeZ^RIcIYUopQh8_bu4!jB2)~ax5Td6S;hSjMrm;(hYteOiS(o+M#Sp=#5j&T zn#l6}HsNQ0u|TYHZehtX6RonqShCEc%Mz`J+sUS&$(iDqvY^3u2d)ZR*e)cz!~52F z3Vb{+4xlF|{ZRm$@%cv)M)`j1${#UA6cPNb;6=^G|Eh_Yd4#|$pXJG6>w2Mx9E3o#aq}=5g$Eg> zqhq53Tf&^f(;sk6FS7> zWe$F^z0dipv{$LFcMXgKbFA#)O{pR6$zuGxrVOmQ^u0}*5(fXwnD&}MA14QGAXin- zSi=~WYs35=vBsme6}m1<#bOT~TGdpsVScw*^XB#PIGQM=`UDv`H5aUH}Sh$wR z*qBW+y9qJAE{r6sj*vSRQCYNvKDjJaMLeEvrU z?^m}tNOBsd=uF%gmFdwgAx|g;wQx|a7j-j{Wgdn=mU zE5ZKErEMjvc&#Rahc8q#E7%G}i~eB>)vV_H?04{+b02GF1t)Pd49kJ-h)gO`#uMu~ zg_5B?;a6?yu&lidfte5jntZ@arm5DYdy`I@SHs$#Hlrq#aSmbs^ z@p&hVbN|IRX5;feJ4~6spr)&8ZAp>;d9M6D;L$Vc?`y1N(EP7t}AmAX3J=~~U6Q1$CvS4UB2e*0vRaQTB8-@|@#rZY(ns^Qa?UcSX znTysBT{b2&dSKbmmPBSMConi~&H_|!Uy}6uZC%5$^X^sd+?kWCoof7ka3MQ})}wLF zhL+Me?yAdkt9BbiUASr;Rt&fIHQlvF3*x<&CcSd~BsJyFm)LS8y^DKhj|JbIvUWUc z6>l(SO_Gist|z}?9x%172Yg^)qsYqCZZ?W<&2>9czhuhQk!|ib5T5Ycu-AJ5yls4E z=5E=w8-)e+TAxsE$I{R7?i=v;=QD-BdH$wW@xfFEe*aMo3IKp%6K4h282HJpL4>;E ze`ndS3fXz%{Za1d(;Z-)Zhwkk>wH`J#2c2vg z3^!CpLOsSQFviM*i>#a=gw}HJP^8)* zZCj+?1m`ge#4hEf=Sa!9b%rT9Pg$lAR2s5`MB+d`p!j z{Ef|#^&S!|fy>p%%fZm25#6ya$ApKSNBPc7xb9YKx<%z>XVCd-Ed2-_xOFF#R-M@r z>#oz;JRurDms!CpmxOEV>!nL|z~*MWfEvjLgNV89H^xX{k{xE^a&*WBriN_b$V_Tr znX@u#Ux-F|3P`a;=c2JI)6Aayoqmt4*kq;#6`X979H1Ok-aRc(QrRbrQZ^bCuXP`0Wp~G5;A+5|Lt0)^Z?zCVju_?p zx~H}{wgmZdzw4sh9->Wuz;A0~u>XXx{X?s~3O}{|msMVB+b^>Zfk3f`Q`>)ihMvF9 z-XWX|d96^u2jGtB0!+mAy)Z*BdsO9Yt z1!EbJI~q+w`=k=OVnbsy$I)sf6WzuycE=s0a$e9=hUGTC=Q?h?-S$_QE<%7Dnb}TI zL(+AyZ7y-P%`N82DzI%DK(N*&=CA3Vkd5zaaA}T?b;w&~hR*7F!Bd8Om@To(LRz5E z98h?c)~kFzN0+EyHS-b}IgiZj>{7&Mru0n?njc(4Md{0a&Ab_V4UPQc$gjJiaH2A1 z)d6?z>=fJ`gzXeFc=N(AADY8A%iEpc(h;H~F%t^k1}6P8%aZ;t3ghR5cXocifFTAG z83bg53La||K5>&(DfmQ6pfW6||ITb`czcu3uq*p%7rDp2rfeR)#u=z0Ar7Ze9-MlPK$f_W+2in?DESSp=_rEt-YpJ(G0dPf zc3n%n{Mp!b^Ls6gSB$)%v3pVU`?AaJch9ADxJeA#`3kCV(9~#G&1d?LRA<<{5p9_*1YiIL3}UnHjeJ*DBo_?C@(a$UknNoDXqt zW%yC3frgJAcS>JAYxo=Qvf(d(U<<>4IGrE5=Qqp5qPYq9xDkOLU!Cp&`jT z8={<41}jSS4zEmcamo0$4per=Z9}`0`P*hn8ej*U7WWmB;1D<@xKCsK)>$90si2L_ zkK(oSZmiM0N12huU{mmc@E%JhaA`aWB*rE{I;i#2)A4pJVyIkqkHrPU=#nP z`E$gJD<%$@meZOe%cR^blDsJkUP*n`e)37^%+t-uF!XJ0v=<5PDizqkDr<12q7)dPbsI9+n#WqivF zn{|7HZoh#zIMLbz`*vnuoXFxmV(#B7av#GO1Qrt$f;RDB;2#@}qepcuSrbZZxA94IXxnK$22RS^uVc_?=ftXY&N} z4aT_9%;hn%D_AllV0;|gfb0!?2>wQ)-1(^Uk0%MdLrG}~9Mq3|2Qn>+rS~)x8TqV; z7Kz8zzb(O$nqcTSc{$&i33|oZFw_1U7gA1S{~fCb*{|k}$o@5b>4NN`Y5d+%G0wJY z3`N^;0VMclTp&|&^_or;-y(>9Yl`nc?#{lPckg7*N`;l9*_?m2@M6Hi}ZnE?e)d7liBmkVYUj|G|8>-XHR}tM%4m z|3_^8me)Hi`cp<<-}VB_EwlNEJ~AVBy94<5fGI}sSA2uP|7f?KdtVyC|AOfe{1>q_ zT$b|$OI5(&!+a!R{G8mA4$ZZ$ zdTu^w?|W`zeC12gb4`2gJ>%x^8KnUy{*n!sbcd>!tEq~T zzcHCudZ8XNy&t$SEcu+Q)S2D`W{1yTsHQ(G`9$|3-Q^j4pNX4BgAlS9A%E1^R>D_= z0mzuGTPrL1NtHTciQ$moYF`)*Du#;LClG7v)*nd%0A{=1h=U$oJ+JFp&bR)i)4;9- z5@EejbkVN(Tk>A#Um#%`g5i5dd2x@%os$<90|>!<$b=!7;00o|M1rb)J7dMdS`e^hZs$BbRP8(y)n3u9Q9?E;hyiqP9)xvlyIf zUUoD!y;;hhQ+ue6;5HfP=io+5iZjr?Ai4hHF3yxQ$5^_I!elYVr-GE6+kkn9)SV+d zW-m<4XDt0M$!V56NWCEICN#?P@Mf5)yC<|TtCv-thsZ4CK;$1#6URbZ+;tT45t~+ zMBO*N%WT7yi8a2=LojKw3EoecuG1s7Fi%VoHq~pNDpoHANEl1sOXUy|Eo*|=DL@RZ zr&&Q|cx+Vg63c=wg3jl+fbL$@&-V>C3;U_NC40E)I)1;U`q?m&(+2yHS;z|;A)1h3 zWWPd+yLKF!#v0EQFitoVX)uvrjIZ8&zJ=)MS#X0Tb#2)V`Tjx5p22r0FWsVN_HJvi z5~)i9XMNf>_vr#Y{rma05l`I-u8ngTN%mN(3tmL0K?D69dF2Cg?iJm%jv8VdK|w^O zzbrtHkHQscK+rf0ab(J@6KviqC zjtAO-jI) z<8;9(?qx)qpS;{=Z^f=c%jVXplZ3O`G$3(!7K}O_l(-@HEWAakmv+UfJ%@W)?78jA z=7V8rZE)P)fcOS8b+!i^PUF<+x4}C8WRGBRu_r%zK`0QO{DotY2nFXDxy(udGU>;U z=|Sh-Tzx(8!tO=zN5+&*VrUMAFhmz`;<7F|dC4Zy?Tof4FJ~Dxl$6t4+}|$kQicfZQ^g6f zeQeUlOrNW-37;oR)KrvQ1Oy2Fb%j5f6@J`SAN^tdNO%ympOu%D9I)`dYbI47D?c#u zE2R8ykd-GIuZd(O@!_GY)cZ&-h!LzcdDBr|F4j0Vlb4SJ0LjbSSvJ)?mr|R{%H16? zbMoqBkEd7xGMCC5b^A@2^Fc9M_q!dSYS(6@ryyrO&zT`!3f8du^*+mX5D zRzqy*0Gnh-5qOSZ4P4{85=xXbVd%MKXxF~c$E!*0i zjDXe#k3MG7XC$A#m7Ke4(dKe)BZS@R6s~L=zau%9K*y<-j7#4xsF5}0g z*i>tx_7Q5rZ?^!iocx3BcLZ6iv7WhP(Hl)3gfiVZ_ej$!32vYRWkTtwTx5T*&ZqIs zC5`?Ml?5C4P?bqR#u>GNL9&e8vDZlvn`0hke}w{<4*c;Cm$kwX%Ci91XYV9>->?o zoEwVAyI|_cdFn*VfSzK>o)zmR=*}#Hr~{XO(rIh7$s+ir#P1 zH2Wcm(P0v!S!(9^VYJ_OveX4`TITVRZKjB|Z%JHo)hu75GxYjcgogOlM4!u51&!^}}Rr2+8Ykt^P=v=a>yf;a^Z5Mp| zq7*ap2zQDXCFyF$*u>2IPH!e2z2LXa&KbU)B*EFYn%6}}cp`Lwo|`26IA zgWIQt!eL)NA{=7i7yBlY3#BSwC>MtHy4MZ1oWVvrUWjpFll|#BqbH~TPl%YB3>YR?a{7Pn)35mi{pI;2@ya2ee4S4Y?}Jq* zn{c=wYKQpmb6{xNUz6*@gv-lOev8}$J_m?8yWw@i2Efm;34zH12p$oXy zeo7M&EWMAicT>Yn3{}0Fn;3CcTbatRg}t0!wxEZeZFra?ERyqp|Cj#+V*iSsqt$01 z2is#F+J~tk*Oaz}>9!pGi+xN!iQ2Qnaq~Q0&)UmI@Vh0C_zJ`|q@QtxV3)`DIyLX` zJ=-c+LT0ERk%RH zp~enf)mq(!{RxL_8o7=(vHB0OO(1t%f|=4YTB~j2nKxuW7GhoNwtiwF^LGm*- zn|6xfT8WF)q<78`cOAo?jv4J#*GES%MqNu!45>?ak(p5 zw2WORuy;F<;>UKNc@DQjEd2puMh^MIliqG-)hg5 ze%V?*)&}9?O%(;WGIrI`)NyniZ?zzM6>$*4mdA09F2?9H_h;hbtk@m4Ko8baNQU7F z?CA#ZEp?Cpb=lmII&$o+kJ~1g7q?UN?m0n_aSe33%KbtcWTV>Ff8+=V^|X%LmX}qm zER|~C!Q&aTIY75Ws~*rmOb=eXkSVg3A@TC z<{)=Ct0D$ThSg_}XADBx_xNlmslyj#vdW^MhI~Dg6~VF7g>H}pCQU{@aR^82r|39a zb>!F|!f{kjB8+}ZuL_GzU&2(9luS4g9AjVCfs9LL9!eT@{^|k^oI;kc#*kGG zg*zwm3Cj{nShlB4kb(SAEG{o!MoA_5%jsI8b^{Jj+Mq%E^=tG;vs2_10Bc`v09Ur7 zh^S)eee?}Y%TTV5J(P^m#JaX)G=#-n60dp}Uy0ZN=pluZ`0Nww|N46CpPld>`qA2` zXZ>f%4b}!@r-c}BCcIo2prvn=_AG`nw8g8glo4tdWOc-!EMPU(cnTFX1GvzT>}5RU z;o+=Bi%CqF9bqj^9Ab0Lwu5HU-}@8;DP_)xX;H>!@4pzV zJ;i|<`l8;l(*zX4jBQ?kwP_Ha9iri8teen;lqajLcG@!h4UW@xA7qhSkR*EID1hE)!OVEiDS^J&SqMAo!@GGny;=yTe+W)vDGiL5 z=|g7NlWF;b6JLW|=I#A@3)~t@Y+`-R{)x2oYIs9LUY>|3+gD_j(*6%(KN5mPY#G7*^;RQB1*(%OzS3cU(8~5ekE4h5M~vskEanjdJIEc?@Ywc_xDf zHF-EvK@t-rfvb(Qp&jcu=Ma04QGHk`Qwh_RDg8)nG*L6prvAiHS;*<35@ zPA~@j62vNjnf)=hhLIRB*je3OA|X^T_shgPZSE)0o0E?fy?;VDPAo0r%cfXHr>7+S zOSRRMB-y9NSF-+PGp;Af4+H&t4(67nni3V4EM=o&iS**WS0uP9l8~{YY;V$>_hJxu zs}-q(#^dQS`=&vu_eZCyOXVER!rlrM?r6WyK{I!Znc=)J<-lm=TnVm#fbat(LkD5a z+i^hh3) z`iF?e)XfrqIX-E)e?qiQs$74kVg8SJ7cAnt_PK%=aFU-(p%*MP37k$fa_ciz1Lm?; zyQ(Pi#|rlOSjd4TCkKQ&9Hi|oi8HP7dLU9%aF?%hh_fX@Erp0X9R3gY51-6x9Br8W zqVzX^zn3OzS>B2@{*bMWe?g_Za8G3efS)RxB2=wzoEU>Q@YzWCqm_R^VNw)LH~h4n z)txlwkEv9Q$j(;%#Nqf(*0QfcJ;n{Cn?mfWooY;^9jfuKLe==l7Fw5T{7cTmD^U!g00eI&!;eY~i&o*vXyN|N9-+LxOti zsBp)1?QB}mWu9BQ4{DC}AU!$=C12ee!DR^v3#+SaSzI2)eNevTC+1oxHL3p$OdCyA zm6-5IQpDFL_pzuAt+rZ9n@OFdSB9FQ$#hH^c#=k&OBrac6M22Z!?4dW#=7?7;;f1R zq!~Vx%#6I$&fm_~;y8_$zG|bD#G+lRL5R{(##`{OK-(W^%HF!*gf{rPwU#8mK6#JXsG5c(5(WMYgngW&2I*1~tgFSa*-;+{PkAxJ_Rpb^AB= zQ1S*1Zb994c#|{N#4Ky8=}l(A%X^HSVz*C*kcn)W9|9S|7`+cXqO_q1!+pHe5MtHC zvv=_$1ict3rKOR+~=x?j9;%sPEE0{8O#Vq@CaY$ZfjMU>gf)AxSX= zsN$&2kDx!js7fy18U`Mjc8I?N;>N{V4>uN;eNx+qX0gA<7%Q6ahl@xz^OeE(swj<- zaRQYcT;?%{_G~u^&j{W>Qz>{F`<>3# zStZ*-a^1;6D*Me7PIZ!N%2ASBKOQiUJW91fY%)i^tz@OEoZuP~CMy*e8!%ZdP=vgs zwMHQq3&7S>tmzl}ozszP^+cWKYIG2}c^JNR1ACj4!^ssS(ZDNu@Ltk3wlDIeG&q$C z+Qs%&a833RJ~um6GTa#g0cF-@85|G`v)evvkHli*P)_wklSMUI#@U!3?sW@X?_C&rzJ@2+%l!NWuP$NolEXydBIU z@gn5YyP6uY^xpxM0vTF?MQ|hy=IzhYKgPu#S{CXcXjFcWFsZNUAjA~~^H4*<`2l{#O?UyOeqejjkAk;v(agC~ z!5alW+Ad!LCl&%Z^#g|wAuaqRTHU(aw6Yt1WZG5AaI>D?v48QZZAI{NfRZg{QN#XC zALTZ-=R?oOFHo-0waPlo6CZH~5or#fGa6tE`M;46h_E+;L*6B$gFK$chz|L5QD^P* zH1U&$MP)kMK=-T!yT}4tQS$Ebg8zl8R#DQ^9?sH3rq6Ra{wiM%cQ{Y48=qnliSp;! zxf!hwo5WF;{F`Cx!G%>2I?9=6=Z}C3Ib!*_A~|xn)#-f$ExGMxbVo$E-AvUMo~5NX z(pQc#zt2MvZ=Jz1pZz-;QF;i)jKX9QL zYCoQ_4u~=2`S)?mXC?ML-!@XIUnqY;-0%I=acrV4Hy0UgHe;jzMO;a0RuZ`8Hc`F9 z0+`h`3Bb}giMDO?65$`p97B8XPV5=V5X7uF?}AzXpAEuQQcmBfykGL>vB*8HL&_h0 z_-ftuU40DW&))&Y93sB77$ZbxlVh=5q*eMO}fZ(#vL4ryD@@O0OgK!%byHYHb zM2KOYh$U>t{uxUj%1gFn>+u80-phF6{zGm{wt+B9B5KxUWdRC)T?r~w^gf3%#?n{t zCc8fs*`!U-n?`NhvQzjcf^UTXN=$63e<#fMw_*cKu9vNXe~G4+DNch)y{dT->cuT^ z_>FV@EKdNTD7c$l2LwQ-*y1|u{7hE#@V(CTU|}1D^Z;LoH5wcnrq>pwCc`40a&+=z zHL)tS7W>Yb$8;}B4TivB_Q8T#0s_}Tgtty~vfihLx&5zM9{=pvL-)GhYq4KG6jpFU z$Uoo~J#W&wXU795?tj$BWx?pf;1jQ-t`r;=Mf)*@#EM@;8`#Y^W=kMQA9cS~`2@Rp z+nNoWDEWl928AlOMVm=zc}HGZ$Nrlwnz%$TpOLupDMjDFlSoi``dEdDoY}EQw#>*m zt&`#rf&`uC7V7;D3&k}-(L!~nZ&v0AEfmWWF4UmT3w5nfJHJr)N3l)~_Hr8QRLeR& zEx07P6cQuCJE^tGraK5QgB-!0H)w)+CccBSzK2@r)~TV*3B(0#{jXY}gx6z0-JRMA z|8OLW@LOAd)@w2=&HDVr)@KiWS{D3~KiN^}6J4%P4w<`zRSu>1f>?5p+9FE7vfdz7 zBS_iC#8CQx&XD?3A*4XAG|%$623`(`5neCZ46m;mQ-Ig+U;oW`J#ve9T{NO2UJn8K zz)kEVH=bZs1%>7Zr%^WBQ=&f4yL0$G?r*5Y?y45cr~Q?LVrJN`$95|cBGz^gju_%C z@1#)6MYr+8j4@$YSD8?7V9*VUQdn2a{KA9Vz;4-^i7b*lRq`#WDKoa*Tad8>r8f?V zvde<1`TGK7wHi>6Pyy8^Sz}iP;5Nm`H560wySgp_OR6)i#Tsu#EJg|Po&Q5iO7{-5 zCuP@I6Khl=Y?mOPogjxlju&=IW=D zk0y~XL2vEq>jiwZ{hH$Bf~FV12mx-URXTn^JZI90H5NI|V!ZR30E)v_9EGKn`wL=e zZG=#!XYqnh3zxsq11brPLBM_}d)B*dTTrQO!EieP33~q+XtFTO zRzY1|-eGWFIF-#HuwF|6Xu5{L?u8Iwk0$7udoV|@;{VwlMejP#XZW1>sWBO0!hQK0 z8f97V^9ewT0YaEbI>J&=W{%|%{W1L;kF@D;T7Yo&fsaP5rz31)jkB*6k|}mV8-a zoz^q6qF|KjJ&j5bwsVl4l~ytAR}u7FAV&eWA4G1Is>o#&34X&bSI)_E2`6Ya6zM}c z&?_;U!4Cz{~8_vsiXS?Y0P0kO4{iVOz zk#*hmZLhibthhfDm215sYGD>7?Q77VhqkbdK+n|pUrvKK&Te}S#eg$ch=W=J`Pw9GglH@<}b*lTmOT0n}(z4xr}kzrvatx`Jh zSJ}lgqV^OS7+ncWB#+AosZC8g$%a@O!{5NMRe?O5KVL#tTLAxWUY|%`WGWc)wV3KU znhAE|X=reIx8nrYDe7PQ8i)Um6!QE^@NPY#45klCmz;1oOHr`8VLV@`pZ@Rrd#}2y z{_ue+`{wm8nXZbFe!;-c>G=H3@WT*Cc%k&G%G3eJvGLLgs6YvhZq>e=e_=bLHqGgl zB3d-)fvDOvv_-cbLLbn{X7DL&?`Vf&cEG~6(lwoHmy=FwmjHs})^Au)%sm05-kG26 zR!2`uttX)hy-f_`@FTh;8AZHd&6gzAV1LQ*j_KL(R`+bDi#Hy2f*dJn2KwY9qbgZo*Swm*mKaUv{h zWeU08E$8%?Q`Wkrwl$=W_@lInmx2`4K?r)@oc=<1IGPJ?IuHO7pUpAv6;;@@Heip3 zL$vYR-9woy=e*`i=HV`3{WcfheoSe3_0Z@XckwMv{L@~J+w9)kYS~c~(qOxnV0Vz< zTgAC5ai}3* z`F3;nOI8z$` zFpd!akA_b{Unj!HpwEW4z7)Iiwuu;A>k-oZLA*0JVFiP`chv3=#HzXP73fkWefU?X zHN0Wdq?!AoRK>}U>Gj`=*Au*wjh9Q@7@Y?DGM={9W;E6b*(3NJj?=32f02TyY3h?| zEvgoN|DTQb?M99F1^(?kUa#cudh7LX;SYEEy78XBe}23-@Vmo!e?v*Hq)FAnQU6cJ zi$D4_h_%Cx>W9GmRyy=cu2#3e{CL6qupG=U<2ArLpFaisA-L=N%tMoM^c~!+=Ua2n zwjK}juEYF(s4jBrQKlyUm+Nt)%@6A7j9BL}$v>wx$y@kWlRQk5{9bO78D2BV8T@hj zLGaY~n9sc(=d+e~9p-a_TFcF+($%gPx&^-KH|6U8m-yBdClJ44qLbZ1<_!xsy7#r6 z7PyYGQ@Ug+^HhO-(-fUK;h>1Z+?&ld>AU3v+r4fW$Mo7j0KA$8ChCnU^-C)B3jiJ} z0G^Zs;QqY!O7`SmDOl{6{Xxt>otu9!jpwYk$Gk%Sa`d@D33hVuTfHdc74Sq=z|7xlSja&;0nc2@x)+?E!_g??=_@l|z z10un3Lbi2aZoF=OV<_U4RH}S9%cy*CHf3SN5&dW{pe!5c=JYt!PGc%c?kHDJ&&ARi zb&=__iw^u1hcw-~WRGaaM!=In@9=+o)D^n~N69K=hDX9u%s1Z*>+s~fJK=m9k{*?d zTZuKURjYoVIclh)TirJ3l}j40=4G*B6XN_}G_F%()!9a^4UWH5P5}izkld|e45q+a zzW%$C5%68;B+B())!9(!%cR-f#u-Ngd+%cB9-}-ZP+M-y1pN1C+<4enIhc1iO zCtiO1GkwWdiGjcpvEuCZ0ic?$1p?l>A$rqgKK%+h(D_XMc!}aFH-VRC*`n||Rn}<0 zkWqTCOB5Zwi9RA6dm*&{bUZC!w-RsF{;??73)=E`ijE_6Tw!+_B7t$j=ddDRI~si6 zT?%^#KeB>Dihe-6v;N*Nb4qb)D=2{V4m0@#4?qTS|9QF3I^}{ReP`$@%Uewh#1Z1`zf?N1)WKYkNAph==|f* zzaBN1hH6;Hp|p+))v!qnsVfol5#YvWOFIz!z4Cro@TQsDx0M6O(3NZY;JE)-n;BM& z>VpXAZv?+$ieVdhzpvH?wWs_Ix_Y9Ne)@WYDIlrfA1KkSetirzp z_a9Y;9QLJO`z3Sq6E0dI5p_XMMBT`1uf(@z99*75tS3%f_?Vef`u%!s{XSB#dzVq3+_xf_J7 zVs5-LO}KP6jvncTHVQgk!v!@U?ZV==yCu(g>e047zrS|;1PYjRDhY2!mBdHNANv9Z zziR4H2nn)&?iovKy>KA;yVy$5Yi|(3TU?!fCv{#tQ`z^C9W`!mTq#^-e%qehzSZ7- zm^Z!$W)aWqYmBTYzER1*Tx<1|uX;?IvbMjl;#VKYGS6RA63^USI&eD$_AH*L7Oix}LUsxQxvgcRr-bD6jZZK|LbM>xu z^#*jPx0tHI@2MAWs44B%Hb39L;AK0WOIt-P*!#lTpcf7YQ}+j z`ZELOhe{^e@I`UM%SBw4pn5O$P`zPSSv~6fCT>^)+#5c_XGie&OLhRx1<2y$CwF7M zGl7qf4eef(N2JOkY%@={y>~{l>Mz7l9m&sz&)QS>xBa8=x$d^M$8*m~zpiIZ`6sdT zB!-mmf8*pa&hpi)2${^8@iHzg;3F3PT)Z>+Q4Zo&vf?!5!ASU*FJ-Ex{QL^hA?f2&hCO(qtt+epB|7aT0sks@IULWBM3@UEWICZ3iQo*d0Q-fB48#6lYzb) zOMlKo!oNN@(0+vjeT|O{beG)xoC?5r7pjf&aJ-GVLG)w1k7%Rn1e*g%8XCTW9 zhMd|ZESVo}qtpP6u~D}_x;xnn&u!d?2}aSlSMpFe?g8|i1Mq``vo@O`w(<6j#`_GXQ60zYN*0XwE{fRLZste!KK=nzqZx_d{C5E15aK=Z>=>N$ z2=P2U=f+#(;9M}?ibDA2@!<|$Kf?co@SXgF5WWy>r}2u(6rw|;F0oDcV~|!QKcN~# z)9rYeFZvI!hI4c_4RKe%RCD;O_`*VbzMetkhQEP+I^px%yy^mCNRozBOu@p+QgYIFLVs`1i% zA-p&3ACC7P{0Teahg+Haa2tIqV(|Va)qwYtco`JHds`SN7F!>5clOVc8!6{brgr3H zD!7SNrNCKMplD&TV!tWCE0%tdmbw2f&jC`qcc6Y8?vAFVSYuBcLWDx8UGwaOBKupB zck!d?Qn?B-6(E5EPKbwxm)pXG+=)}B&# zTdC9Y{XfMEptSm!4p4fx%=$k)M_-Jhm%wmc3%}0Pc&=N}lN+6PrX}7Cwq^s0XS?wx zFQE9g!b+>&0r`5Xu^sT{)9-1}vw&FkN#1b31^wj8-;ghVw=2Kc$}6=>_NJ)(E9$%R zxMsQX*IW5|hLpYBy}3=L(?6p};~RzRxo^mrav+^)wTG*tNFH(Wm*c%D8tK5xfN#>O zlu#u*j?YZzK`oE-TcAeL za{y82{&o);S#Ex}TIKOn&ZA5${Ww)SkRaXES;-%$o8R%7ZYEeaD{NZu-$FR<9@ftF zbBNVmk6UkHKO%w-td)LxTgfGq%r4<`L94OGE4AuN_@~3$O?o?|BO{JAUW~BLraQNw zj2_wTS(^?mY^AqzI=@}6xA$oYJ(6p{dh_m?S>AG+eO+620R!Fq`;i)>eg7pR;QFXe z^)C=rm#?AzTL5(P`iIc9tN&J)_3zBp|5um&pF(}t{((Z>JTWqk4*PjSUfb0B!?q>p z9-$x^oXpZn*d`aX{{J6yX98bUb?yHI5(o<3fJDDNAKgnB^QRI#wv*W6I@YE7{S*6UuJqOZ zzOH)WXR69W&XISVf^}<7-b?xA^b{VO)&9V+ycv6|{44m^>AWI)-Y9==e*6E}(G9Ov zB8qAE^G~;AS=sVNFXM6p{oMO}>usq*EC+wU4q`9~uX&*T=wU8W4F5HHv43@0zCKU- zrL2XfGwWz#lnNvPJ&oTr?knU}EhDFriv+azF#e(`B_daQgq z-YcfmAr)0CPe>iIH~h)TJWiB?N6N8rVm-_h6VnTMP2^$LN${91`k*&qe027bHcFtP zL5^|U^wcHM0I3c9Oj@uU8b`h)AIPU)_G8A^o+ zBHh(TklS57jeigHuB?2W+TMMYzW)5J@3rVIyEe++CX>*E!V zpaqNqFQQ$Qv>;n?tO19QM~PSIzYOeEEw4Aweo!$+xt;s%iOeiL=2kS*GO{c6ci&!H zR`&5;%6I`Kw7(nGC|UMh<#hO04z}d4a3Z5*t0l{pxbpa9^Z&pODWW?}^LV^-c?UJd zI_evl2IV16{gxp#VBYa5Je9^>VG*w5J;oWAomI>`m)9!?G2^Xh9zRuE67=ZO`G{=-Xc&|};O4$|hI>yh>)+9^^#DgPl?X18pa$CZ1t%iSTHd#7?Q zbGbvZxpS3!u5y{wt~M!k&U{Kz#V7NzKGnt!UBa(G#EkTv!(KX;)SpP%{^{|J)_?(* z`mfQH7Q&XKG}x0v7RvSW3O&%XPynb`b^Co;Uql@}xcMx8mV{7otyhHGF-lgfyknGo zCBLGGYJLzIF~0J^$cT7lV`RjkmD3|5uCHvScx1#)mGkWHot5+L?|qe$97IO^t+I{3 zJuo8n4~D^Z5U{3`l^ZA!O*xwaXGmbsA$!~k13bh;#Ahg_7-oJ&qxj2EPR7#UdSWzd zeay}va!CnCp_i>elER#oqRN&{--}!_9>7Mo-BuFq%MPUU#s_m1@EfAZoMCP+BZM1e zI;uz5MPZN{b80aAu@y9|bGG<|d71X5-|y8vx62f)Z-qT?P4(&ggW;P@c|GW0Gz_G3 zuI7=+*K3p>?J!J4TB!+N1jn)4zz3%%nkMW6PywX#alDvy*SjwqKB#JmKp{)6e za_ycox<{LuyWZSVST4gTKSkyBax26x}bNRA)2gO@31 zO>He-4vSgQJiI$JznXu zH(Y+dKR63fGhtPE5G_zr{n59maV|C7DCnsm_#umptkY|`hg40A90S!ye)m}C6@KZU z&_8fy{WcdSW(hH%Z#p2FK6_WmA;;k?LGNeOJJ3+Pm?xGH*#8NACp>O0ue^|?3e<(qEL{yPUF zzC1hPc+G~ybFK%)5829SW06Pp{uXV|h~-UG)oyUr&Y)WFfo1BPdzFplwm`$mu>_X+ zMDPe}AxQ{UFvr)6#b`j$8Q*N^^?$C{L@-?*qE(psZi#;Y4`iE|mN%D-8PFV2;tkc@sxR7Cx(ilrj*a4J|dV6@H9CXaLS2 zT@>4~8o-|XBl;lIzZ9?e>#^1T#hSUrn3CWBK3~`W@@;zeU#|Ye1u7osfu#*KQpVAld@H*Df8bS!c=2KJe)7{@5w zBIIwy$Kt++8Exe5_n5c$>flsz!*gnBIoWSWPaPghPaNIyMqP~PUxB^3LIL?;H@TUZJoybrT{BXKph=h6K)! zYw>m805wYgl6)U*!r7QSpdmex8mq=rDOzu`k$T*P>4YaLM>P<$bJZIvR|5WPNFR$u z-Lvss33a}&eu;y?XfpGLBkJLPUaxWj z*yKp!U<3_{%B5!@&?}>&UaTUHfkW#|VT#%d3nHx-@C#9b^Q*@yO)3d?a)U@RD24_4 z58h(eGV}ms*l3NULg&~YQw-GVK+`;|BiZ3#7#p28wb%+oJC*=U-N6UBcEXK2K^v!i z8Xa!jL)y58)Z1KKnQd!GJs(^3W~`-?d*GGMv2J}pyQdC=j(B&*L|(X@W-&7lNblRP zp|C6F%_5Q*dnUO-taiu5{^0D)mc20JsU(LOY zvEW7M)q>8eGxEvoz6g(v3OC2x0%kWS#dGZZ&Cyqur-IF~mrwaSRA-`~7wFXZJ#E$K zSk0u0rlVuEvr3u{XKNBai!6+l1fy9%@Nw+8Q-50!6lLK=!$2Hi4iz$+vY@XJn)2PI z+paJQw^8g&XG&x>FfqL%xXy41Oa7k5j2j>zR@dvC3Bo#14fktD6qCJ>`03;Ol?K>K z=j62j`FQHl6>sCLa(zp8pTxvmO~hL5Zxqo$v~UHCPXFQNBpt~^P$9IHdfq&FTO&F# z@P8VDT4{RFhRKzN(51)^{z7>Rft%1>K_P#$yldGxXl;W$i_Dovk>EUADhIzAdE7@% zz+wJkd)e27HeF-O`WDDvaNP{?NHa`B1F_D_=GvewwIsNm^EBd3&xs!eN-z=1dpmVPQEXSF4gS@0SHQCHNP zCsvfPZ<1F5jCf?zy(l_hLo~IWnRjm~Jkw@4n$Xc#PJVWLkz^E3ekL}M&2sSKVm1?w@3#JG)+bC@J{9tMkgOz;{z5oDZP< zXZKy;{(i*xVEnJCXE^#sN1r&lEh6RQ{Ni_)26V<|ko!Rw4@ z=fXbd%gNr(&o-o<6|!;nN34BK5%)&C@EJ@Ke^>!QQ|M@cXsTZB2x)-vCz>GNHctyln~+wf1;u4Wz*GSUSE%ef^5 zxI(Gvms`}DxNSbAVsv6sC;OFNx*;6JwI+|scAj#2MiklGQYfvhBR z=bbSIu`TeKNQy5ISZ;vF3im+blTcCKvs{Ckm$%|VF{N7Va1qKpy~7fEn{{EyoT_q!&qO0D;QsZ)#@V__E+ z&wkViv^<_gA5NJgX@E+(_mEL{X<#bJBqq85= zdSPy;16!JUDLt;lHesJ_)cguWg6DjjhEhATF*_p&eA)kyb7#X^ZT{c=zHESvEvR+G zMgILMdFkg_dFlTzn<99{9Z}1d?1uzehODCA5A*h;J8?WwTHSu2qi4T(rXMeS)Bgx~ zr($+LP-vaRew?cP=uV8v?l*R>fFU=()p~?l5)HI0VNX=no1yYec$ew1Au%>2D>M!7 z4ed*ip5XRnU-qRtvE1#88hb5;UnOsEwq|{_u+yJHM?nP};h*wZW?%k`WcXgr%v-m3 zCLT@gLmSnFU*k zkf|-Pi7yppROW^HGH(0ok@VGh2j?1z`{j((u0a1pe);#}&o$)lLL2($OzN&U!>j%A z1>A_V7BR$-j}P*-pzq;8K960bAHz>m8&XSUvWecxS?9YLn5e#JdA*JfEe}%5y82Bo zWYMYvg1S30F7qwe7jJ)gJ=pqYd~7%OCd;> zme|c&vuNgf?jGt92`--68!>I>aiIyys#Z>@>JEP9j{JCy{Dn#Bfp4q*=(AmT5ZG=5 z{MB}wxPU)d9c^D%6!!OFedLUy0f>`}=rQ0r{IuyE(eBX6E$cQ%M|>I`u?bNEB&n!z zXbVPH^t2hi+j)qm&M6HBsoUJ%XYZe>Rc+c{U2C?(Tsseya?>5+|MnxO1zsF3<<|NA z02UGgJk_z)$97BW>Ix!*>niyFC`2#e3yY$}lzQhQNi=Fa^>GXmgBO39%PN-Ym)MO* z>6IqF!EMoApURWsQ8`OXx32IZe%;0|x;t07w7p)8diHt|_DTM)dcR!EmlSJ#{YD+C zo)Q0|-qs@iWnV5T(jUWDus?|h+!UJ1gCAt~kN1Ox{WI?eyXT66UDBD(t+CEe2+#uN za8(MMW}#YXL@b|}9QA%xB94LIW4p0clRN&zq0o`?fA$n@1ViPE~*Y^miHF)1In>%ImcJuo$4=a0vyt^U8(*n?6}=a zt}MfZn=Wp0?VX-&?@G}lMswWeXv@A$^EJBb1u&488G6;t-jys?-@x9O=Y zGv;BsXk~wtq)vG|$YC7LkEWm^AMID?S!1fwIM+X~Wbd>oWNj#)? z?RgNM!-t`(1ViLtlu%lcLiZEW{Uw5s;+)~pGH8ovRoTaI7cyu27 zpQ0&-_MQIV?LnCDIAqfcZ&OALsqpqoERn<8ck|2t>_hN&FMbnmtXFdl)KA5@{VM&K zLU4yK_2W=Ctk6fvPUyH&-=^Ck&j@8`iT96YwPm=Y~`x&cIEt=TyjB}yvikiA0{t$$!o*p zIW9RbOrGSDM~BHHTyjR3oaB<1hRIr&JT^@3?UFwUlfzu{pfI_eOUA-v_XeAMU6|b9 zlKY0qH7>bNm|W?S-wKn9U2<5MypJTY1GEyixi8DNwPp9Ob;)hQf}TrW9)7*RB|i?6 zr@7?$Ve)8_rb+Aa578H3#T&M~ui#|0U+>C3Ze>^d-&fi6u(jK$+tmV_3RmD2m*Wq1 z$v=eU`&jw1$1~*xHjl&ro1jY#4SF#10V<*RxB9TcJ`{InJ}mVgAqT+h(i191bhk@J z!ye|l=Pyjl0?p=dWG)G=L|y058kn5 z_$W-i>5?15Fd$iWKv%buq13;z3 zV<=dE<3V|{D2C$I6If-hc*AC`a&bV)-<#WvJ8=oWZMzrwKhd2L*1O?!y?=5=ZnPq6 z5s~>n$Sd;1bc(E1hPV5zU(&EQW`?>+Ez)DlL3t$)I+K!rBZKRFWVe-^>`MA;^TxV< z*5+>iDp%}u*WjLEu}AZYZLii&cg23~iWP*#uA!K}y-q$3=>7BHJcy{&mom`BM4ApM z!~XRMs2frr0d)Cm=$Tm5IH)|iMT3~}C{V)n=$v5)|0PMEj9msnd4Z%TY9 zh(Q0h^b%`%463d}HL!Y}^(tOaVmwYj3VMk+L~qPV{PFuTs8FhDPmCqi#7+nG5)?M{ zlsy)Ny5{|}luusSBv*Ma{Yky&+x_E}?c;LGEcZ44F5!5uY!}O|KESQRrg8Llg?%Y5 zvaGT%$zmk0*`Mhpev_-W*3#A8U)XN6sopgA=!O&){d#NQ(S6;`*xK}RakFjetvL4JQEHgLUdPZMa1Pr7HJ#1^f40T;?@olVm zB>9A4mw5|-gHIOmPje(G`y-GDhGzVEuvrjNbHDyXk{on>n)(A5`amw}{c|so*PX|r z-h^d&rjRp`4oB0+zlhn;w9E-QYBBa9XQT2y0av;kBgwxqsQTs$Di1`lK8{W$6hK+d zo$@AzQA_BNCdP8q+M~M{;H5S?Vkr*CHbiSa!aKw4cM3}R-g0T>ricpGeALuAdrddL zqa&V_7KCUp@qwE_^4!GFR&i@~`=@geq9MR+E}nYdG)`+ZgZ*$JtN7uH?ZPc(AG+$h z53QV`d8Phgl0^qs&1&;(?t=Qt@Rl600OLybOve@vy2Ff{>;6qojpiD1;*58s$vxxluc#*LqKNa@0n% zDH-_E64uE(btL&Im?VZ}_ z*xK@b!Sb$k%lnZ;qgvj5Ht~G>g3A8!)TfB;HsLw0Z#=cnQ*>BR?`D=M=Wm2@!Aot z?p6#CSkK}WA8CPcrB;1{=uTVUQ^A743w+PY4KFs7tX)4!HZIA&=r;I{&T+9Tcj z;7jZt&=@YZ?BX%B5=joGDeDyqQGNp>sT27e0+z+sk*bL}F2H3tAB9C2OQ8(>G|xP+ z0RNEQ#5#lESG6*=7thxMBv;saj?)Q^aY+AzC-klGgs$_S9dq? z1<@Y&P9l&KI~}cg0c?E>Mp!%vB*8Pq0V{OReE{+ee>Z<d~s=@`=(U1exc1}>RH)GWJkb1^bO>H@;C;K%8td~V= zLHsk;jq~z|9l@54a$Fon)B8x6H*=TleG~Pz$v=L~=K~zJP%;chVry4OQz1OL1^x{X zf#vHDLC!vG)^vIH)Qzfdk+n@Cocd`j+Ghrqa zPq(?0{f*WXzrU;C zb%K%ClvqxJE+$zQD*)@@SPj(s-yPg&YT51%`zsWfVgI6@m+N50mAPEkuyPJW{PjdW z(&c)o7FJM$od?mYW^i^{ykI3jpvAnR9E0l98Le)-9W;;U_!5H8RONfcciS42E%=_c zvrD@Ak$AEWM)Os(fBjWz?M1>rf%;+hPgp>~#rA$$#OXsSbd+`aQLqL`RLxtIIfu+p zpA}1WhqmFd)KkvIkBo+(`MwkP_K>+(vW4mBvJEu?&50xHHzq6ZAh#}Yki4I|z?OB1 z(@e5~9r4ggf99JaWg~NBPc0q6&`RQjB);Vyf$*YkOJJD5-HvTvLu!v`YA@(XGYrTY z=+prnBdZ9b9sD9AN3R{ZE9u0ZkYgDY4*pB%PY%!B#o6sIy-*|@4k+f?P1^0>{4r~t zYHJYSr)*|*VeLBNv^nD&qfDa4rp~0jIF1&Nr&o8*@xO&uZk@EJkh}vc{k{rR=nbp{ zidXajbPZX(_ihG=hq4l~x#KG2%+J6kM)45}nj#9~y5m1&+|bN8GE~tJ_nr6&D5Tf< z8($G`VkSZMMWcel28{l}7YrI32?>SE%l#VFMl@Ax9J=_RtUV$Qj!L{fvD6NZw&0@Z z3rRQJOizLDyf;6+eD|PF;CR2A*cI5+t!U{jR_I2RV!Pt0z+OXa#PzXWhPtf_s$bR& z$7^hvJ-O&)?Q~l(12D|pXR!{5KtAwlLjMJdRAu*%1o}ml{yQ`jhjI)~qZ;>@{|Xtw zk=cF0|7AgN7D<-PK=2{H3-E$lz@J*N+g0HpYnJhdzX-j#Zt*xqRNpb;D4ag46uYN> zETaibh@fIGrq0P~2BWDyiCs}yVPKKdy+m4XW)>_=R{w%8)!~ew^En4c{wW+qnCO3O z2HBgj%!8eRnc@CLtL>s_bcO`L8Sam|(1z%rU5|40pIMJ-oCOILzRax0?d#oooC%KO;@rx5RIp-OuE)0xhyFY3G3P~F zkHHMle#Qd7Q+e6<4 zSVc~$S0SLX{WQ&9hMv`aE_;FTuka6I8ec#DE}f0^7$4oa8~+aB`1`r>caZ$2#=lTk z@PBOlC2ste^T&;UioHM17+PSHlI8dfF8w{32L!7(uEN5Pwi(lYRw?S(;od|MH?7rB zw`|BpUu4MrA~_gD6LOhTWo3VgozS1?CPLhB<2v>ABxN9o%St5sK`tRGtLIJ0!$yDde=Vdm$2%P}XsDjAQ%%tfLP@*HNK zV7pLuj@A)}nL~2xS06ggtPlNW0vZrx~JeDn#_OZP+o4@YGzh$EB-U<{?74o zH|0If=zv@M7TrO6@TK#5qi1*GXLfIcJ#1#WC%xj-+l($f=1i%oiCcUo=tw3HfFo9c zE_gBC#1tp}TWfnGK%s$M&G?-P;Sd4%YB0YWQGPIc#Yx{uUs7GfH2mc%_V@_n7~MDu z-8jA-j$=J&g+A|4uGuGQOg5av)nWr$6{WA!3+b7xzs|JnOU7SkBxx~}yqTq3UWg>- zidM0EzSjJ8HmNl76tf#b0QZ!73q52Wp>JG8I9r{`iKFrX_z(=@AHRZ`hfY3m(D{Mrg>0N`tFZ1ZRd|UH!AZ7~ zW!1THwTdJS{-%$A03U_(H~K>OD>SOv5_$ccGldaO26_DL9vi!z60LL;iG>)({Wp`pZT1cm7NT{zw?@yAcT zox>kanp=k)l7Z!+59m>cJ@mf71jUg#2kU1BdrTnVk9ro!s*S#Oh|_E zpo}$i_FsxWrgLF}r2WV?<^#Ms=?!hdP_>>ed$>=CS6$rP{2P)Gi&{$XszkCzit;|4 zssEk^uo3exLhfN2=9QfRN1Q>G|HD)h+{eOJ-^yaEm8^+jD}^4);zxJ1S?3IXy3XLR zmqXvLz)vqQ(ti#=NxbkSE#sfc-WhfIXN?f}=ECU_WmfY0OuWsee*W*D;eORJkZt%$ z!m_4YggP$fQ;46==cgtC+Gq?O2f8!-PjT=%qf3ujiN;mnUjsCJHo@eRNm;46@kHkA#qSIc6lonsO5=L(X&^}6?z8I)o;=o#c?0i7dvd|$2I0yu&GN((ExGuktNrNXxpd2g)6vYFBW&jCzVaul+quZ$(UuEO%C;YA zJs?-^EM#W%(Rpna-=6yl!%dI*Wsyc*?*Ej{cT`}O3WNMIdN9JodLAl`dhk2pCda_i zT-OpNxKs7bEOiQT+2zk!F7)8=BTf)s5^Yq(oJ61H(KCiGj_LVW(mAwAROM}3&pY|L z5Nnv4SmL2jpY0z9v@^S>-V)z0ym9->4sVCD2i?v-~V z$r-Gw!yl13r)q_vO3eJE^=MKO#$LUQdqpxKe`n^Nr!mjL?-uw26}c>A62+oL4~}B5 zt{(%u9h}qk9rTS`vlJpBG<+`IntbTjZb5SLp$@-<(R4oNAH?}#MIJP1qOjA9m)z+- z2_(nq9$^dgPhh9=_1P8qD(n-@Y8?4&7#%L5vdi5#^) zInj3N9m0^z%f?%drT#&fm3fb-N?yHMR>Alluejz#S!n6mUUz{z;xh5X?|sC-6&~>&vqyZ84#~|+be!SuL^vushrb)19l>|*d}G3;hZP^$y(y~TxgFS2 z?~gM4?~TGubyHis8v}|Y8-zZ+19>8iruT5s-zXG$Bw){^Bgtar$XO4{3JqfyHdGwQ zoa3#Yh(TV*>C7HV2FNKZjG=J7&V#OLqXhD#^UGLLQ$X2S0>AIaAr@crJGGh~Gw0R9 z0{_22VAgAgAAL+e!7)8mRTg&xtcadsn&H6}G=mMv@;7S((*ZS^foMd zZg`1Qqyejw;-crZWinCtj)s{>twfO}B^rB!*25ZFj(W<`vrM#v@dYA)*$;6=dOsU! zeGD`l%;%p_j!yjb#gs!??8^1Tv&M*_Gs<=m+)HWv=Q{nQyf-rH8=iBb8@4I$k&IX% zj0RW(0)h8r_INBa+}|{|u)y0s8(RX?pwtAkzZW(le0OZ1G@2nB*jGO@Y~V(Q?~h<0 zpyS5QX*NGLAu{JxKDbhSBdv1%*?YY#kVA$n=>FVGG9bT>eo$Q$! z7gV)ks6#_#CoxOP4jw8P9s=XvrCN?v;l-b5x|O}pQkVb6TW%Dk9s-mJjZ7E26&g&H z2H)e4|G^@yXWo5i;nvZw@^-|#XaO)OfU0Y1;7sdRbKl3K#;gyp3@%fWv)9fv}#Q%xMWWjM1r6d|-kkI@sMyGz3c$%mKX22OL6yp~BJY-w9qdCH!58WKNq1iB|4D!D?RB3ygR-9Q1kKCk%q^c!B5F$B2?k5zAkN7f z_LHD@S0)%qcIrUa7QbbQ*9`HL{caOe*X4&C6fiA2L;75$r@Hi`?}h27UHW@i*4X!j z!joS0VR&2cf5=_TiW#W9r*^$@hvQI`Um(4tA2Y;W((8Bw(ltf=N+PA_6hLr z-!ayFkj4-jv-n`o_0T|582ERJRGBCel4nHbNEVclX|$RQhl5h$C)iS*$&%nl6v)9N za8;!ZmNeP}@W*Dun|OPNFumtuCNYvZyDa`)!eSHo=3{mFZ%hpjF|l9Ts4Tjuc=ued05Y4|5C2Yy4N zQe>jNUpK94WloRTaC0G&GVaZ<+JzJkNH^;${==?9Nn7pOw(>fyGq(x?!SJ0HT8gmm zJR4lr_qG*U-_ic%Y=Q8_n=F$%rFi{obQ|2A*iydJ{xJNPH*UHSP!g@M^%c;WU6fiG9^#f;T=Qij01GjAC7&Ri#Vs3v?tV+S}*OptbYwW9x z03 z;f5FW_w_S#QOno8-~5o?Mg~)z&@ZV;LNj;i<}C4#xPn=BLgdtT9wkrMpeM2pX`MGbQQG4b zG_H=~sWTx%x4erIj*ZOo%W`roXBHj9ESgAEQwoARv+M2GKFDRn$>kpI_P4myenMUvg9jf1n% zz52(~qQR{r+cEG)kdMkiRyv`eg`+-_4T>LS3 zI+L>{quk908D>iIWyN#6-y^j}M6$1-`z139>hjZ@05WbZV5BGNo6S~(c3r4=-P@v5 zEl&J%A-*jR9^V?V3VnC~fPY?W|3@bVzcqyPrW^cgF*gRvPZ3P*!us|g5F9^b{H|k% zQlI+|0QoKFSHJ@-kv}NC%*P>Vhd-OWGT%yeStll7UL*40+U43R>0zJ%2FaK~6u?cS zbwVzh`lT0JfWZ2WiBXz>rb7)QB)(~S5<9weEX}NA zfB#@?d4<1?J6n(;)|ze*q4wW=3;q9W5ijtw{<+;#54~9qr=AY=OY)2x;;SF(X9i!5 z)b6cV$g$duU(7E{WXKg-G#e){l9c;(DGo!uqeyOBXBQ{%Z9{@Nz2g+tJ|ou`?b1{4 z_$WD9z2ogxHKTXbm1KIyEA%6alueB|f0-cSJU#^2r9sJN;tHN1#k+=4bLxtlOR!#n=0K9|W$8a{KzJOr_A%fwD!R0(n zFNbbk5^0^KwUXo{1m$OzYT&<7Zn|u&l;;BFl&xs-qz;X1w7;HR!1Ch1p!G(|lW>q{xwn={0|=6P)?C@(8W9TN6srdClg{NI8v z8DyYW+`h!R>$AbS>%7e2Gt;&2avu(guSgWbNAt7z=xVL-Eqv*`)Y{tuAN?E+ zLq-W~J!~BzW$a}>vNLO}lU~JSSf}KFF;iP32_jaxBWirZ1T(YG6SsikH=@S=7y9h5 zJ|PMtbBu?|V8Oe|_aFZg&?6nR!C4j$UTk%8_7}I&0?VwJx&O|ajmlJN|sa6jVk<4WPjL5Er!@DBRQF&-k|&=1V|Zp zHvHJ*KHn;Z^xU7_C^$kH!;B#?XZ5IaIBk!zx4MZ9KSDqmp{nP!5?9(&S`%{0DU@@O zumg_r4Xs96(OC$mhL-W14J3@8NPDaaS{#7dvJ>02FauPw7nyV;gUFCcMlaNRO=6c@ z@1t;i^TQT_HPX5fhK(mW{TKBqP;kE1U5tS{zg$*Lj6G{|A&JH|I+7rg2PlL3EaX5O zw?qmvb+R#ollb$kC4~hC_Mim6;3SC>j3n=+Ts-}=txxsJda zkbgd^Q(*S-t`7MOj9Z|@DBgEyM*eBr@FcaxVrw2fnrP{3bb-436ayXyJiZ3$nzC< zu~o=~xLhX0U4GXy8X#r3!kkHlSBa?d~U3**LkEjtG@Jy-q`%<4;rYHKne)Q7*m}1%+ z7B50cpvO#qaAjIXR*|Ea!T>VO7Vkw;atpcFl9jMm_WQr-c%4$3RsG@Rwww*1e1U(x zpy8i(Pb=|6WbimAod_egXYkc(f5UCGX zcBXcBdSNXx%&;;zbUgh z{{M+h3GvTrf5k1fFXtA7=VPinA2rxX_%{gxI3GXBo{uhnKION%AL5_EPb)Y-|JF8q zJ$_2<6K=y-;-{;&ax9#^^swu@K{nckEPk3zPTn@0PqNoGAgVShE`yUwL@fO8a8gzu zsq=97&9?4^;m}(3N-pm_Jb-0@UwOA%|9t#ZLA|fSPtHe$kkcfcww8zIvnCM5CNd!A zhWvt|E%Pp#w?~oD;^V;25GN_ih+Y%-?p!o)*P^UM8D}EnDl#%Jv0KIX~SYFQdho{oO;?V7}rqR7H=yy{0dU zjiPR#YO2agpf6KgakyNSrl-WH6Vo!pNaAm8jF061U<->B#UK2$u?I7Ua~XZi!v~;) zr+cM2c+s1hyzxi9>kVEq7ri&3q6$8=u{7Sd5pS-iRt|`@yuE4vbmHxT?y_4y=~FOq z&Z)z@C#Q>sqj()&Kl|-X?0h`6D3+ek9UrkiKH@!`Qj|nmpbZKZ6h&GW(4DB6L6L>q z&Dmx_A41_Mhi*=YNiTtNqAk4rD*y$gIENtPDkubn&a71z=tAWm!rLa68rmjL6Ma%h zo7!+P`UJI8;Tb7naKMA7kpZ=KA(GicU;s6U5L7Zv7XQ`gNB2vCL9; zo|eUz04XoL-o;WN2dg_W(yv}kP}@-z;CPclLEe zjMohRAzjKD83{LV=MEvir8f}?J)U0euVZh_L51CNM{hz(+eH@ssBTV;uu@7{!b%{d$MO62HHfKuR5J&^xBy52;RQ>2u4%qm%6BWoI^uxiYLV_-8@t1tXt7-KxXTDBeRYiGV|$N!KxI4 z4b&%WmJl}E*j@HI4i4g}4>-9D-C?sSzhgCeV6ztXl(2o1(x(ousDD_vAfA>JKB4Y7 zak7L?iSuO2d+pF=3n>yjXG>$}p$-ofNcrN3JY?4#Npd{E%>)O+^&4)FIjj|NBDHcY zZ2|@*5KJN0ou*P2K}t?ok%juPD;*5Xk+FzSO`Y?NjK3*m)D};_i}{d`%&VB3xV(!v z$Y^WOv-(VwP@cIp6uuWPd^gt8ffG8s%S4iuRA}(}ft?d?#_(+y_l6As+3S@)E#E-P zk=9X0$KXT7>?V&P6%5PZ5!+S}?4`UJ&mmZX_I}OoZi!%*{$9(!b$T&_V58Z$+L6|= znz#k{$|BfoJmMckQ#HgW5?;Naa8opWu0yu+kp6VE5a&@2y`E?YufRWruH}QO4)`Fz z6qvP+jbx)1OGrD~_SfWvm=YLHHOIwEIG0KGR54Q(8fg?VnP)$+GmAx7iU0A{;ko@l zGsBPf9SAQ8btcnjJF{5J;;YK;RJNH0{O<#Tp*h5_oLG?8t#d@VMt=h_dA_YUmK;tl z&?Yjp^TBz}xjN3e5FFuPJ$T;)NOhExNF|c|9Q<3KDhNL0ucK3Wv7EJWkxj-hC)M2{ zBh?+`zj%$%aZ<~Gzt~?ZQQ+@3|6jltJuYMO)01hB`z5%Yd*Wv|(j520xyY~_Jv`=F z<;TN(g~+qBYD)ze`%JKM#19GpbbpT$J;Xkqnd@|?qjrI*&{sWn`D6x@E^>2o-U374-1 zPF5~sY+OlRaoKu(9?v!G6+ZyYq2Hq-J19da!1M;`;t6*l+Ds2>=Ha}e9@i;gth!vL zXt9T52>rc3tH79D_@k_o^s!z4tf1OXZQ=GaBM1Co7v7gvxa2pBJfK=n5{P z;O2X25ZInU8Tw3CN*tJNRok^#x%0!^4kM<>xQ7f#X6IPcA}YmNx(n~;_!XGEzU4)( zr{$3eD=@j)J9^ys%Dt;zi9)Z`Y2vz?CV7W`%$>M0@qOd6mryaDzO%BKzqmf-Q)+b# zn$N%K$}hU>TQ-*@hGuFs*$3q{JqU8!oAqn$C&J1bxg)Cb@Ekaqp-wJO@hjxqDz)C< z^9T6hM<74c`N86m}SI4w(EMp?Gek-?`__>UnumvU;f8jE@t z=d;Z&0i7ANLvCf{yzU=&RmSUn4Zr*(-Dl5xzW(3;49sDN^<)E! z>K|%{F}6!B_K$f%7sD109j*~P=#j+_T#flwW3@lZiYuN&B>9-ixEE{Z-iZ!Kt(X`$ zXX5ZPGvs^73d$nVKahgi?m{0heG?7VmDxY_Zb5M%L?wl?48yCi10`34!U)}C+$WoU zg|_}zIXSqm^lh1Rm;WN^o-O6=zw7frcUy2nO;n4wsD*v4KT`u#xzBx@ppRDjbM#d% z;lS774F}QV-i#%-bNLF#_9I=Uw05}4hw)S#K6a?s3^YdfU<6>}{oA;qv`kv&VPGcz zBsMtOGNuud1T)Dck>nZrfe@gl^DBfuvMH=^R3I$$8m3-l1 zI70#$AWpTBz+h+UZwI7t^FQ;J-TYrk!FXkN(Uq)Q%I!V{H~*3=!0*x-fY8W{oTe_N zDRcOQzX|5Wa)Ax5DcJ=CA}M97LD(VXEejTqg_-9(`xI(ZLb;@W4hQC6r|sF&r=g^rKnf5x||ZdshCorcqu(C9p`FEFfh+3LX8k)d&kVa zkpX|f4w-vKkc`16`kgyi`kTNCoi_>}bNa}U8!}`fmD1Q|BVW>LJe$lA# zTdCh7Bm;7rrt1PPxoS5{JTwh}aCn`ZX^Z`DvQ9btnZakoV^zo{%!)s8&P-%k42zTJ ziAm3|9{x403q5>XWa9(Rf$wyG$cthm`5M{sN_dsZg_z`V%+~7D-q)=2Hjq5opJlY0NDS_KICOE_wRJ|u>#1hglv*Bgwav=T+~_)Fh5fTmtsSw^Q;D3@n!N!CY4L6k3dX zCzr%Em*=U|0F&ELg9v*O6N`DdwP@35Gp}WCc5AWSJm>j_cQRMlI-J^j9Xhmv2m&~T zPqPrA5exIQ_1F%%tvGYo0gA-5D7$MdG=b0DqG%D}{H+BoPbZ9wMQ67vCKsqrEs1HN zB6Gx7Yq4Uf!I9QoNvJkPG|#Akl3=!tam+k=jU;8`%KJp`lI)&UFn!xIBm^wygAAa+ zhI!)knPH|nU?tUwq-(SF!{T30HSP+5f$f56=2SuFKww7siueao7@aYRN)Y$OIx9;^OG zJS$n>^2qPnf(^nvwIlz;Xd}sUtRr@?H9NmX1CwXMHCg%~TVs3U_Tr-Jge~QRj16JC zm??fh-As|T*~(-#f|>e1HJJpzdTd1as_SMoZC4Vr7yW0Q+AjFNN#Vz|_1#=wiCMYx z@2*0OjYR(Rmp968|0F8#s^cK;iwt}3)c)R>cNw&QKNuvMI*EO5WPpcP#8W2?H?lg5 zZz8SV7c{jz7VU8hj^{mc>$^>!gH8V)u(SwILEi;hTd(?UJ%Q)=TxFk@hSZsv_&U=9 zz0b2}P5avt@f7P5|9%Q1tLp8y_GU`-zUj|XH(WtTWU9}#zHnr!>*~HsXoH(v&oglR zn7jQk2b^PlVu2*zV;IHAK~2s9LMmuTy&gk27M|+X??CO_iPmFY;G>E)|q5I2sbrw638oxclQs z$8cWB4PX8k%$L2EoykryU_E^b@4vkB*V;_Y&c_^nBVwV$vsn|)NV1;qF}!Sb2ERf& zk%R2S52Xd*ghP)xsLnxK_lht8d>&xO<*2=q!vg&f^CqL7DE`Yej6PjG7kULkm>gX$ zE7Bq`%@*luMjXN679igZRc#=vU$q4Xk;zhzMcNISR?Gb&Yxr$F`lucDB)RyMZIlt435`eT znRI9~I7&8y!}Y|g%YW!rwSv@$^Vevsp4kZ++ZCC!BwR1pb-??dP2(@P_B`*DEcsTDEr@QMb)0F2lWjXYA+KeBND0m2WfP{J2=STy>= zRS1fAso()s?BplLjg1tHk1Tvy%D!m(oBe0M*^K3H^yF9cAy)NDWZ`QKE)lPKCB~bp z@JoAV>4eC_S13U{VTovaXE}Mj3s!8c;P70*_VuH4t&ZBFFwMnlUXFGwVogDri=&^c z;{EN*k%cQ_?VZC_JX-Zq^yHT`U`U;4`qE%1CQm^PjZ{3ePMgOozEsF>^`e6e5Uji?qDOgWxCh=5;1bfk<;juWXPPClZUk*GQ&;GsZ6My@| z#4FU72uJl_yYMMOI+g_M0jfL^tb6}|7z9Cv<&S%_%*ToJT0^FBz7D>!PeJwp@nT4d z2JfKZ(l9&iH?IwY-*Nyl__wAbG8b!cf6x~i(-*Sh7Lj9z5f8>pQGu) zd*8}f`|Cvwg^LgHjvU4!5f5Edu&f{S9wb(?appd;jy4?wnuv|qFe&oL&Ir-=ekn%W zXz!Q`Rab-Y!o}90T4DWSH5eDxYe#CcP7Om|}5K^1XtYFMo3Q8& zsW)S*-c(5Rc*o=KaXr$$Vy68W_gwu~k?QT&QtCx!z{u*q}+q z3yDxLzH$>`+6Pq-x+pguDHw4yS=vzJN0QE0g<`h*O3(ceXo+ex(Bo{=>m;?K_x~z? zN5lIuy>s29^uTbsz2aFA&z;#NaKdm9@U$|qp4800#0dv)UPX=mOc$L^{a(Wyg1-(M zU%8F%IE}|*!n^SuV&gjkitl8It@i@G!^i_pwJZE+o{H@1AGm}y0Rt?PNy85#3kfIv zbo=Z5k@~j0S2&|0TKH`AE)I|EVuOEc zKP}RtNBd(V3-@E6@;ca)dm~cr=!i@|NJ@BSQngHh7QVWl?EZ(Ihcd6*AdXMO7pgtR z0idqd?7Xu5F6T<~H~@c7{FqbQ7{`r$jZb_l&hoa#LF_)SPeId;GL%C7##4mV_1(|G z4{k>`;)j+@7%cDuRd#Yktl~SDQSr6h6{NmTQlW|V%8DOjRNd8Z#BKNM+&_TLpJ-gx zI!{uPA@TYil5r->+WBCvJ<2^m7gAG-R9gbA;)tJBNh59=DWA8+A^r)GkG=ZCdxZiH z86y-GGD@xO!KOTv7BBHt$Lgj=5#!tchzo}nB)WH*lq#24aSqKeLO`U{i%LsnDQ-hb5=pUxB`$qK3w zT#eWv$PC4-bw4L=*~5_6n-1;xBb3%s{WjFBOVlHNE}xv<=SxOXFv%OZ$?!(a%S|)2 zi3b5@nI?2kg-xjPq}0Iwrh%qMMWo2tLQ&}GVUPx`g1u#N&FaDh0eK`<*!f^c_h$U? z@Q$TBaAqdZeeek>l<3yEXg&ZQgAV`ZbKMFgZ)Mw9#tY}F3|~YAmM4Cp@v30{+@q#k z&y7A9Lr;0y4T+prbHc;%K)Vv(uaVbjjT*4zk~~9{Tyk4cs95PI_R#ye^GqM==3_b( zrkq+uV_IbA-0j!rBfx&nuejg~XP+P1vpD&62AJ{#ZLyNFkb0}B4((PAZ_y$5q}XuU zt)A;VQR{3DH9|SR#TC!q2S6wf7xk{@Aa(?Kku2UGk}kW#Y!={sgJ$NJ)nkQFXi$rF z0!J;hPCzrXNqk-;X?~z2!4UWN;8`Is+WQcIpdw?AFkj17TfF8{4*g-^PiByy`dt~YIA@+)Y*_lLl z*^PiF^ZzfV3GY5BUG#Pd`EV;hN0)!++30aQCP-P2w*JC$lO6aZ2%^=-cnYfCQ zizxZV1%w|v2x6nNFgoIis^#2H(MTMEVc_<{j4kw;D!NRUM^+x zb$6FN^@L68=wD_g^>O~BUTEq)skah8#$K`^^^vTvByIc>OdH_Zq+9dUHPHG)5|Y26 zz>%~oU9<#-3uacMxs8Y3@215Bpc0b*Iga8-%NO*$%fP!W}-sSK|l7<5GN>Pff zs&^mJM37Doc(|to7mq0D`KgMrT*rGCN|M_%k)cX zpI~RpbM%472Gs9W^y?AJQtjG?HH`hoEw2~Wr{Y)JPJm#!HeSH*?93xk7G=*V^}eQ# z_76*eLkeSHCKfF^;zhTCm^JK-|B&%F4CT@LQ239|LZXy0kuWduE=&2U%}m$j<9$$H z5A24~S)>`^ORjL{acnx*-G)3_Sav?+yzw^|jH@lWHPX7AM&gj#E$A!%hRo5r#-k}kQ?K&rx9-zFA}s-&3b3E4*5H8j6>(fyeLgTKU>(OjXbYM6 zL9AmUii?7Rha^4?#H|SHKL(@(KUU|dk29bqoS@EvIW(ziKx0^~kdk(Ojb0`UCv+o* zxV2MD6^FBUE=zzVh3&9z^WYe?-^h3${XWoPJp0IO!d(kAGE;%!wbw|?Zbx7uVJ zK6dhx2~``7u>LBa5wX`tHF?RCPPRs!F|3?4W zZ#XeSC|Ot$S$JsW;E>6PRxMJsAz5L7ecit2*P%VXmi7F)L+)!d^+E1iv}S2ms<4v7 zwgO=VcLp9n%~^{me!q$<6U^&4U0usr;*hv>E%N%AJ&}w3qOz{SEKjUFS!d zQ51eW-6a;KOd5_mN3uZ?g*EI%(^Yx))T{l8d;~o`PXC{`pujyJaQCau4E;0n*2V&> z#!{Q>rx4_C*}Vw%Gx1eNqs3m3$3VCktFTj% zvTCnKoK;ifd1Xg1f~fb)W|gj)qd$@4!<3FGoI|>4fqy@*Z}cD;qY?z4;K?O^@eqr- z8p`{_=vWFMouHzvN6%=i*KVt!^^V5MxrCan5C%!E0_{b;qf495CjcalkoT{PwtR{( ze=k$3wanM(TH5-UPH}aS%7*de-u_Ppf?O8{g6#GebI#-G2@6mJ5;887W7-n<*YFBE z*+#@|FkB|i+$Sy|WFVE0=5KLY9|SAHT#kmV>E~EAWw4}G%R`xWUa;1Sm?%q*%of$z z!&VcgTN4|ZI8T}Kj2luM_AQMiE+ki{XxmHFMfIVVi+ERn#`BuBy^_~gFr{EG8z4DT zOUHXZEv?`982+%qN#rolo?{EcmCkH594}i{69Zy$K8y3pZMzC7NzqgQY?DXyCQ8m5m={gFBcWLHg5Q zihN-i#rL8lxI$$zy7Kpdx&{w~8}qKRqa!aXFIg9+0iSsYmwRc5f1Td9oqNk-rfxtv zU}l0E#sYzFZSeqemGLkQ$W$e{oWV(Bgo?}sPo48xe{HnsS9txE(Q`yvv83fr?e?di z#(Xgh(R?j#>bE&fb+MK&pm_eyQpLST<^w#j^nQAk6iLH!}uQC6;1emOdw63S7y$ncAn4d*O zBfo&&X?Y7@U#MRX6gYSn&ex7DHDLv@b#1w#06|tARZBw4RevhW^<4vxx?G%9t-r-t zg}cp$S{1akmU0H?$shA58=QmZ|0%-rr66%Pf5J?@mpA{vYyJs%9OX0j`tB);T^c32 z^9uAU#N?jOgbRYfM)_dmy7yB`M`b~E{QOvY0)dhjMZ+-E?a`JukOV%twK&O75-0f$ z7b)}a5^gF^^3ZIY0?T=p-mw@`FmC_lZTuEr}8?*)QOH z-7ngXuLz9Y2gyf5>>O~2!V~PZTw^T}Sov|F6pvQ_b6jQQjrrI#>M?Di-rkGODMv5m z9`&cEEO1v+h-xi{SYg@iDI`~$$1%n~2x2<(F)i58OsDBNB z%KNAJJRAZavD~RPw=p&Cu{3r$90+`-czGSS zA}4Et@r6s$IxosDK|J-2mU(};OYlgnWo9D+lwu|vlmnMSO|9ohoB16IAoN?nBg~Qz zXd=lnG9@_(2J!=_7Wzt8Z^n?s|MqN^KV-O}&y|W$obg4a2*r!yNW0`j1>^D(Y|Ek^ zkJ`|+z+TpLMXqcgu#6zZ&zuY868?S#QviOKEVCfRr=3p~3sNi`kREn5J>p@}AJi<} z%9@7M1~cW>{r4G-a7RtMK66KXgKH?L6hifiU)4t!-gjwBroblMBYh3Y`W6bCeb3j2 zUa2d?;`{F5R%lBLMUg>p&NCk{d5wRub~H4vI>A2W2mal38&gXjs8)47+)e==cG%N9 zqYs?Lh1u=^%s{6Q>Z*^KfV^t-cII%j+Lx`TtI*TX633BTJ;P>dVUve%6pz{a)w{io zap8X>^R*=A*!#X2S}0KwFYDHMn~B?b@Hgs3`{!2Vg3=UP9+F{Qz%t-Pw zfH7EP@cO?a64A`;{`EnJuV-h!f=v9yDtG1m!O#W7Gnijj9tVz%3l8Ucar2MNkqq0- zP_BIB|6i*)?|7yt$+o|TVFVqPVK*Ve7nE$L6WWJ=MD(4Yl5(-5l{rF*Sz29pmTSOo zfcgjLXa~zW?FIZN@;W}fKf#N4;;X-qD#8N>43RngRRh_l^DOkK9qn~~q1t`N5?%gB zKO>>2+8Ee|c-XJ|P@`EK%p_amU!gL8B9SK}6@Lp)b1+g+c$|28OebbPk{`nAAfm{z zIXze$y^WcO4c;c~2}Q)D%Mw@$!sH~*fskrsW|8E2fp$*@$Jx`D%{W^#@5$gGV}_@( z_fukP{C$dzp#i}y%d(x3)?aO-&bDM*>U#1maX6*==2>D~V%`BEZ_8%=R)5Pos~g6$DRy0-N`OH z{&I3D+S`pp0chpSv%httdycFp^CBM@#=M+jU{d@uHEYbvXIZ>opbqx84j}YT<9ZU` z;#RciILEu}&F45EA4xW{zyBitLa>Uj;$Mtk=>j~WdHl*<*2S0tZj)H;C5~U&iOFhE zq0csUK*QmZH7+_WazVPgsQ2qEk8%mkM7_{T_nVwY_>`W0+|kY(DluN=ov3$7mRIT2 zJy~0P6j%d;N*c0$Gb~E#Nj`_0S(e2Z$;oVH$Onmf;`KWqm1Jl{U6`p;lH*f!4&&a% z^Z67@*Ev4L@t6NQ%)NCwJ;SGHPl?yg6#|{b@1DF$$#Qo@4g}R~g;#kIYABCh#Mkd4 z*p)k&0q@MqTi!ruu>-TRg|hPzoXwht>#_B5WyB5|SGOO{j;kjRF@2dE*Ayd7dh!uL zoh@>XuQ^SyBRCgePKN z{JBthEM==~8)}|!Lh1;8mBD;)8ahBhw_TJ6muGp5cnZ!^*F(r+yhed=AGhE$WEQyv zpONcB?f;JIFn0dR?$ zvn4+l7zEW1!4KXEUFLXMyKSR6zvG@9_iUjbG9O|u@*uV``e zIEwSAXB@>ZjM5ORj0p73COC=}30+5D!%>_RaukCWUa3n1=OH!Sa1_y+XEI#Gg{OhX zLXIMJy8RA0ik;Af8AtIW-6rW_#VsoEzDU&6CZXOsisa$~M070}KXH+Yc-8yeCAL9y)rIr@No<3NXAylC zy&5;>I?1$9Y88v`H+y{^3p)OxOS#?@_8x6;x6DG^3$e?{H{)H$K>R9T^<_NWlS8

I(cj zenRS8r^2oFvhQYWO)UjWnroda!&%3{dx zfqGHsPxJgfc)$+AI)Aom-ATgl&oYTvIzu@Js2z|`NZ&oQ&bBoeEfNgj($Qh2lK2#s0e)C*8+KjV$!PmRF6WWJ7B zOIu%aqTG*5_Wy>Sha!2l3J)zW_&+@Q3lPu-Bjq>OBT%6K)FQwrnwqe{ABaV_AahUA z&tL_Eg04JzUT+{W^!#rG6Z!gxIb=XJt4%zc^q}YOvFYN#SF&lrDmF2hx34|a5w~xZ zp1*-yf#?ONQxm(n85w%M^TZ4uxcn#}G7gQEq36eY=c143fTD-FV>U+7=Z!6-=y~@k zm2*}dF+d!lSNtnAY!v-)b!MpMyXqpKi7dS)`fBu4a^EzXjBMfkU&syLIsTrnpUjfRwAY)LNtLyW^kgoZ`ES8)TJ)fgyM$LB$(-R6s>LP zVzrBkTgA7EsMR-NNszjM7Iy&^d4{Oq2B=8>-`}~qR5-SKvR$GK~LAdPI%%h_)!wi{hV}-rl@zRU(|YvIvTaVnB~nv_ED(iqHf?f$&;P zLS2etO`l();U%sl^t&CGMmyw-{&2ero07!#IzgDCluA)d&1{uoSN4;EFJ#HTE>1f3 zYMSu|>cq8(0(}3q^v0FBi&+9GbPFH5lE<4sWbT+O{{_2YmRjMqLi`zR8UBoP=h8EZ zXi5kNMex+Q-Giez~%psK6|`qw-c252Adc9;uI<2BINlxjdO$A#9yDH^6{;=q8n z)y~OQI52GDz_^{NfdgaC4AeL9fBXIm0WTWcqABi-oa0}nxfvdnTn7-$dGQY7q{);b zjqmVEf8XM3_KY_rp=rBA17E?75Px7U4l1fiNzI zM!0C>wGs*C&{z_UpNIN!6jK@comMq_c}o3wDRj$%0i18H+&TsJ>i^#1`}Vu&d2?v| zjwe$;ekyK}7`FIaZJ5t_}+1(pg7d#aUCBdj{+Jg;qeEUUIJ_IBt(lP;cHjtZJ-KC z$C_4c#~hr)KOxhy_`Kw=Ev%xG9+8cl^yrv{x18vdW|r;-5ok~TB{Tkc2z}mtM$W?O zVf#;Ys>~07fO$mK{(Dg%_+7qa^$mKjQ6T7<@6;#A9~wg{yySaYk)h`y-2oQqHy?a} zeiPxX%yEBEQ+6a#_88w4aiFTEToHTupH9=KgYDrXe>$Um=fhtaokWh~^~s$)c&}(g zv|p`~7b(fmfb6_RmOtY3#6RbcP~KWd{vCq&0)NEwX9`!h?T_%z5FD~Kpr3)mnf{1B zzh_EK5B23Y|EfO%{YBAAsSQv13r63WNPQ_3{9p7(Ogq*gMc|KMvY>$MZ{AV!9U3Zi zLzZeSR*U}nRs0dIxom&LXwzT(aH{S3BlgazzijdS5r5;99ekzmM`FkFM;vf^z*d$` z2A}XMr}US=AAvm2`etY^HnMH_BTg3!jTgRn8qJ#aa(-$fx-$goBaCt8j;G4hQ;MwR%FCH~$_??5`rW1*VkYa`%MEce&7_nQNxLW~StX5zY>7P9>hx(=ha|6yvj|3UV~oc;&&4{|{OwVAhTz=zm<^ zz|2>g(k6O3Czi1t=7@jl<(F`c9SaQ0@8%< zvRFaa=^&_cPoj!~p!R{{5YTR-N4YGDPVc2Nd`csX_oS3ZVu;4OQZgwXiQO~pQ@Q*S z=j+3G`2)9P_$B@ea0g<3Zofn+GEu1cEBPhZ`AtXIUzqeaL36;z(u@gh-?Up!P z+tJvA?i8$=J9BCY8E%R1V5IW3gx8N3*yWb!1Gy)kG0aEr6n`!rPst{<1FxTcy(FbU zeu?k$QS$r$XMTwaI7+5p!m(Eqo_6v%tZYPC!V{8{{1S@S@E*OA;eG;odn=8q%r9}q zX-=4bnyn$Jlmt>#_O51{l9hbF#D7x>gr9FP8u}oHe%~+gZLFusKk!yylIuBni`u`K z`cevBQi*aprN-pl@`){L$}KU`uY8|Am0QB+H|CFs$nR=LAP6R0dMyIEJ3s0BBQlS8 z1pbH(q2_#qStRk(2o$vA4|Xr=*uwFQKGZC`Y7c+Jso)Ii$Z5w31G1&@4!(9O;R^57 zXC;}NdlQp8ryn}J{;PeDL-zTsM(ZOhfT)D?S=;wFye7=$n$T)z871Ei{)W#A0)K-^ zCJ0FdCa-U0ijnw{{|oU$sU3Z`l&6kbLpgrC!w(1|EIszM_1Y>l>;*zVh5QK?R;WE7W~%m-$tk3ZaC0{EZ@ zHSpm0LxIg)SqWAk4bJx7`@1AZASu=!_#8A+%sgmhoX4S&I$acznftDgN%*4uj1%Q^ zNZF%(`99+u#LSe>VU-AWY+*ipCDbf=)GR3ZAXb*op>=m#aq}+R%2u56E|5kH4nzL4 zam=@g2l=@&HIR`4=Qtr_MpVo3^`Tg8Sd|FPz9?uk{+)HIVQ5?VJn_ zwbpxc{_IHT0}6upqLh>2ljNgF5h?gZ9EMdP(=>_jOyuOR~iTDDRrH9pBj@;7`%eZh#}Tx}Bu7xaaV z)$;?m%=(kTrR5IVOU~sV{0uV2XZjhkSi+%c;1RkVqRFIKAxfZCKD0CiOuX6tJct#qB%CU&1h6=@U8#YYmuCeWj_iN{Fj z)WZXD7mcvV7Nsmz9olhpbp&U0d&f8ZNrIO7AGSJ(^!7jCFk!sqNAp(!U)qU|V;KVd zVuro8xTo3axTiJ?_CHyz%Lnl!AK_IC!k&DVg(W-Ge7L;=lqzoI zsTS-Qzt=-K4*`QeW0BhoQ+|kF27ZV?K}x;-5Ca&b?V{(Hnq+(CsZ!nok9?E|?U{$F zrz3dqeseL%S*~x!4*MlTXi|WuYNWej{vtRBiWO z`$qkP|LAtgyNs+^KUw<~+~Vsub;y%}r(h>Vc&9uCc{~ZC(LI!vsh5?E)Meoy(=n@4^3{#a_^vNH1 z$coo`pgw23)+t$MCsHRTK4hOIUh6PI_bgt^*N?uzT(+kl9agKkZc9Jf=uKMKOFvrs z!dKOgrhG;HsOR~Lexc?oOkud*?XhkBOh5VniSpk?+T0dTBsf1F>z*-zM@_i+DB==q z(vQb#^{%?jVeC(lV)2HyIz-+^Jl3}KBeltn3T~v&SL{fGaE1Rl9&3jI`mpDzuC2a) z^j;X8Oq7>vt1*AZ>74g++$o=lB@YBiddFk={8uL|GRC$I{Yd%`G}1>6n|?I=xL{xV zJ^uIPQ@l^fk6H0ot=_F=PCvSXZ$ix%nQrt?#b04X%cUEo@|B3;j2Xo!a_C2IGB@I} zZqmSmc&ztesE!$L^rp1s(2dypZTFG;rB^)GnHhRf9eU9Yj=`!@|6>b3 zw0sS~Qs%^JTZ5J9crrr| zS}hcaU)|bU51I@Ebl5FE8?keN_ zM(h8#xT{9RU5#LD7FwmatL0!JaaWD=M`@0UD@WyuyBd{NjnZ*fv#FUKceQs4-Z|p0 z(2sh?FSJS`&!Hb>MiG+$BjrmWs49KxgNIBn3&ATHVOrx50K^}Cy=hj4-sIx6W~cNf zb%vT`s+H+Y>X3r8W~ELkNNZN=n1T$=3QYz}ZxGO%d;+<_)?Emm)~ogeeI1=-=~e%s zC@(FmDR^~_F3PLb`}82wt6H_dit^GYPOS=}yhfmgwPr_ojWG4w*GS&%>st>&IHJ;PB#p%jyT)q2GkxpD+F)Pm z$F`H?KR&Q4^H8`Bn}EV~=6Dqy<<77_rI0VYt&Ks*7s+9D;>1F}Y81bfE97fO`U^t7 zc15$`w;%F#H&3Q;EfK>?3|l^4d-8K$q`H^F^=%D0QU0qlf&rhXEv%855h2;NGw{ef zPx5U@SB<-s=R5>OV;>>jQ<1Bc3=m zMZ8x~QK}Q@YQc>i-Z8lqtxNdG6fI`O=GyZB`wBWi(R%eT$)!(QkW^1;=2%xziq-{$ z75j=-F*Teh^KI>bXMqK?yrV|&^F7oxiP4Aa;ZxJyEW}zk>c!^MU%Zz6f=`^;v${JK z?{zPv)mxk@VvM#sZvn#oG4&7mnc9nWzD0W0)BDk*3;|LxzV&_Za;ZKWJL~|P-j^V0 za+G1F#XA!_+ZwRMa8``@|74KdmaY{T_Pf0gS>WIx0SS%V)+5&Db>7lL&60Hk(*~9% zIO$^lh=~><)EdfCvy`VzfL-%Vrr9Mm>q_Gc7BKeN5l+q84-h8z;2-t%xV{_~s9Avj z9ts40({+5ZzSGg_5fxg{p<~eVsVX(=i6y96t@f6o`FhrLJ*V`n^Lf&cj#Ecx@Zi17 zFX>rTDrs`#FbsXuyWiKdF0|6M-Y|Wl%ml%HE`6(-{9+M~J12%7&KU#wqMmW7E|uqU zg!C&Ve0B+bm3K=AZ#OpH4L2&Pp9pS}|99Xnb;|H86vK?Swz_+nk&(;C`&}K^z0xH6 zmb*k@O^Zfket*VZ+NX|+5828^ ziC-cvtyKP0Z^r`wcg2@naF1+`9Ulfpelo@c5yyAtHXSaC(^XkJ*I%Usxc`9Crr zI}CD$Fd)7wH|tKJNVjYG7bNZ)Y9?hYD^{E?D@NqxBQ3~}$5Ag){utROo$9fwJfPQ^ z42ndS%J&`E4c$F|#a^6D9X7<|g}g<6UIaHL@#TiHr%o?ho=W7NoG@*x_60`R@Gxw? znYJZRCdzkLe`bCub-mo0DZjZCZB5gsrPiTmV@?*afwDJ1>HqujR zBMSzh*k+27GCOdV#QVoS;8A~j;E0CT!K3wL34?pZANtNthhwjvBOI$fp)R%vf2UG+ zj^P~O+&X1tjx}Vbesg&d%-eZ3EYU|g?$fbl@G++Dc0-tt_<(T2xj5uVb39-7z8MF@ z><1G*xyO}okn9}p<>G+& z)$_g6;MsK*A2h6Cvzbo`p;KF#$L*-bac&ZF$QOx$d|{jQ8GIx>_K}iXJ4;+SGZ&G8 z$^;1;Dz^Y?U~-~TJ`C~GP_I`JC&W$ zi17b^J3mu6w#s-z(oY3M5O&>sIh%h90Ynlfk}H2k5p3B`@CM13Bxj#*1R}6tKHF${ z<*K`1LNJ?ebCp;Wj-TOAo@72E(P->xr$fxrCQjUqH~j0u(AwLRBrOpgnE{>hfk8RG z8I{+?+F_lM*pf$ShWq?3C54F6+y(p+{kiOr;9k3LJtjL)XL244)lkpqY)|OyN~81| zhDJ2{ArwHpv>`YbK2;{Rzya4p`I!=ljCRjqAJv@r^aznvyzr0d&%TrTtdh_8WCX1_ zdDs^XKGnyG^4RF0y&>+yZW~!{UiN2$TsALLpoPQ1y7}Ji-(et$@?+$2mXB=D~2fTBf3Ik&AS_HryK;gSktY(&3r<;XQ9Ptpe2Z`Hx#6Q{w}Tc4IiUwZ)MP*_}QUnBxjyk^T$kKW9SB4Qi=`_aemwErJSPtt~wlh zLVHQWdv2fTpAtaZ#8F+Q{!xJ6;12eLnj@+M1|@6w;r0V>?Cvbaywv{S9l$ePJr&5E zsUg)L8jk;%%LmahuZko}hNJWYW=o}`AGsvpEp)|UeHhV_sLnOKjEg6jiKh7dFIxMNarGU6I6l=if7=( zSoNe3EIN|>EsOJY#ZkXV{6HeLp2u}o8n*k1CJhMZF9_>$uB&z_^^Vd+AioKIBiB5h zF$CZhznCR`KXikRYcuo`ZsdxOd!1b8`JV3O3s=0+@Ik7^)LCWkS3jW7fUElN1{a@qS%579h$ z)gT@hZeP>a+hJGv#TV5!zh7SvZhD3@#$=?9kbatre5&%ez`kig0X{6U>~pu-Ua?7A z8oFR@MJ%lYGvpz;YZI5Cy{wk&uW}IAbq`vvq1TRprrTGMU;fXMXlEKz9cG{d{qP^6!r1PiIxJ6OB6=sQ1bcE(ze;IxsbJ7>*uO_2aJoo*DJ2EGg&L z)Q>cw_x9V z%KXqw?JrHM`jDq7YIh{fDB*rY*zFnN*yo5k0E*la99MkFE4{V5TZS&?6)xt2n5Na6 zo8Ij^@}uwoE??tX4yMEXVMONm71Rpj`F-YilCS+vyn%fHxf$*M+2m@vBJ6{PDnpf+oWn=wW;f#F7I!}~3q{Bf--RMhBW1sJF zWQ_Pgn96r`k8Rjp_cCsHb@vJ`D?00&sN5A^LuoiZj=hTz!LC8GL>f_E*6@-bAYJ>U z3z^b8Z9s2~l}c``djw-;bRjDDx5_KjI2%+QCX2%16tVwac&x-Gt^zV8;RrTbHJ-5t zGr@)@x|XK*%dx{Aq-v=72=Nl;m7c?k^mOaK!eW2;8fysZq`ab{ec@qk2MB6vfZ?vL|`xF6TW)A7bG|Xpw4|oqu!@K^NbpB{nvn3wG_YNy;Vv(R%2-DZy-EWkj$;I$@aXFF&ElY_2&`BR^3@paPTFUBSo0O^{ic_W$t^=RMy|F zjq=Y57@vuaA#4sFt7R z9?|f<2mI>FqN~v#F;s9rbhs%K3%p`&RPiChQ9-x?S+{Ht86Ilppap&1Vk?`?=D&>$-+FXO} zT(RVX;%}PgaDBLqdF}%l8Gl~ywKBBim$n14kn6qadj5ucHq0p)?wvy!bTd48lY@`G zo2>6-@}M1nlYb7k*h@ir*k)wU$ye?3DrhWuGCya5z^`CR)wcD$Xl&m%_?pGY1_PD(u zxY=p_CD?DB{UvMfqrU^`57QHQjAiv&Aq>M)^-c2^>>OK6S7|%;ESnR`)GyjHHdwcR z(edSUtYF`=6hxOd&XHk){Ic2|$#O!O- zJZ+>Di7Fedw*&Yt{Z8wdvA;^c>*{plGxI{SmJ*@EJk=nlp5oU7_|)H;4V&0PCx5-o zXKDE>*FJr{re^!Jt^?1&cE+qO1>6&n z$Yzw*#1_Q1B9c|LePA-#yZx)id=zS_;+yJ?ZKa`>{jGK_!kN-#_2Vfepv5|o(Uy6e zKnF>^~UGV&EWpk@pObyn&Vf;=jnyp!RL&%dY&}Yf?3PIh0iZHbS1Zk&+7_&eC8Si zFt;Iv%?bw*dV}KtD}~P;+rZ~focF?{5!06k@A`khpYI#m6QAGFdcvRoh%q4-e}0zt zWy`hSbA9BZqS*6kP5Wd3UZ3d6H*)glL+LjgpMPZiuJrbo5hFK$UM~J@y`CO>-fiLT z9x*X#8KIr^>*!+HYsmsli+NbAIK^Wr^hR!i+iniyK1Wr>D%P~NZ+PVAlr1Gxw&GcC zUCW%0<8#&V`sR{~`j(PV%UibndHI)hS;NV#EM(^Xy&e9%++>IBk^6EB{CQ5F?cj5Y zKE@X24f*%*`7{RX?(hQ;u zXL3=bY3k;DZmrv(Hf0~Oy)P2$hhC{DivmB&;+I1qGRwoeIV;dYifL;?CKRtvJ|LNA zzqv>nWtzjsPYzbKp?}6oiPn|=wjUhP|CYH$V-2$#KRb)0xXh1<9h10fzx?Dd8YMqU z8orCGo7Q|~_%1g1*2M0YZk_(40X zIR3B|Tcp_Z>6m9t2Z=qQiGm6Jf5xBK^y&OOFrlCG^2(%1V>vwdhH44YAUNq*n zGJSgTaPd^bA1;t?FUHgwpSgsiH3+Nq{i|d4J2i8dThm%ie54_kPv<%DDxBYG^QO5u z7%GD1^gEKUqSzCfSzY2zb*D?rW9Aw}&Avf~1Ng(kf*2x}TULuf`$^_;g|n9Rc@<+j}1CsP~G%aE5#PfdTT z?rgjcIvHA*zurr3*eWu=`D7#WB$l8IdC~g8sdFDDFD^c=k_(TEgNus~V(#&NTG75- z8Vr?)=_EH3Qta>u15qPDH0w|Y!1J!78>1xDW4mMU`c*rkj>kT*qX_}OtZuwIzfetu zu76wL6}dsNbqc~u^S{0GKB^8C*A39W#_k4tm%*39F`OVB$;)gIsr7gKa9sb;^;bIb zFUe{wg}(vc?5J*fH;vwDz8OmM%``YW0O#A0v$uNtd=ADq?5V{{cH;{>h^ikJ1_9g) zPZAZ2_A<#=cm>UlxGF`yb-H~sO}zP5^i7J z-!A3|wzKv~zOmc4QTF$3gp2s=5>7O5NOY}t?q*;$uSjM`-8(NZJ$3m$*5a&fwAUdv zMuNiz0({n16I$r)V~rF?6VoBD6>4Mo<@@T(Q%0Ge%$XP|8 z^b*eJXt>;=&Z|D5mhbV3qX#?`)K>us+qI!3Zm>)vXbOLG?(2&j|7}{7U)DxDMVali zS2wNxs_nG9b`sV3L^wT`Ckw|WW<9FDVIA@bF(-i*K=Kp8-X0`SR$8qvq7pyy( z7Qm9ZUIB*$_%YwMl?C3X9790Kn~#%eE;e&-%@?Vn6^0@`*v~@6V2j7RQ;Fu>CS0>%HD1)^;|m>8?e-G9Gi>v zh>gHf%ZaP=C8E==LrkAz;Bj>6?+5vz=9M%!j*YyNzjBDwiWK9OlcThpD8K7#*xi4} z%`=+)p8mYt`V#L-J}TCis98Ku3%sFvjF*4VUo}shOQ{Zm#A|Oyl*6l6`00^-@)X(J z7TTqDPH1H9TyNp;G(y|27E(F2|7pYfm)9>EJAf^AXkPLeYm)hr16om9}iCt$DVNfe2$YVozR>Zbj`IIW2*|ig;v|i{og@h$&w`fdhBg%MW2vK z7o>3X=HNA(fNdC=_W{QxqVWq!KZ4t6y?4xOl9y@;@M#O(@EFyI++I_nn1XMjGvF)D z_XdLbz+YeKtZCwwjISDA)hChIM&4YtD0w-rWu5lYiepi4xuG~->-{pG5l6f)s0sT@6K!Z1mGP+)Vt_|-Q6Sk&2Oh(R|oN-+a2GtA4<@4Q-M96#)sl+Goma?Z!uNslg-+{T&0YMj22*h$5DOW7c{sLn4(d>xTPkzD-pufkslgMjBa`)n-^PMl$RmI6DUsL-9%B=P{zxF+< z{l+J$+9wsxb+zx#tgUMq>-z1vT94s-AR#CP^?fA_A5ZL}RO8T%>jN@1u6~wbS}E{wBA= zgX9mbV8o_vuk~gyA*fmO-m;W$EiPEp={>aZ3-Vv2>26Y@;8VmrDy|O4?l?tU9flfP z5WaS;r8U<@$s<4e=dQ3;b(*s~uyy0*NZg6KZ~33O2AiozbT3vCnNo@=I?-a}5ysgv zna60p$1l?c1G@-k;hq(bi8-@G*ZW!m`)ylQy)OVU-20S#w2*nEO*YB!2O4@6s9T<#0LK1^UVXj#+8W!=R};|SJ@dXH zV6x6$JGg3b5)F+kkh3(jX!&Ylw_d^@Z`^xYuB#haGJ6|$Z{zkB5G22AFk{!hdbYRs z1{2dxK|Ib9)8^Bg6Vv_@^c(XP9!ZO>4n5SZ_jH%2xVE*%^+2~OR!1v=0g8BE8c*tO zwQzjUCN2a`7V{eovrE5s;dfbJ0DI6jCL3?$?8Vw*@27VmtRt+qe8LKhWYDF5Jv@fi zccF_Hb6pSrBG<#e>u!+!gm4hMLH5wi;Qzbq@o0~tf&gEz*$9Zzmwdg_dvBdaZfl$} ztaK7%T~t$HhMsFW;?4lnHlqSuP;1qRTG-7w9k81!#Ex%svP(8B!NoWA-SyEI9P#?Z zpGXRyWoB!6lm!GlFCu^?AJSsRUh-@G_`MVcCCfpd6yWBs`=VQxIp28bsBp$(;j+W60ky4;s5J2vqxCezeKG~C-qC+<4C7<9Y)76~PsDC?KXL6DuVC7X`iu?aU;0!p) zAD{rAlVGZ{H_EZt5o-AabtHK{kVf8!mw&h=U-mrjz_bBQzY$kY-kOgc?w5KJ4{p0$ zjT^$S(cDuD#I6J#!<}XmgURJ3AKd^lCZ3c5&xhgxU1=!p34VF^SiuH_fEk<%z(9TZ zcPVX7>NAy=yVA2&dJ&~ho+kF0sJzIPAEok>D4%L_S7!Vh)^N<}|M0W8j%lpC3(C$5 zwfq(#h+XZ}Z(+B56aaPC#3y5Ek;J6U zkY8qlO&qtu1}r%DOAWX<=YR+2XzXh_%686CHY7*c&>UsEW?P)Y_^A4jOTJMRnzym%hx_FCaCoi{_s#L)H?u#C#Fjxh`|%;c^F{Fj5V&0q zLk!jZiCS2~K??Mfr-PA;2HzoG$^m>`(UI|it&y^2P%1k5oxxY({NC@;-DjrW_v!t< zZ~gfWHhp`)E2ux3$a~;c0Nj=_JlKUu?J4>#tUtuPEA0KQU;QrbUB4dh=8N?((^{^J zZMhl+t)sACRi8Y}*X2_t!u*>MhKVUZVmTWov* z(fbWa%wS_O!b9<2ZEWjLT&?;~47>RI`FUL-tMAIcM|lKgFdAC|V7l@88lRaM9~ft1 z5n@ssu&_NB>C|~4#(2W;qS`VJ(|0H_!HttK)+qHtGY-neXyxYi#H9}(rmV{vV4 zNlomk;d@46D;-~tj6OUv`e>cf9ubM3xtSyR;n-(&qmNw0LX6?)dSvu8FI@Hlc=b{w z_7Ti?^ewGA4Fa;U`bTxHfbJJmY%tpe*>1?pM_)-x2jF6eo=|3Z$&*wXR(hK|+i=$~1al!oT5 z(1Z23H0X{3>rMsM9R=2%3amQ{th=Q!fS|jl)EzJAZv5z@sEvJEmndkf8(ma4`rIN` zg2O?{BGNcDMa!0;o8qn4L%4l?QMimCiT{g&NZDcrvN+QIzCRF@&;OHtM_*DL867U^ z-CJ1)=y4ru+){_|aUu3XR zeL|JmJ(?KO7)4jcM@tjSyB}dSH1)DMHa!;}xWBLn|G#?;8 zVQp4as=waOjDd@VvW>L0o1^jZse~%g0d0}kn9PJKwUFNxD9=|h%>|m1PO&fcUIILX zD6DrnrVtVSaQfPAJL*_6^(JEh~pFsxM!Zjys@XFK%JaCi~Vzg3-hBDZ@Y7XSpCTy zap=o+6*Gz&*61kwAX|v5a9}X(Qig5k1QD9dwpTN}#2fpXM68BKG?tP^d?5!n+^Z8m zrFPh-QX)iLIgnzD?iuGnhlf<97q5uFPn+MmVU;gv#YyhLmYp0_QCIaj=xh5v(FT>dC;?U2&0q_VCSBx`W3Q(!_4)FoY)5Y<$ zmS6FNlq^^jd3Vr}eO#2hhH{c+g__ao8PAe%`{urNiSPEodH(j6Nr@qE2!c`06Q81E zXVKx4CB~L?54{=U*8UI1Q3&ovNndq}_OE8o##}Qz9FAR55{-os6;3Hl4rb|QF}s_@ z6?87>a($L4e_wlKoTq3YRxybvV#yjpt#9h5OGXfC zS;m96R4rxU%yb$`cJdB8o8REDpP@>G@fCXr&ko1`)-el~6Lv|N zJ`P>XS^Un4hD%{)KPoi%~iv56%~ z#if@muPu8mc^AKcN32VxsuO6e+o+XaphH&-j;xSH?{e@6&^)HJ6L?miVj^I8veRsu zl^;{v>!2bWA^C+Xdw`5U0IL2%pnKD&K)2t^*2HZpkF_V|rlIwn-sjc5uiL9FN-O~q zf;TPaYFvq-$C6=$2JRUqs}!HV^&X$UPL2m}Eh$qqgr5uESI~B{fzT5^DOP8vx)%4h z&N_3P&%`LTiNx6LcHCvf@pRSw30;xfEhEwsGUb>7XF!Xhgfka=XVa(ni@VaC|gW)i9*%2Ts3>UsmeQO>L|{K0cvjj*d-v#jy!Svr|ETnBJ@L!f^yW zi>3986_)W6Wo&=_5ng8;9&AykP0A9-8J6 z>pwo0m1yw9DKkSyb4{V?w`BXu%d>QEYc^TEOH=*~ZvwWaq<+5dVzlRGZ9nWK$(Fn3*;bzG;)&g=Y7?-|Y$%$2FT?|Zh- z`-8|2kb0jOzm)*e(DjxyC{cL109w%*YHk(W5`#u6J`bJ0dA57LT%mG$e%U=oFoM~$ z=bj%OXwT%wtLUf)TME693g9!>+XsbXtbz1%ku|{cuiX3T)<8%7QQi9vI)JlTmXCq> z!L_VkMMuN^?9cD>yL;dDFoj?p+S+GnUBZUmzirBblSQK@>A<7MT>4 zA+@Z6h+h2=;v4sZFuQ()x3fsz&dPRromIjqRJ9aJH|z*HmnlATcF}X;2T`K>fG!rq- zQ6nZ!Eb5-ssFlec(MXL50t@!($)n=qN6jg%Z*P1$KQ?|;*Q2&>j2C(G#jNrAnLbLh z1_k%G8E1I++X#&twV0@e$rP*&|4?HAMy&_HBtWoUi;wcd+rv+>qFTRy) z{3|~CPmX_t8~=m+ar`Yl5ovr(au(>~^B>6v$8x?7W+(Yz7bKN!v7JdIt(RbMv$2$M z!@b>vb@5@x?W^kloLq3Uv9N|$H%=(&(=Z%{@e2+)_ux}yJ@{1N-F(yaYHA-Syh+bX z{b%^qe|w$JW$`OZ-;t=icA(lOTSRj0)4ku5Ar#bWNqw`>zOnt<>civ_9!Bxaula^X z{>TUDQ;EurT{s?Vj77Tr+LyPE-8lu%b$s$a$Xg%N9DN+)Ed|X?;F1bCjG6c%Or?{; zzF-yY+KI|}Y82CUo3|@?N@`{46pY0tB(o+Pq1H=?;}`k zcfXpJg$MD;Rcv$psMfN);gERMl%~yn>c=Bv?t}>a#yVzj9o@;yQvRBr>h*NL?Z0;! zJQC%%tNgnv|3!L!e1D6|YbbZgBd>U7JM-tnmOuX{YHfeN9{hJ(;b8vDaeJrcf6zDn zwfR%c&HvoY`486&uA@7f|2}%E*HiZV*CaK6m1ocYRh8FJ?#~}cq~SxZ=-6|zO>qcJ zNupDybkXfA@A^8kkfzxo)t0!g{S-BZ>Mb{`A1^q&7z2_e16XESD|r>>+(!|1omuv( zvoGabpt8O#Gpn3rlB(8v|;CrzU-VT19)MLP(< z7nnH(-Q!_BCJO(;pZ{iTyqZv2+sqM}pYh=RM197G7QMj=!O^%04AEE`#a>St?`u&W zL#%-Ew5{Xyj;r14?j?HNaJJ|(mUOAGy~i&2lE$(#_THc_UHVNV8l|H?F^@cNCXfYr zc@bf17)zJ2gP{+-Ze#IN@l{dV(#o4W6lR9?{mS0&x*qzCtuK4u`}R^+ZyKVlo+WP; zdHYZ#k%=>HL0VC>`~`eemNtF&1yi)|lBZk!MCBuIGK^240+iy#CJ;NdRcE|WRI{4{ z3kJWIpZBDI>V>#j3MOJIc+gLx{Evu--aCMb_I|*o5d_@5hIR|P`b&m5?({7vO#9PW zj-RqUT_6Fo>AhY8oYP$I?le040V4mjJy>Q_Ue7VMsqFvtQK^5!ZJJs6!11GGYM~rc zN20V;l&phUA_bqv{1J2E4>Ona2G2i9eD`0CYVW9IXc0Z*2+3b|3>gAhtu$hF{&a73apkI5(lCvqbK|Xira`MccEy z0}RkS9;dGS{eN5Iiw}L>@^w@f#S53}SLR>|+N~eaw0Xcadq7s<*sig{yX@o2Is5@z z8*N5iKp(r0eNuS?Z(@aw`b;tGd3g&3pXw8;V=p3tb7ZvXy<+bbY8ZGId(Y}8OLQz) zQ-kjk%M?_%M5Woe+u65VjoKDjuZSwF<9%9B(`^9# zweM9GWSxX<9zKSGvbLsoaq8~^i}H?zFv`gXZyY zCCa#-r`j9{Z@B`F0H7Ajt{3o&zgyFyhrbAZ-T@taT-l9TICT9;L-w~ zJH^@=5y2K8hwlIb%9hV5s2{*_@LeCH*StA>>Ia4%8MyP**uY&mGu3Af=Q~653U+QS z*wu3SNS(V}J%A*AJ7gza>pdmTCc(3?zsOw{HA_=T$d*DX@3Gf~T}Zcf5qF^P9<)sI zE=>HuaO|Le=w`11RPX&BrN=`VNB%-W);|6kGxmzfqM#xWPe)eO;~6n206Vk`WfFDY9k#F8HL>S z2>Xik1|8@u8ENBOL&Vsk)3K}4c(BkKL4)t=bn;c@h9cm2p!jU8@IrMR>*#6$eI78r zxv}duZ|_A}z)`uAFB5}a9AuJJ8alsPZP3YKvcyc_J>2e~bHAX|Dg=p7K*u3-s1F*F zPNzU)cCmP6g^t@-IM6(!^c#Q%d-_Um1fVv;`M?{dpV@>ntj9J{4Ll@i`*;=5#b2$a z=;Apa9;^BTk3EeY7oK71K03N&4|>4c71;Uw)6b)49B2d-5&sD*dqjq%rFnP>#R&b! zVFIp+Ur>S<#hu2B7*E*4=tR>vRx85s9%U~J)gqCs^ls3geB!)GsG0ymN~1Z(^8Uou zZ-YWZEj2Vgha-QSOwXG`bV31tZC)VB7+U4*BY{Md`-Yl-D#W|?bH@P=q?1m(kOyCO zv9Xe2#+@sl{F=~VVWeVjO33XqK!mJ+I}pnpQGnsz50SdZeRa{&1-&;-whW~39_O91ye6h?x4CU zeaL4{Nem_|VO3r>^WuJP%DY}of1knWLd}2G%V&JPQrT7rerz#DQdnuJO*)e6`NG=_ z2m*VS=tEq?`;*bzmBpuPCm>>uc_UBk zx#_*C4BBJImS+ZpnCyHdBP4N-^1k!L7u~0wDz5vm(V!g6ec^3bMaEf9kH9LjOV>4l z9Gu}VxuBQ72JeSwa_>gm5>cA^q(qdk?w$(OAsTVZTaZwi z{=!XHPRVN+%#==}KTAGk^oK#`Q9ewmOP~Br%P02z7@&5l(W+G0Exp9a{$=kcPk}Sg z0Q%QFzD(k|lQnbtGPb0LjiD9J6yFmV1rry#UG%vg+3l>|T|gUufRZtm62p>ev#?NQ9iUXKgcio10dblAFD$V+840 zXh-)AP>*0Pn+zBS$n8kOly`bkLv30~C%Qr%M1l2`2FhJeh1ekHhRu>nlRA zMqc)F8JZ*`ze&7uR;=6iTBgMz=k*Ag~Vhd@N9L(h`?i5w1`4?&O6-2k@9tdko|n~Vz^ zS?^UpCU|qu^Ih-T`U(1gz(MjuspLT_%{6KGhU0zHnpWTXDrgMq^nyKSmV~DHYHjSW ze2ui_B$hA&ZI$?x@g#zM*P|(ZEp%?x_u1`a>@Rh;p0Q_jP@UDB%0YMGZ-ZS{usFE@ z?2x{tH;G3vi`;71cNz%IpzUl&K5MyG6ON31X5Vjo2oZ!)= z8bqS}a@seC`GZvS?%f}1nfC~SrL~{hFE11E#@;+#vz*AJGxT-aPmj-duM6EW-m^V$ z?FfY89c&-LgWyjKy*$B=B~d&TUage~xTl|yTsl0P-;n>4NUK0kO^xSmqjoo*M-Wak z`U`YWDaU_vpV6Z>fEy&m#w$A!j-jp*I|?3%``z`^MLMe#6cBsW_!Sh@;oS(J(r9h0 z(kxAf^$@7O#sr8NS!GIJN-pv?0L9EVww~bk%anKh&Hs-3kZd&N=gXwVP=0o_t)8yFAihv^P>lxv8HayAN)?jqfZm`8)+kgC>wS8^`Yy0ZM ztZj-uZ2y)&4~bdu`k81+_v#qD&eTZamA_KM@q_Zr2AGD|Tt#nW!s~nF@BBC5)iy6T zyyj4z0k3=;P5EJxHVj@PY#fCj+H&@W*Go$ScwMZ?rQtQ-RWNudYzTN=_=OLzJE-K{ zwjc1i=b`Pv>${I;!s}oc&+$gHe*_N=_p%5dH+<_Y8jfU2lid}`|HDT~(sMm&&2;Rh0&c1XZcq9Mq zPZkIG5)wm7lvP#C|crIL39F`(Y02f&vT8FD7Rr1qmN8hC0y zdR8NdSN6A&9aLpYk>;gA`UMn@ZG`vQ*3PxW_^$onqI2rfO-Av`?ry8&W`8NUvlfPT7YP3p=;Qjps zf3)s8;AbBZI}(*73LSds2NMon1C2Vdy)9nQ#fldg)s|TL(S5E{Mh72^wY&N zgj(+5!8=$z-OjJn{-Dv9sPuSBbG7$7H6nLfs8v@jq}pq?@=Vw_?3@kvWZQjkf}?1> zhkeO6FI9gcJhk|mq(r)$@weK$gD`q;Rb#?&Q9}Kpvl^!#nO~3ATpT|8r*j3<#4VHB^tWR2 zm`ewS6URewug$0qa|%TlDdOFJMy4ig>*eR=i;u4NMjj@JWx7s7E&rt^vh3pVQ%2EJ zJ*gY6+>lrQIMzsx)eb#~7)-ABtslba2bmf^TgW)aFbg{Rm1GgZ)g_rd3?%6CPQ^?x zKen!q$%x?gs3zZI5o(zR&Y1uM<$H(Rt1A3Te$P+!D1IIUB zRhf5isM(C)>5D5u&A+6N9!5pWV)G^#3S{pQ(?;R@NCf{I8XMnHb7(0e94$|~iB9Lx zCvQP8?^Jc4IHAz2`Zmr7{!5@mZ+ledEJ-MqA4y!r`;jE9Sy<}Lrx&$c%BDzQ#VUX1 zE$3@_;tog|BBK}+H^m5`&Ww^3m!Of#`d(_>cfHqjSMTALcn{yLuKZAkIeGvgL9l^+ z!q;hui*ampUr%t@}T6gE-hG6|+ zMH%-%`Wpnh$Ioa(Fy6xI1&kbj8zU;e_A^V5=Pgri45@G6;Xl-6ys(1=kaYwva{@J{ zz?Bcys95av9ca$q(U3E=MG<3*oWZsfYE|A?#|Zm|TF_T$cBQwRg-Dk3V0_(Ms7I}^ zliP&1b16#88NpSU_4}sooebT$6BU%-l|~$W+D)GQ)kQqGXp;N=#twa*^p_Z_`7+tg zKWX|+RQ^q(*dklPg~?rQKvm3&yRbVaOkv(8)xfZ_LL`PD_?;t}Bu+)ijSIErTkmAV zYce=M5bqh*RRm^Y=%E4v)ITsZ@$3@oiyx)-0}d;Hk%9jtRwiBy%7vOo^Ap|Rb*@i{ z6?2P>@2@8ST2}rr2QW%aqw|)Nenqh>FlU<7nE}o``KJo70FO}JmLJd>@>OgiUJ_Ck z>|+>^odtNQm5F5&zX6}ke)~Int6soi-U>)*EW5~mTblE26>rOyYsko1W|;pV%9z0z z8y75oip}2PPj`1^Al)TQqsNsDNeCrWk>E;ccyIV5`(W9diFaBrfCgZ-=EA`w; zv+h0VfV^{6q}!XsCwM+Z&m;Zkc=iR}nguxd1db>${Fjo#75@z{3*x6iGw?})4~oA( zVO|h_Y-m^F;_px55(7g!*!L7=wQD|=?i_yzwbt=F;1QvgBX|bgLc(6^) zRmsH$+&u43dQeJzZzRJ{(XVg6OVd}jzYRg9u$m!?zDC$O@MDzyaP-AQU~fl)Eqa3@;8e?@}%v5q+U<(4?cUlAiQ+qEI}AJk2``EqhQhJe{=4RODp7T|+Iq^S}|ykT?DhCcN6@e89T^T}-v6$-aI^Ju(s0;=F~h9Xz8Gg8dS3%;iGF#Rwo${0x2 z{zlgGJbHt83U_=^P?%5@YJP0=8o)Ysf*Fh5VL zJGStdx%S-gI$tCTKYN5fq1w$fdxBoXOT6JQJ$!;|c$7DAN|*z_MOu&I`n{wVWgUUi za=*asoC1BZ-~x#=rAvetrrL#C&+&02tT@4zlk|i%c=+$ZhzJiU{>r{&tY^P$5OAE? z#r=o89jKFDZ$Ts3pB8*N^`Z0r0|9izR~R4b<27!Q8~&={Q~V(U>@#c$OnbJ~2()os zjON{bE2A6BFYRO8>#jCQ#foV~5bDDQ(E~I9Ce*w|bHne;*P)gbJS5lI@U+uW6UNE8 z3<=5p@`hr=c<+z9JQ#P&Xse`t2UCXGQ2R$`_pDJYvIU65hpu`*Kd++-+sWW6LROfU zE_$|3I;+Om-`Hfrt!z066(7P(l0UL$tMa^kKwPw?11&w91fp0p}KJ^w>Rkm9)9%=-H64O0ncpIJQIUfuSQ3lH@Q#axWT^)wanpN z)+}&(VL<~m+$*cMoA>)bshXOM`Lt7ykQ+uen z)ViBowDG!osoYpU$X91VEks%xu@-^qm(ob6xmn+iE&Rp(diaS|EH7Cv#bd2^%1SdK z8Lf_k!b0^WJYhpZQ|JcLZ@v#Y65928CkXfdLb=G;{5`mjl}vn z|9ym+QJCQ_`7K|X@y%q`rbV2C-<+jR`uGx`b&5tSX?eO0`%(nsjiDQcv6=+qakqLS zlMVE-P;(*W;jvNO2Q5CQdH9yHcF@13^|A?yM5&H-27v?aR#g0!+@8`MYQ=BKd2k^| zd^&`(NCX_<5L9pT#sBK4ae#N#Z)E1G%5zLF_NGXU$)snJ+#MfXnqCR78iSRFG!U}h zX<=hWO%BI!0IhQ%7oe{P4K-3FG7zw>QmhD?nXI`c|6)kosNdcfzXoq5-Malm2@^aO z{WPGTV37zEwL#ZMSyT;leNrUv!%uiHSM@fzdV0QH&o07%g$~ra`qPzJc75`X>T{NN zB_DB6CD_0Hg-+|F`=rq%H3E{GbSI0b?^UYyhw5y!e!UPLJLr%13Po#po2&p18OojD zEP6D}4#NljW7OyIe4n*rqNigX^)6*)FqwUuqt*>yXGevgFfnAvR#3zy+lgYs|3@6S`!)Op z8;y73Y(?QDF9+amozz<6$6u;Yw-=`1=N-V8UGu$%_>yAv9`_rNgpaONt7k~6a40fOf)C2QLt8;&kXSS zOv6r*7*~_~*4?gI;S5^6)mk)Ko$(4V<<9m-iUK;VU+idfgKY)QJPd!ZD{jKE{tcXe z`IXs^Yhvr{YziCCc^E~oe7t&ksp45Nj2z*ZHA6d&asx39QZ!ElJhvU^B((HcZ- z$Cb@O_LrxB30!rBX9hy=;1F6trr_T&>sJM5DwV7O2tZ4VtjJ!pljD@A{Q9b#CVI$K=AtS{$TxrpBmpX6C_sh!t)SAmVm z<86?Q41!VEe1`h-v60ALcj#{=EwM3%TESDlp?;y35+1~}4^=xmrrS|jsmk;<{7BEm zdY%F9dcWkCqi6BMNNhuB-le77%EVptTtvURzwVt6wMg#f+}#*tm1DRTbt#vkk}#8} z<<%S8c~3G)-d{7OreayBIm$!RXZh79a#3$})92i%QXRUb{lw#&VGkra;kt7$%P=`H zq+hsc)s~|Z11Clkd-jV~ycue0(bToSG;QV@kzFPEL!a&M_X#J?z-~K4?10q312GK` zJchgdLQOBAmP8Z7mHUz`g>@CHLrrZIh2|Z`Ig$b;FrON`d~;~t6<_lAbN+7S?-u@c z^LJ~s;?+xE6kZUI+{bLOi9=`BB?h)fD^^@qOOnIzNUpRy7C3+2FEsNfh3dQ@qNEs2 zhZKm7)G_C#{rKtQZD`(*ep9PsLpU8E!)|-S2aX_uI50p$Ue8+=3LFwhYMT*tkKso& z4UX$m;D}{`!z6acaw;P{YHbAM0(kK)+nEb|p##x5r@^%YwkaJqqsVDWOW z|7OC2^k)T;e1Rm?bgOz_NgS{~Zu8O~28^_c(Xg$#t5mb!Y4s!ljmn*tfy5C^rFe8{qTN{LbVeFjngo zO-$nZ1!IVgBrPt6_m7fiXqOMh-}G4@5YV8z8gvl2U*T^!zl~H&0N8MEGg#Emz@{h& z!@HOzgmssGb8pt1KUXjH3?(oPBT%H(N=G7&_B9K9$nKg_K#CM}3s~{ou z8eWag18i@6Ld-XmgQ{uOW+2`lI2;*HjJqz>e6%_n*`_Wc94($!^)UlKQUizju5(qk zP^E7$eyUb${x%2NU}7u2#((3{sPnackL1T_zq(J9Ev9L`A|4;9?h~6xy4dOhD|^kA z6~rbMC7-j1NXF0nb_~rtd`DsYD`m@V0PV>>S@YY)jp1BiIAs}EebgLV%)dj91ur<< zvb5o~jSF$9e}g88YvJ61vTWTU269wl;Ogkew;{7#xWKc%%2wx2^%2cqz&uZO4NtL# zgT--^+PIJ{iNpEe{o7mX5_|rZ`M*N4OHQs0=Fjo@Q)9>W(T_g-PzK-Q`|_h-l5NQF z7DlpDXy&OqXkO2SV@uU3a%TH_Sk+q_()5tAe(CvD+x)~@nBM~O$+xdnj>27{`Ok&L zdvDUXMlOpcs!6oAxu09SUFs4A#~S=%OX*{CFgMofWUlQL>}-ml!PIKuApcaccr_aF zyyB^`U3HQuTCqITRAxn!nd8YY~Q|)VX?b~xDa8dXgN!{mDF~ZxfD&E6?#NRr#StxprEStiY=i>rhm@gFZsKLzgzjc zmA~E5ikE}^1>)qEGKjl_{pDJt?9~KT`jjntp0>ZE?}$!rB?g`psdy^X)E^GYhBw&Q z)aS5rw_k@IVe{}L;;4fw0=dAvuRiVM- zH$*D_-tf3jW`q+So!HYTjkK2qlM(~>ismmhV!VS9it?bk%hFU=m%ngQV%%*3W;&Ey z|CCR87r*NBm*w!tvtEI>oLuBS&E}qa>y23G#1f;@3i=Y20?J>9nQu7%)zG|(*kPf0 zm*>Z>DBw>Yl1_%^Mf%1j4NUH6u!HY(L!SlEXCy|L&Wq70FmV}l_>NAJ~EGC3bkMwuh`gIrmk z*s-EvNA0`0vc9oni5&5Xz0j2v#7I#Y(E5i2LBaqEW5?o#^-28=E34`kt1d|{({HEW z`Se|@Rz%;>|D*g)(SOrt1-8FK2`(Kbn{f zU;I22nz+iVxl)C{}jPT+TVdpJ~6t#gcoUg!Qdh;4EeWC z+7b_c(mLtOczAQ`q^^>2$Sq5#NG!76cU_^<56~+O^@t}6&BL9Lk`M-JT`^lSW(8TNi zN8Y=~$5~bT|C6>UDHJC_3sK-OKuTMo&?3QxHjwnjgihK@DWF`^G)db)nuN?uFI)(Z=WHrLg*Mv~nYs4x$ zcO4qOribZqz4p~0$0sF6)$hx5{qCdRkAHZ-A5Jp&>M@GZODHa*u18Rw5l)q5nQ;G#aW$^z|>m_vw+=)kH#uu%~#z(`Q&nU%2qa-T} zb<#E|t&;W2>7%m0i#yukL(>rEBTy(kIX88TDiR#wPb8 z_>Mt=fPcQ8hzfR_Io*3k&vD1VUwEA>%wMt>_{{=-Aro6q!RD~GL95a)H%slV3g0ub z8?Ex5*(17Vq2}B(dsO!JrFFjz@K7p)P>>rJcS*K(z8VIIT>>J?IfyY1 zga0Nj^{JV>Nz4$oJ$m)(eCFYI1@xv&mK#IOI?#9~C5{1snN1 z{&(FwZgXuUDariu&`9RY@jV@$Hbkm_((CK#8ze<=js#}`eERd3< zLoKPOy9&yk1^$s#WJzPYt3cgZtOiN?+fEfM?yf@O%o=A&FIm#K?kW&>R*5A&Zb>EG zRim?8cx2cogs<5q!IqXPwttc!NldOySU09U+1zZ#9lhP;nZd%Bj z3c;H|HL(wGK}!lMe5w(bQQ9NfXIX~u)u*)HEO&mpI^U#$Z9t2ke^`CeDyBV09cKS< zS`PKo!VxlG0T7X@${ zbm`ovlf+l$xpXE^M0BtTv^H-O=o?zmU%f@`1r~6H*U!zTUmg1unZO}3ocgo`QsxqE zL|%CZn;QoW=7)^UFZ3qgFVt;yFQs}mCGtG=?uV0W+iT|M8G|;TQX^EU?8Bp^DyHhi zJTe^Azg?D{bRWAKRBh4Gs?)95%*)==9AyfRdR&6QF2-rbkA>~-NDS9Q^tXo6N^O;< zJX9=2Y>jBsX+9Qpwl&@9h67|f<8(uk6Bq;Doma>Y_*F03A-LjiT5-xPl(dkA4VTI7 za;y2471Q@UH*}w(74JV&s)B>zFR*RF?%17olGnTTirpB$?I;>+`9IU5&T30z*MKda zc3}S-?w7ZRi{oV~C1;a&y-FIh3MSfq&K#Rq=Q$JZ+9KnCn^?v|Y&ZHeIK$cBKCJ~x zC6Ig9+uo_Mff|)Q_C&&|QIfQo@vr}a!_Psc3p^skebr(aczt3a4h$e=cqCH|>i#9HRl1Kb%N1rQf8WJn@#( zBg_4|O!PRPrE6u*j zuQZzJ-h<4dQ0&WOb9#1FW*+u) z`ulm>aI*6~x*;H(3fc5L=Fq3{Ygzyr3`*Bg6EFa5(M-W0DZu@IN^|B3fYZGYdW;=g zFFWu_f&OyE({C<4SN|;)a<3F#w;5h{h+^b}dsgWpFV2BAKxa_92a>^GWUv(+urp-# zj)&Up=F=DQ(bKzB=xMHM%_?aaimO^JF9GClyj1-kRhm76MD$LtlZ5Ok$O{KYYcAYf zVdaBO#}llAo!&XhdlWCkZ^#7u=;2hYRs`4s`?JqrcJu2|yo+$xViEwwwhZ{tQ*kR> z)pA?A;VL>YW6GlIfJ~+yaQH!PO0=Q%y7NimR0baS&TZ{94#(J*U(Rh!0q`B^hP!w2 z?50#3S}&R?eAW9A6P5ifFTuD9t6e8fq7$)9#M_rn#4;Bz)jZ&~fU}tbJ|7jEF<}E4 z_w2-dUmwzm*Ao&)I+cn~lVb(Rk7;N2L>d-+W-rwoc6~;@>zi$yGrQj)oE>~VrLURs z7lJBz)p#UAzG9ALn@x?%MM+ z|A)1}U3=C;@L;|)woKv448nPs5Pn3RGXJ3I-WzK)7jA#j9jqGvsYix@WM(o46609n zYt^}v53rwejOfZ{Qq1?2TgNb62v9aN*IHBJ3TKM9>8uI<3G9YjJuCIDGla@Wwy?YtGT*ga49~GZ< z?Y)bs%6ndH!f)@7;9P!tRcbG0-K-3GvsKTT8*#+Hg;KMM@@AlPtfm7zKux%@ZbuG4wRo~M-b zvjW5SlEg6r3O_LXI~!7c5C0fB>SbSL2G|4fK2MhH9O!Tw{;c%yA!&sMzv}ek*^`Vw z3-@>3nMHThmB#?j9$hisaXA_HB%~|9GK7#`XO94gIsOsu{w>b|55eb+H}R1_Cxj6| zi^IWi%kgJYb2z1SK=uQ4|3GdzKJu0Uq41a27}Tz2J28fsoTypM?C+7P-b!66e>`yn zLMrhIP)Tr)h3CBJbi2amr zC+WN>PY#9A45{JNz4kbcseU$`S_s)?Mo8$7NRRN*ZU$*Nv~yd<1KzhGDLeKJ4myT& zZizQD!;EmQ8p#gT!pn z%y$jE#=7gyf`s=Iex|g~E9YWgK^v85SDa3r*hK;G_8Es`Yr3}vcK(g(oE8UsboMD= zyPuPiXrv`^$H5l{g|9HkzMm zK;b=m8M*fEujOtq(0Z`MUk|PZM@u??dZ)i0wB+1+a1z5sLGwc@ua)lfKesMCvUAwF zaQ#PL7bdp~PlvAy-vvZk7a}1*$A7slJXByBTo?5^#X~vCkw-MWn3dL&qWpvi3B~yd_%rx^cH9?2w1ACQ6Hi&7@E#iD z;wfLifInn>fq7t!8{0oK4_tz<|DPIDuE+HE0QJ|Hci8o}|GL5T?C|-R3!UIk{>c2|KJH* zW4jLu-=H{S(Vo=1Ax(A9*+@c8Bp}xAvJuvB9<8YJj;}aO?VB4C=HU2$G(OyJ^Y(+%b6dm(sH2pC>KFkpnH|=vt3PM!k zfi;IpHz29?7mk*{*^VD}#pkZ%Q2hm?HL|V!ojG|55D4m3xJvFudz5>Ta!0A$1XnIQ zn;P>twts#YdlYvN`^SiD(!UA9$-oN^pCJy2Bsw?7iGxMap0<6sopfZZV7DE9=rV13 zWapIq$i~{daICV=h!=-%coabSQ7&OC5zOWv+y*!@Y}=kR60RAIrhm>7E5ufDdVUGV z%(=gbBI#+oP9n52;`#uX>{PNK3b7_kQSoTcm+U8<(T|quiLtw)>AUy4)jt0GPW`a; z%uZ#&6V;P{i(OqYV-Mzc+EeK#J2w?oXJ(F#re}Vvd{g^Q>aV0gD07n*OmnBb9!vk~ zR-Q;VdhVOOlDAM_XNP|Hi}u;UAou9J(_`uQx#VA}H10Y;&K16kC7cniCAm$>(RAl} z{b&;~J^uH6^=_01`N+&+&se5;9`_(jB~vtaIvVGd$7peSB+-pSGeJn6UyrZnm93K+e`w2P2%$hHvdh(62sZyaEww-#cT<4b- zGn4p?hOhrdk)}1?W_AH0uU3wXW-{G27OrTF^~@wT&(HPV*NJJ-{zUnY^>yAIyoQ?} z>FZS3Ed8;sff@I$aOy=>4B0_~G{=r?B|Ea4qZvb_Smp-dlWcg{BPPiVjPu_6Y*4)q zm#I#ViH(7`R29{vr$;l_Dl5scF};~k;%0Iw+;bU|x{pTG2!3#f{`CM`54mO&`enVr3(s<{?Bcf@2IWSiKUh=7; z44JQ^rG4u{*0r(nUCDc5>6aA-of$HaTBr!ki_+~z=gv$2QHKcU@|TwT5s z51X-Co0T=-+}xMMlf4bl6(Vi)MD=@R@MUHD>dcsW2VKO%H}$p+QNti zTNgy}D`@U@2sM^&T&*6^Swd`Q?lP=`&ogmRq~oja!%E-BiIO7<(J_CIrtyVfBn5%EUclAEQ3AF0;WBsSB7h~McWMQHhTP#q@y#Mr^_kB=6R0?KjKC zEupDgsl;#mbvozcxZ=cd#1J z5r&cMSipqeWD?$wW^kcG2f{H#2+tKEw@9~;`6loL3y|R^@I|C?I;NPVxqlFEE(X9)T241nh6mN0_`}4)upoK6 z4&}sPRP(_1x%|Th;gUF91NMKihTg(m8)?#2q^@=?VSv^31UA&>lyJkiGkB51kwFB3 zlfK2s)>mi3+8x>JRV=c*425$wzQ?ijDY5kZ24iKYP9JewK{84u;K09kOX=dAKia<7 z(dk^5etNNN9~`kfy|}uk71-_MybY;9#m@DS3#iONkrUoqzlFbD%NR{GbDhmrwEWlT z!v?s^;eE)PD8!@r7bzNOP{P9E77jt!n~J56x6176n?OO(fGuXjskmxNKWzF*=hC7N zm^jVE+fh8^H3^w3oje)$04;=sbtX^retdg3I^2>w6Yr>9|d&l5p0{$w9Z-$o0lGd z2r5Byc{=-wdH4|ja48m{N6_Y=OYbthe4iJm$7w$?x{{?K%n1HGD~_Uv+H zI&M`%$m;{#dXHn`_*P5X_^SkQakRkp?X&xsp&ta#isZU_G-H9N3dlfA7rY{BhZAVf zePWt%J7YbfX857we6StylfB4)V8cdyEOUpkituDKH}s+E^5+u=sl(PkVdh_>1+mge z8zj$TJr%RBaNyk$J{U<5p4?D6wg2qp>sgTm{Aw=zO1vI^rIEp#*Dehu#=@@IavAUr zTqgVKaPBTYgMcYlmv2pQ9)4?#3q%^o3WHqVOY1Pm$-hcaFuvcp zbs9HOcWy9khfZf6s1zsfi5GkK)jIq3Uu>y;D7T>`9X$MPIlC5N?NSX|Ekw&vv=Z;kYVt8vQ5>+%3ltrjIC7(ln zeA<^MWQBVhp#+%TSGiPB(1CP9X(=E>?xg*qfD8!gB0>mvy-hvYsP^#a7zgnQtZ~`W z>@%bWS)=7!!(G2owj(984lvG-+|0g$$DNn?tV4MSX^_aWUsidt$o13lVIBAdoty-H zJJ$2yt?J^{h6lb)Kv;#JqlDUHiE@i%qzTQAlV_i%+YV}*{FWEV9JI*v-?I;~i3gOk z-@(}7^{6)rfuw>e0~T6njqG&m36#eD8@83OkRD%sv$A3ODIR!2{xUc9$_flYg*X*E zF9HQc=cYI6ETb|VjZ=Q&V_eG-Nx*EkP3nJC`o-$0{hJ2YpV7{Bm7&BmawZe#YExMp zK>z!XzexKeWvgi~cN51n7#GfBJq|vd_X-6<$*pQ+Uo{f#8NANJDtV&GDk;dXe);(jPxB(|=9%dQ7lfjuBPc(09%3o~cqXE?uoRx`t~KtG5Mi;J=G{o@W=sE^~XHS-B?-q~VKn*bu~ z3+R0gwMH}hxf?dCp7iK-fp-amuuuh@r0tx^b*K<7!1IjvUP zc@R<~J>&1ZNWFi<6Q39JIF{)H)f2}n4#p$iaeM91pO#pMG+$jfj12VOil?kjn(JyB zn?)k+a|Gz@$UB=V6Rn*uMG_Z@BJ#o1^?UNW@InyeQbsS16i)53YAnQ%#U5h|7W+iF zYX|9G#S&QCqdW!p=v@Ztc;CnW$vaZtZno0U+>I{6k81orY14WootN6Qtou>+OI8K+ z5cuD6(=C1~!A{MjA%3KU)bi#47N)>E48+mY#4@)Dk=Vge%$(IsML2bt-&yJ~PyO4Rykm#boHG=@B3l#ig*_%BS?2TQ7rgC2 z7fP}FnIM^MUY|*9x)n}0s+K0J#kFgA|A;ou6_=ye%TT!gUT+-T2>8u2{!WPx^Tqh@ z78eb>jI)RY!2W=mu5bZfrwH_z6w|Lndn&0txXcdHcGpc3#nrBx+^-5N%;1HSALAfJ zYXD*PSyy#HEv3etlML^o%RfrFQ$k>8{;!-aiKX$hVgt&XjRV4(sLQ-+K>% zVGvUEHW8jN$MOBA1?!7=#ORF}Fvsn|6X#J7o(KpP^~~b+II>S3Eh(zO=Cruvg=lbs zM~;=jH;a-}M4S(v1^?oDl}olLI#VQA4qLO=)&&DphltW`4EG* z({ODO2oAnwKEL+JQMh#wzXa9-KBO%{(W~y>w2QsM>b}u1MSkX$s3)$k88O)3-MN>fCt<+iSd2gDj6Q(#4|GZe{ zXckas(iodP$&Y7y=|%t#zM0Q5(rIXfWhhqj>mB^xP6EjF{DxH_}if~7^626T}o)?{0+8XJ9* zdN2 z3#$pI_R~PqY(k`4ifhvIBC&MoWBw#{oo8IULsbb#aP4D9`CO6fg~S!7v&j+Ak^J=6 zGk|Iakd-l2{Ak)!I`t9fEudq-FL^jpDhYf9XRaYPqMRH{zmjdD;UIs-M(Xo!6qcs9 zWsf(rO(jEn)hiY`5He1oCN;wy3n0zjT)9VTgZ=itSKp`bmh8O2@o2c&;z7Qu*fu4+ zdgoC|_H0`5HuA*zWc**u`33XLF>JtRrWAau0J2M5Ad+)wH?yGXTMsq*`^hXP=SJ9E zHA2JJBI3<8&IaXXKHs5yg|@&3`(7$RDM$UH#g2<|mJtq)HzqL6YMFG`aqgQK^m_k}1a5I+BCsX)E;Gky)RX9bQgXc*2U?qqv{mcsCe=3SA4o{xL zTD<4**H$^R3cGlP5hjSFn^%T>XIkRj2v^VLYz&#HZV|yC*Dhl~fd-=vJWOH>W%T?6 z&+U2^FCr61KZNf=WwD<7OFQh# zN$(;_WM=X9KSNi)?k-9ksGFS1rAFcs%jM1@=*$S&({Pv>wO-#HK)tr&uCXL zV?wt|Z#3l3Q|Te?K zk-GNiCxs8VIN~jlAVPdhie}oF!)x-1-n~Hd**_aI>!2HurbVq<58Y2bU$jJ7?_1KG ztd{iV{u`}-;(Iq&!=mmoUPeaj-+Cuj77W*5w^r}lgYPdGje7MY8eU}k`I6I5q|!u{ zf4-kTQ}OW|MV4hhHDbUW^Q*uZ>yn+aF&a-qFm!=ZE;y!-C8QNj{0}&P5vB)RkQam5 z4>4CEZ!%9_f;J=%2Km>&@11{56R};a?FFusXoM+M<1KQ%i8ubGIJ&({qO& z_{-62j>_RB?z26J#O)H=>q>9sQG3C+@$20&4={CZiHL*U%9`4{3>F!1#VuaVbr?IK zuC^Fv%MJ=?Rn7ZK*;&;OZ6^2XzemIxi0@>&1-wIP&%->Pj;4Vm>+@S#(!eZX`;cb% zVE;JM9paijg`F4ZXa5HQM!-;{au@?sLa&;lfsN!{R&QKs3;ApGNV2C5Y~y0&eIhUK zJTj1Px+}6(dEcap(|8Y0cA!x8I|hsFf2i`35675h<8E&TA4%v_Zj)s?lCXNDPt4lw ztkFrNBoE>+P`c8hti_88HWX6By#QC77boHHoQ<)1cHrPw1fq-~0Wd86BiiE(_UyQd z8Y<aRS?zW-M&z!`D0qk{af%g-F?^JbuP?Q)K z6iDvS2c;!{H7C7Ga~X-j_9j(xqzrpEd`@k_>=x0nt`Ddf#dtKrHg~y~nYC=cP*+WP zpFp`lP|6v7T=k$;qFVmckAbwqd6KhUq|8K?r%<)YK5+GxNh%TChiVsjIDJOzM;KFC z>dW-Rv<_kDJaYdNH3a6gdpx+9o)>BrKu@zmPQ*3^Yo7QZSA4`EOc+U&}# zqV3x{9lo~+?8tHmR(un_dl$D%XqYA5L^MAKAdEu4B*UP6(awLU+=N`YtWF#DlwDP? znHvHn-5m z>T~=#w@`%)J6~Iw$B1#XWU;$kT+&oUajz2ZJ2B$c>fyI*ku8K{5f{o1Z4JVR~NY#;rJ(rIUr5~&8 zePeXzpV<7LQ4sF>CMCJJs)RF3U*b{054yg<19qayNc!>0-kl?=(whk)QPtZ&qN?-d zedbJmA>65Wndwcve;!R-eeP2Z+iKlk2f4VKEEvM6Z-d~3DST*vu$cD_46x>(`}g$U z)4NkoB};m}5$VS}ckF|)HL)LY_{hZfIlE;`K+>Eg-i8eJ3ZYE@0Aht;pUz^C!)bcT z9YR~JnPpirrcmUSSmIEfcMGFIXswTB*b>gL`ePTkrss+R-1cnIF8942#qG3{wGZ+@ zd~Ge-YkKAs?y+bunl>;n{zc|O+=7t6y|z?u6BN^P*}al~;@n71BAt;w?2YQqEd@0* zmKTSwn+9i+TKFV~9HpC_nu$!|lQh2@kZeHGjJv~$S7W;v0;NG_mm~hzZ6d03n zir9>bcladdlBr@d_z$-(O&lsgd$7(JPuI!XsnZ_uyrt6o$zbaj9DJ7Aib9;-tslbO zjXb-*ZU@W8)ScrnrPVbXz6ou9=V; zIh`tQuTAU~JXD5%Iq=TLNVv-aW#;H4nwifC&YK$jYV=*#7f|AcUjp0eo;3x;<$O0* z{`+w1V6eG{RaIq77Ul#i2q$!NsQQJ|1Rs5n#Kp=ml`3FqvnS~{hA@FZO|N`B55ecm zq7-YH>ii6|rxRB(5=&oJ>_X8J`;UVY3{JkoskeBT)i-K`RlflU=XRm`d<+rx#MfXE|sH+@u-3Ig@vtgXH}oAyFPC)gq5f4reM}T!@|HZj&fmvoXuA z`d)C9`6DW^@nnBYQ|mQ9H>=(@A~|a{>@_1O~o7 z8B1@{))lqRx(!Qvg>`EV@XSD*8R_yvHi?m1lu&=)J%-uYr>auHj=m<)~iJQ*#27Dr4-fu85^;ZmS3?2p*Y?uieE3V4MZKzw$0a-|PcS4OI2n9*gX zcMYuNDhQLD1el|lwZ-pj0+qL_-9>5bFY6K>mv)T@Vo|i7vD_$Pn zE=Wii>lj&K)p~77unyXrG;UrRHQt&IL5x2dZ&*kSfbL70x4`!hklQ0qc)h73G;ih<}jX z9iu?-zgvvy=ylF=X}i0l;%A8WP@+wk_Apu(fbynR@%xd_SU8FzgOu3yckr+tOf zwLGzuj`jLU7v85KWD0+EhGwnsue^EZ%+Q3EJt1X*{g`9LOXF#PlquWdr=6p;TGF-^ zZXl^3I}%XA2bkaU&Sif8C~8a>_9#1g3O4)u*aA5i82~E03oaQd98p8okKYa|lz!UT z4=8_v%753DUou$!dR=WQs_9`9GPvSY(LN$&@j@!5=F;nc54kobz&j@~wJK39Rs zP?l%NLWZLUwp+%bQgZ=mCcEBd7L2HeD!Z%so~P`7$WG6+*Z0`u*$N3(_pE+%$R34u zcP^FVu&9S~U%1GAT8|G4)ofP>@d=W(n~j1)XIyjL15#us(>q^&$2j9*TFm+TpvAnb zt%v7@KQSCl*m}?=hIlZ1hb7s-`2DYwPQ#-}S9ao<+;PIGxzwm#2zDUYg}5-XAkC?% zVP?gz3Lhzk`{Y(_hM@V8LKksIqY~!l2OQ9fWoCL&oR|(}qCQP)7MWz5ib8qUBQ;FD z+wFDoC?_ zC3aA`YFD?s_tk=RQeHc?WThh31|8d#iQ;zO65FD>Jb5c#yMcF5b$T>+V0LOp#mh5F z3Lw;gtq^AE=x6(-pxii-V7hRLq2jje5j14_iT8Cn5M1#nImW10D(QPLE|rHY&(-_Y z?%n)j?cHh!P=P~+oQSpIx zxJ!|#s^NWCGNZ4uSg-|9RUC(LW`fZ* z>12ubH-=x`lN^fA^7`K!J_lQF^8ary%3cd3bNn$_?^dUG2iKHpw+H2_7AJtA_kLk- zg1&9CpV3ANNR4~k{=Y}*V{~^cW;Cl#bQ>xn6A<#?E07xq zLk*h?=qp#=L=3h5vvTl&Y6^lr-fBaA!8_MFhLY6h)z~B4Onl4tY8#n2Bbx5lp^dNE zB19*AW`a%8^1}~inDaBuuaqQz0RPhro*+>*wDfV5?%x`$2Y|^28tK2o>D!if-Ix2H z%lm$_z7sRk&Xe|3JiG?LkAkH`4|BVPa@z*|u|$`)!mC%$A8JG`CWhL^l|JiH_qFK$ox+zzh^Wcz0Ca`h=w@e3o=DZ9~r9DMK_ zFzkQBdz8&<8}SQLRM;6^_h7z6x0{tD(Gv-i+!;st4X(oPQK9JxI!>u=@5}RQV<&Z+ zcPzDWl1a@1a%vOEYeI>W1@o$*F!uwdWxs;UWsV-$|2YA;f8K{X{C%z7QH5Fey8Ms&`BxF2!}4G4=f}*Dm%pcC#q41I z28`x%ihtAKn{CAhw{CyDj=dX-H-U(ba@0~IwfBwLSLvr=~bZC9Mgjtd=x;DB0 zb{nrxubiNl<+9kjADkri>EUgbq;~@xZ^P}O(V@ngQ zV#*VZnQZoMfO5%FTKbW-^zBr%nPmr(=8PhY?ZrOZ^EGsMfO$|3(l^_>Vo{mGqv;jG zB6&k^X>rwnBl38kxM`4KEx}8 z=w+pT8v6OG-b18qD=Zmt5SN<1+<Rv z=h~V~PnBAz=&e|9Q9W_A12J*%UXKjvir+uXT@VMcUEvu@IOHNjMxf5W0mw@-ucA7 zG@vPeEYn6yQQECEGamo3$%CnNUgWmQ1V=?LoOD|xIg0b%QweyWdUV!PPT?QVz70^A zUlQ0Y+ZwTD%nPK=<#cV;JAK6o!Y1r2o}0b`w0Xgs3pRkHPqGFM%}MX}lAMmzXs27p z1iD^&dWZ=nx}c3`>r9)r4VHS}_axG`)hIgYH)tego+r+VUENd5YHPFadbT;-^N5Bm z4~$-N!qBw-!vSueeeBdu&$$02nRND4WyL;}@E)>MYWaw~3#Z;waje);Q9-(frQS)q zvlrOv2E5mLq)4d7IzdRU?e)SFPEj4x*?79bINP942o*6A2LkJ9XoyBP?6v3UD%{n~ zr(D?4ocB7eYQFrO_7ow76@truuQGe>v`6kMP&a$Z?w_fjiodOd1a?e9bLgq~`|0W? zJYbvm2Y3yc3cz6PwxA%#CR)lnmIpVV!tWrYypu__B8AuK^&CW;b{oV4VwsgoS?DYk z(7aRCf?{ale+omj3_8~lOOpxCiL1@f`#nEKFNbeBzeG*8unc!!$STd5z1bQ43@_%7 zOJ}lkcyarn7ZhiShZ>CE?Z$<>e@v1qspwp?e>ZMb~=2qUjO8JbNY08bB223uPkXUUqE9{ z^S;j9d}MKNE6YIKXBFMd%g|olma6gRvmJlF6K_)lSk)5v^GhhX#+^G~iwt4SXv4O) z^o}ZZtoc8Lh?&Dbbs2qs1N`8`fidQRiy2PYcdc|@OmGy$)J+fH@Sa(z`Q}iE+|ecMx_)lc>gFcj zf9o}n&De(X->PV)W-9#!p#rSNX1~Ui)o2GVkin47r>N2Se{KzKevMif;{UQ5UniV2 z54P?0t~a{G=fXFU1{V%@jRn@Uvr5g$4b~aVSYuB43`wZag=gxMzYFYb6*Ya7jo!Tq z>;9t$^z2dooF%g&Jcqe+r|%{ys@5WMgMCQmy1>EL^i|3#%`%1keWXRPpwT;3=B zysOANI3D)j$|QHrFNMo+DrTzpd$!Z65mZZ!$t!5MEyBayOoC65Y~LzQswB^T^wr{| z!X;OITIi#dTcOzCpvixMYdYN3rcyoQzb}(fPuai7(vbD>Syk?8R-L>$NJJ><^?AU^z&fYw z0!M`~f9KaX^TQMZ_uYIO`iZYqzJ zzZC8|b{}}cm6ae+*9B|>V>V?sa%wa)qHkUsm!;|I9G>G`i73|Yj zSxGvhyKJg9gA+RRgXdVUh27X4?0{(l;+xMa5T(;%pQ7h%3ektxIpJzT#s!#=4v}OO zJH68)!nN7w(y|(`mcPh@0ZT`R*-i>mjn+wNY#=&jG_ZIPE$E=bR&;}JED-HotVY7A zGho9MMZEh_!usYewR%lYm1ezMJc6xklp)*;IKQyT`fDc;aKUgxPG3AVuS2Pem<)7+ zVxS;Ilv;3DPM!@@4-`T|omYhZ^x~Bqe^%99r&|@5F;01%G0uU+v1k^3r#pc6ovv-l zJdD7T?Mcmh-)y#C)VjquoAx?0cvZOn6w@QjCjYxDrV!eu-zML>;yDSvPx1xtrGFD} zU34^;`SPa;S9Y6f1tAQ zbuwX`e==dQdWs$0*_6x#s`-+(F{AKr)WUssw8u+{y~vN4@C014VF2&gp^uuJtRAG4 zxcLotwZL5bZo0TH^1v}-`=+vH3hz-LGxUDXyWz)L<+(eX!(Bh8i0hXCJ!nN*j(2qq zvtVh~l^>$NXm$Gsdi@SO}^noSIH2VsQ>5?=br6KCsk5%0GAyys&-I6^8BEUBETq*JdcqjQ`+x^@U7Y zA4b$+DMb}~5qY_k z7%aSj3h7K_!xet1v6%OqB5exu8+vAU&|2);p*MPd@u7_WY0EZ3YPIY&vNNPuKnSQpT})#@$Jabknw-Gu^dy}#Du$R z^qd3LX?g=xm7f4qC-P!+3AFMg;&-jy!v8$hCUEx!ZUV1AV)z7FNCmBC1&FR0JY*LR zh36GZ-Rz;sebRPy>?rOLdbA$x6Ye^Y7w=~ur#D4Bv2gUhrkDL2c-JSPeZnBX%lZb^!%|t|?CeDZbYOnlR#_S1-beQ5E<>)m{Xu?B zV4+k%MYExdfy5ndrTje~rpa5pWhDlSX2Io8JZEP?eRjUf)T+PvqpBP-DkNuNf#w`G zG|BqM!&KK%`ezi2sF+75?LcujMP}(;GZ{ph8>@DNQ4^mZ`p_uuor3vFWUhq0tonlPu>IFWM zA()@?CjMC!>D*Fjx^IrZ0ICB3kPY@(kqz)I5q#Nt)sOZJ38LY!C+*Uvfztsxv1@>mLuQnGdpCbB|D5Z3yxB+oY%YH zgNdqGDPqRnmw9sI@$L0c6JAf5Yl9=owrj_|MH*WA4H*sJ zfYRxj4ykevPa1b)4h?uA3EYn?GKMX=K)oW4S2CxDUj0Ax;h(9f14Q0Q(oSKEm)P7@ z0#)sBTg3cmdZd;IFL;r0e?P07$K`QOwDb`bXB;$EdpM+8a z#SF@=#PW2d&)5(uJ_mC$%KI$u-glucGcsa2S_`%XJs4+EEdS))2uJ65%qvH8=J$9t zm9~YSDNC7eu4nOE%@IC+yh{&KX(JI>z;C3s_N*=NHVfWZy1p(z!!SX)KRa(JcW2h( z17#JFI-c0i`85-=a4w_A2bsoVlZk%EfzGiiu0u*{f&()H-bJorae2&bizKy{(m`g7 zb)OeIQ2EWb;z$k4<X!hXrt4Q$#LBbP43CV~kzQ8WGGuJ$r>MR61-#u+*jG#`s-u5#5p<><6f|u-Kd77v7cw9NIty+q_R}6E9u3 z-K0=o_9|Q6rBscvtrE4m#jO*({q!=H98R9ZGBqHg+c~S@o_e_tDrf`0;hxjrWO5-) zor*4$^PD_OK^tC@=j88P3mpE^F-Ueak`3jP$6-viC`@Q^QopvJX^VHlDR&1jg;QfY(M{reJXC z!-r}^_|%uq$= zL{pL%(To#|c^h|QMLTqsurXUCPluRuDlM+WQ`sjNQ6R@JC}zsF>blxY^gya zxW796djI%9@9W%*J>oEg-(M&T$(F=2CvEp`3Ogi6dE)TTU%ahz#O?dM9@wM55n|Cj zoGdtftng#2*J@wct{cJ&9s!kV0M*iJ$Z4sj)LRaM80+ivX3&y(LewDb#ofc&8ev{+ z8F+yngJqyj*LXkL5B!?vP<##`q0WfvBo=Y@x8{4*p;xi4kdMOz71`>&ZL-y8y2zJJ zFk|n^)6^34cHiGL+i5$8mo*XO3{Ay08D(E4oR-<4`n>r+qX@(^+t`5d#m(NAt@5%P z&KF-rG9XGec~6q)mg7UOvCQr(*dqNN1nZeo;t4*30~7pQ!t}sA*G^1ZU=-+CR$(>c z`bfMp@Cusg+GI>+DCb%j_i8P!=t$V6aI%jEUe6+f!fDBpPGC0VOsL>n46xQ!@`aCyvZP)wl z#+xYexc9K$uXgWJ{Wj=*3oC!=|8Tk6^!^F=E;`R1lE>EsSko26(K;RD{R;eIs6zKT z@C>vtapHjE3f+e(c0!)zASudP(`3%<_{thC(Z-%lc|(1jy-y(V!rjve1M3zH+N%8| zZyLs1MRfacUSuEkUe+5YpK|mHFYz8z;`5Gqri8|fx6j+4)E&ljZ9Z?)`%(u#ZI9io z_v;Mznf8ir6B5EpI3&*g+OpB!=F!Z*Tn_p;-=3O8&EYw_PTei2S_ZL>0o=2>H z3AD9Q&X>smcLWBw%Rj-o$&Q(=)pEU!V`f)>(k+_E$AQ2o$IP_II^NgAj&WqmR>EPz zqQ3&3{sXap+WaUotUF?pTi<3GgzS_3WXwin=0V0zubI5N`s&@g!N>5mKQKfjN|ec0 z??eqKGqZHow$w>d$U|PS4WaD!*kFyQeGToaKM|thSRU?vGB+{o|8KE*As&}nyvJT% z^^PScA5QVQ!%)XTSc@sZw4)LIe}YA#bar$n^&9wyRdcp5q9j2-kRd#E^A zpyE2Fc9E{&faO2Rnw+}Ng)b5qM ziiKlwVEPar$8X5*hj`~J94Srp63u{F7(;cmpqh7!b*9;AqS|fV`nTBf{DG5qn9ROm z`z}N66p06&-RmA7-pQYM7Zn1&A9!!`13$6-L?3={R_EY%*8~T@z4#*Num-mGV(*J1 z9T?LFMkvRtweD^8&H0{H-W+ffqe%!+~pl&W9y(_Ha_##mi>Vp0saL?FA}qze~A>Z z7i|oRKK%I|dQ{rC^)RFGzaXb@iVG5Dtzs3SpiG1IRd2=!2ZbLgL#E=d<6%DUiVy>1 z!hf5Vv;P*$f z9)AuAP(no^t4O7fp>%eC@~#KfaGE)psm{ulX7$FHl- ziS_J%cBxkR&Hz%K{wwXAPl~1i^;(ZcnpJF+61!>tlS%Mygs71;=YGzdrvGZd>{2U= z0Mb)7l|0teRYzoX?q^V*W-M1V*Du6otS!FcDpb*uGct$m${lQA1RURnfKj*@+SkDi z(J7su?et#%*up*u?9&3+9gbE;Cci^bo8SJg=Gya)Wxo5L$-OI!@Uh?b)ASd8K6Ati z{9s|t5M{N4{u?gAVh2BDpDLhZ!KMKdoqa?xN!D35#tL3i`JSUjbpBv#>m|8FPlsEott_+oa$7koR4Go-?)khKrF86 z_+Uh$0{_HV>6rVNix4rgM@650DO#|px@XQfRtAOy>=m0$%eUz#7cz_zHwe79mT&CD0 z$NwEp3v2wJ`B&q|R{l}P|JVQ3@xNt00Tr9h(D-Fv`H=DN8XSMyIC4;~g&h$%l-e{p?`=2e{qV?Fa2K|6i(c^A8yQ`S=g`=;Qy(|LXW( zjH$;Jo8WHV;WD;-$oStG9RKbi)5wJHB}8HU%%txc4ueL9|bC54*uACZ8UuauRPdY8-(LhVt zXvMP+y`LL5ee6(Yb=gwiEZcEoa6fYeMkjwL4bVKzGL(^ds;K{_z+XxLNpt8j{b_-^ zqGPSxlH>wY{{{0*>ACTYUR7PbXnOk*QF$Y|O?!Hro>izL^7M-;?sqi*HYU~giH&M*Xk>Eqt1$ux2x7{d~JEw*FC?AR)-XSXt75O;s?V(5Wt zx}T#-eZcdA54a*=8mP|vqJtLYqSF=Cd-^r4Ptk&hYQp!Z3#^Tcq%b?fP%lXgC2{bc zCXgn}Jr_^*TW_QGs;mFV{~h5j#d~4b{?D^DHuFk4;`!a~FvX8(Tx0zSzbqX3EDP}h zX0qBeT`ipI)+cP|3gJ7EO&)(iK^Wkj-n-YBH}Y`bk4lDYzQ{3+O~T@}mBFOE*$R9*gL`1(GYTi{QxZg84jo&Jq&3dPbN$cP$IEIT%bnoA=! z>EHDq2tPg}J@$BR>MZ80M-f-4vGS=Jz|+X}PX3nxlEr$G7%;u79;+_j=40BnaL-MK zX`J48jp-&PuP`mvbG{-Az5ISG{d{mN-^L`2OPNq|Loq}0%YuNR9SF^Ct2&fzVPw8s zcpAJC><>jY<>66k1FQJzzOD{{q(9Jesj}V3MThcpVLF92c!k=AOR*TZ?JK9AqCw)z z1wN6+TWm{-{Z{tnY(iLj4!1@>tq<5;_Tpsqu$5t{nrGj(2F<>GyCKCDOKZ|DOvE0Z zUtgs-js=}tqJs+gW^evG?_tfoVrlkF!GiTEh>@fBHPCzBEF8f+O?yhtuu!kfK}}DC z;v)P})c%U#BiI+A2|H>}+!}x!Y9B`FyR!#id{LkQf_XX<*&NL+_RYV+J)IL4&9TpM z43w6WmxYt}$?@;q{#34YFt32FE3Cn0?FkTsj0tO^JouL7~RK0wi>JT0^V^ z+hX|yz*8s(W$Kbwm~RrhU*1lJgqXyB%8M+D^Jp^rAH1xW9eujqeono%ejz|o!Nc5# z6u#c})&-$AM33k=8{dP-&MF?AzkMSLn@Y@Wg2E_~$QJ`7iwl~Z{`3wD*YQ5Ag8&b6Y*rXlYWiwxvxpQSaaW!kNS7@(k4tVmVU81y;BBH zmXw887pg1bk_zC$_o>p=G|sQ6C)jX&r&BDrebMqw_?lXJThTk$$O_ZJMUowQs0??Z z^i!gsCjA!LqR&m(!b%9r084(p*I!3g+mRz8n>?XKv8d6xcx(;(FrkAKYZK@ubYOhV z>HahtrEK;gRh_|Q<1zzQSMR!0vcIu8?4TWpEnb|xa}aOs{UC7Dr&oGPX^E4sP{<)B z$6LO@OAHkFF(_}`=eLHbY*Bdkkz|-;<<|Wsdm(vq`UooH7e}EoHi(+>XW1nSaOO^I zS|;{W_rnEaM3+}|*6W|L3GL^iCPb|!abq~eaddXv&)Qa!L^sHbqZ2?AUvPJ0)X+`B zZyVreM=Z{rZdMK;JdOtc1%w0OzBw1hCHgX7VUtA;sM$&?bo3oeZn%4^I%-yB;HB_n z79R=<^VYtZ520|H2qOd8={5(9-F7%ZG9MFFV8ze^-DAlcOhrofuVmk|-IqB45fhfl z)`o&1SdzWj=9Kw<)!VhxpENmj27DO~yMuI*y_0F-^dvrKr&=EBecbEiyKMz%K9Hez z>it;v-TMwNxUgMduazM1d*VsgH8c6y&HNYO6Es8w{Xnc{zsr7z2swMQ=7dJhQ>AAz zrU0JEOJP`0!enPS-Ag%1N}BvLj}k*qWjP)}9b#hWFA;AlRcSmv4>2@OD|CN$vP}ER z=)LxapU32QIQ?tBWS{0g5lnWa0G&3zU*c`Ftgxi)j~FB(N#dZyyFHhDnUZtH9zkUmy&5aGUO6HC4_52I++C!+8{C>9Dpa*N(n-bQ8 zme!UjR7ZbX5|Q@CM6$glvbwH0*%)eXtZQg(XlfDWFBv{wWbnY^c7j#by*}B^o0P zX=Q5z;|Q&)yQsB2RHOd^s|`KUl3cZ{u|2e^sYRdk|DK=f+gtg>|HD7|l{7c52C_nc zx~3L-Tiejo4xZJuG}JY>wls$Lw;YV1{rc8;?XqM`Lvy3X*BEMPt*wj48{0t}9vfQg z0Rt7-n+>8)6RMs!wS-#Rn^rWn)HT=EwXaw`m6^CCS=a2(Z+&}h-I}^4u(BP@qGo=V zw=?&8Xiv7NTY7YLgz8rK*?F++{JQKs1lhrimWB{h-`=_=R9D~J3Z|@Rs$JLA*xaBg z(u)=5*A?a=C|s-2fFw<;YU`UBqaK8ybXz~}OT4jpISKk9p|-ZYu_0M6bft7-V_SV| z+d5vB*EY98opC*Y!!1x?E!a}u82nnYK3i&SD+L=GAw*`lUDY>T+SuwEa7g7EXsQi7o+;#DF%)pAq zmd5tF1ZbbDW-m#OdIqz&iS|3#-WYF9wlibmOZ3N2_MzMindf&h;7_6BB9KOepU_OP zI*0S8hAwVgx2CndAs$(kgaa>Yj0D86Hx?HUSls1Jr{oZ)aVS5;w+GIBCja{hiZx^4Y4k2 zh2Jz^#5{zWH4ANsineCuY^N^`A(#~MG1P83+Cg!OYt-%Wwq~ktcV+BFBpVkugvnX= z;%n;K>Lqoc)|PlPEIM>4>=6b^;_}w!hEQXR4amva+EvH}#u2Y?YT}o{Hm#~_=BcSc zGHrR24TC{8wl~$2+(zFVR9Dqq+-Plt#I3-tI0(Sl6OF6lp*FMt{^Kvarv?(MT31UHi#!`cafD$gAp2pW$J7jpAqwgN!fYWA>V}~T zWtK0e&!C=-*B;v2Tiap&jcWuou>&B|5Nf3tjB@6JC9&A4Asb+bPl-r;UHtfXq5;w$ zBv4;&!o1pBS1^_~G2a>{ng*ad)B_t_1n5R4H0&Fi+uYpL7H^6}Dv9b(bwoB&h{PZ6@fj~!#?d+;dLY^BEU!&dXkXT(6lc)A<6m=A)~mw2I>0epO@ z=<}%|(|2-Q`qYZZR8+;|CoB&6#d4qOA`M7c)JL0>yky7OLlXo2bfT%?O)Zh2;o!rb zWhN{+e!`N_!ls4LVfOV{g)y7pyEex$y&xf#`79BDR6brae{q*1iRJl8b{ zUFq+>jNYWF8=F*HsaZ%6&`;8#HUZ)DqCW#`9{vVUm0lxt7(F%z^f(oZfjWR2t_Ily zLFvyy19V|(JUxZ%oz%}y)TE(L@8t_^K>aqUrkUq3xuIDYFln+Ia44BrK0UN(U3E)S zVo5DJuzS=K6YugaZ>~e*TzHCPVGfUgfnXK9?`6Rx*x7Og_7BSl#o=d7YvJ_bsP+uY zQzlWq!BeY@INX#`OEj69%#Z2DwY4VFOo<|gQ_YqmomhF)hLB~g&06i$G33@b&G2C5 z8jzzbIJEd;vV1@d1GnWw?yhV?xTut2Ia;Vg6B~s840rL#T*z}7e6c0oaz!YXCVI0MgiqAZTy0RhqTA z22fF3Zt0DLYDLB%b^O8j!Ul?_T_l}=5oa~fXe~^f>DYyI6-bX#%Ni4F8XH^apf75* zYPY7OXilW3II|7wm#r!CJBGsb5j*COb3tpQ4koj@ad4I*39S*^>zYsupvb`<(s#6- z23w_0icdCid4gN6nlhXZKhaG7OiM>LVnbKgz;g3C6y8Y~PW{EqhM!xD;tBCU7bb6_ zwKcM;u4SDsmep6k%p_Ds_$82>&@eePac0H;6M$K1CE9Ci2T@dAahyIf$vQnDj@P%= zH;5532ABlCsxx)I!XI=we}Vh2@(L8e`eI_-#0~^p*S?MsuQLo~J<-6LU#gA&7m(TB z%UOps0ux~>5-b%1f)4C8pj~8v@orafo^2${h^(xG2nIRRAR!7} zhcH9OEs#F^9krw-hj+{CnwnW|EC0&6_J)X)sz%1G@rg&-_>G`_qa9`+W|ftgZw51J zw_KsnzJ6h$TzubJRur|T2W#DP+{!spVN?`9evdEv8gq{fFEAHF6D+V{(q5~Ze9FEN z{+P}P_Ax|lZS5o(HI9oQO#F|^u-C%J@1@ATR-cMA2_SKea}sqO7n$fAT_)yL>*wS9 z@&4E2Sy7r;j~o-3x_0W+6Q{Z!DrfMg4(>UAIuoZN0CZM+vT@&i4TyVYblZ z06)xFOvO!r6m~PTNP0^#qXIv}@lrvDe%#j}xkvIO)o`3~`Szr#cL1Aps1J%n`?|qV z`esvu_(!kE!0u#jWHE-~YUw!Y?j98{z_4&!WcdI4e)yOw_A*R|upf~QmXWHl_^Wes?3U1UGKC15U%o$*1JepIG`J$1p3VPmcdm4o;YWAVf|~bdu1xjO6vix@K$^6Tx}p zyZvI=ZD`U0okV2eMBo0Z%>1Eef^V(xe19;~3Y|qZvJAs1i%t8(+{~ImObU+4>`J-F z8EYe~1{x#DxYm&V-(K?j7Tuwl_mYog?!v_p%m@)@^&L`RFZriTXi_C~BeQm5mQl^D_^{=l7G)e6o-A_O*T^uQ^nM)W46o+njf751n0bz*~* z)q*Nd->5ym<@}bj-4+iSoCQtX7EsqkG(o7KQY;k5peo|qk$t7XhQgBE*_dl5LiP0* zuR$8eSx~QHCDyd83G3cEmDOL)Y&^`K?AxFlYTcgIhv)OR7Cy8dm=0z)x9(ZxTd*cv z+5iYINkZ!lkwBQRya%T+0k$M2#IGbUd#EG<|%F~ZFos5w}KVhDwbDG(!!iM z(BKoalc#X(y&I89()ZQf4{1%R@L)d^7%StJeXoOpf3Tx>X#)y9cH73t3W%m<&+^V- zMVp|ln*P74%hw%-YpO!DeDzk_K8CITDr25jptP6pi8$ zSzJL*+8SOJxS6-mo9UQF4*i3T$|VBPge9l?)0?-$n*&=wv4cCkWX{{A$n9nL>N05K z?+6R7xvxzt*zcsPIaO{hmY2W)0>j+_jR0FvNt=) zBzoEK{}J~ka5Z&b|F=1ntCECJ#-b83hvw3(fe>|@%T;MmDny15GKWwyWUiD-A%qZa zlA(c+Iiy1B*7<+;x%VbLJio{Dd*AneeU9%r`|P#%+H0@9_S(}a0P!$eLK+9X@CXAK z;^T`EL3_jd;mOd;eZ)w09Q805?Y8>|1A;*yJy5|o6SLw_KYqg&$hkfGj}<7on*m2e z7VUEjbO}h8LASQw4sYQ1{HB6~QBXlCNNk+Dq_jety`6pH`0rvRUT|FFjPPC>9|S?P2w9Nfd%RiPr$ig*;)`4M1t5I?OG>CU9K zAcLbdqXDKu=0QjAN3Kmdi~&+enDhTt1WiX_y>f-|M<~wLR$Q72!dTRbV>R9SbonI ze1E#*=JgswH8uSMG_elC4p>Y)VBXk~Zn~PNJ~k%dH8ItxN%xjSZw32g=#}~3=h7aJ zzn|uBV)818FDKquhhDqj@2!BX#mM95ZF2Al=uKMCAfjW$VdYKF3Y_g9E+=ma8N!0! zOXjfIa0SR6?2kXj@1*~Lz2)_sA!Hdr1bHD#v z4~4IX?em{@0zLfW`A<8N)ZgkAZ@(2$D!v=U;BUeDbA=M5@TZFS$M%N5&O&dOgx`j0 zQW?#2bV%DoO-FcQC*6OX4;tQaU4)+|k=K7*Px;M)3T@>`Zxs|28c58PU{+qxGm*sc z6Komiw0g)J7Q>dd_j7-@%1Fl+EO^rvlizPnX-}UwHG)lTWP4PH)cN|rpS`AMQ_wN< z_aLaK4Yuc7!p{D;z=-_V%fu_s-|APp)4*Vm%E7L>P;VbW+e6#>#mW$7vk{Z55b=I6 zePqiaF?}5-|B0M=d(rsO&=33~9`THRv#9lB%z_f2WeZFM9J8TxN<*>Wh8_o7TChgj z(f=V+GoJKh4q=RRNId&0;Fn)7=#f+>W2TCmiS42zL zSoRRqHC<1FB*=il1uH4^z6TcjOsk^l}=bb9{PMgDkl72d08Gl3&r19RK0`GfywchFw7e;V;bCk@aB=N65qs zZ`%oO+I5?3(Ip#RJp@yN{Mnfw>oftu8raGpg_RDnpGmOkk<4DHU~h@qXbqL|{26{) z#y|Lg8E27QK!VjGqYm3CG&*jhkn&^)d-A66e@?>XpC`fVO88B`W8!KZv*k1Ti#9^Ercv3@qMtrGTF|VC%bb} z9a+)}2@m<3Bs)f>OVnNjddrq4y|;s32qLZy1>kcQ5R4Wc;-f{j4w_b4*z=eg?^iCx9#Bfb%>`=UbQbW@tXf1jRQNSO{d_o z7`DaNUC`d>f)E=|7ACQi4|B;L$e+aLbw^Nd&++5^`m3lOA2?|6@gKjDqeknD89VOy{Q2{BC(p%i!v-T`KT|(Ha|=J-&)&l^ zYG%}|*>jxd&U0~Pxw%8K-afv5^VtjhLqc3I{}Z|>EPQc9WYm(S%c7UBh*`O6^_tkV z>(<9@*tjWv^OmhH+js0ta9Oe^aqkjcUFQQS2M;+rM=}`4Pn5=>&?ExRSTz9upsk>S!NnGKHtrRDrl`6oMgDVMFG_Gn~PDfj*$bx1{2^h=2C(r-w zrH!=Sr1H}Kr)k9^zCcG-7Pe6@@i+GV>6LV)jbh;XRs3lDv1b)roP5N=6^nQ|xowml zPE*ET=Fzxb;^FwbHcA#3NyirPT(d#Te@E_P3x3X{fd8%lhlYQZHwj~a?hW#bMI2jx zJXz#R@)yv&;fFKu34IdAL41PY$WIVPo?Xc^(qjM%P$mz^X&A0r@OlbYAg(w(x8bVC z^&Hm&TsLuDz?FfEi6f;C4`qpJcV~1sZ6!jBUW+jdH!Ow&!-&CVu!R;1&1TFNA{G|E zx~YPji=hm61`C^1>6KNoDH02RWPHoJ<@u8&u-)yXW5eO-5KAxwMn{H2QG8Oe#g2E@ z1=M605idpF0UiVqH-HyJI#S*p`ehtMp_$-s*F;3YHh5k*TwdM{Z$}Kx?}9*nP&+km z7{m*0pS-2h<@;K=$Jm~1CBX=oH&eyH>^(V>$0A!@(Z7b0!!Upa3>I(6ljOzo6G_5k zHj5P$grjIIvg_K{omYA?poaJa4_K_hj(==!V6ccRamzdQ!@waf4Egbn_>N>NJ3{Ca zUzm`>^U!#SJz4SP4h=THt2C&GgDT|i|Z-qEaD~vby z$v}SeX)eJ)1@!H10R~P;g14EMMeqAzuz1HVSb?Gbi|I2NkOh6H2QPU0ZxP)ad=mK! z)Da?t6R?0Vgynr~QStSLcA=Q$SO=X6nR$Y;2+lu%5(g^XeaOK!zDgo;yM_??&??D0 zT%z^!>B1-77>qoU`GTMTvWGax7sn7urK1KQWm`KNb7MmXD}8HYLmO+;X{L^L_>QW* zjirsIgR#AXriJk=%?VDUr)!S0oIPH1hS4ZnQs3U#*b0Wp^eDqYD3r68lU5R45>pb( z$>N;nq^Xpw#!VjQLdo)y6$qfQBu=GdB`1xOOI~m?R8=_pIO*giCxerNXjzDiD9cqi z7ZH|6zsXhMWP>E1PWA!^j~DTHk#mldql)}JQ0{;roR1@CAu!%0n^IV0`iTr9ar}>* zpMa9_UW7j18>hnAkG!J6?TV7+NF}XglM1rW0`tr9Vv~jnvQFnk=)e>wgU3`RCzHhG zoaLM=iBZwR02ec>AuecNS`5}Se^PB0o{QZAuqVI(2i-7zfhs1413SM93BkymWuR|p zK{RSH!$BC+a@e2!gL(S&2GODgtf2X!fv70`Sysl@4lXvf4mb>A&tMC)h&iG2;M3w% zX-EL7wp{{rBB69+a6$9MCNgp!3eADE7hg02Gz z1AjijL6jBZ?Lvrg=8x?8Lz}_oW%iF4EPX2*M{w$Zqbod%f;gCAC1<$E7IiyJ#d`Yt z2KyNB60qk5yW;>Y*~#p}T0q!zA!-~FKpJfT*(mMOUMdKT{}Lx?8T4=w>C*?R9E8K7 z*t9-o@v4<`zGOWoO9l0o28C*W$fN5WuhOBLPzR`8Net91zhu1@gQ#;Blml<@4tKN; z6IBt!;-sOzc}Jmm$7~#gSUj#7^aKnk1q>~E8hXZ=ND_;JXv0Lrf^yk88n`&vxH#Gy zK}v!^{%I9o|3v}5M6`HIOcm-YRBMzMgJooFqVH(w;3CilD`R_meN*FhyB;>tL5vrl z<&G0hFe!`aU8}HEv{WH3Pu?DPGB-qYj~Fb}CC(!AGj$0KLS-U@A6iL5+EtXCbXzP? z%TUffH2NIK5se9r1Om%}n9z!{`7+Nz09tGwX>$&{xwQvwn~mdeTswJmBrE;u|VETZZ_QSGG5bPu=J`VKKt&da*zb@L1C*67R6Gu-%9}027bOcUr@{ingYArBK z5G=3LT7g!z8j{ZuB z3^8finMB!PF^ES2yj@iib?EnZ`WSt0F$Fb`EsLqDED>r^JM7jL)R z=(f>=uO-bLW}lNikr)+P9z2(Wud^f(1`97MuQSaw*-AZo#LhyM}~%8#t&6}$j@?%}h-$${dS*jpL$pE}NiFKxMkaW2A(u9#mB2mTtL79NqvKQLeI)TH)d zxkdlt%l_;!{?^C&$@cIEAwSB3O^ooWNzcG{tceTr<8?d7zaBM^H94ZlR{GPdU962A zXn!YQJ{dm4#V1XIG$pL6kpUnXKe>?e3jA?gD2~f^c!~8sdeawwf*m`jvBMpPvHfrl zi22hIp}J(soE~RSA!&A;yy)=x61*X;+l3yqk=zaWgPiHSF%H^_;PU}+L3quZZ-1l6 zz>V$%-i;?*r#f#5vf7e(QP8H8*?|O%o(ZLf8nAtbDpT`c@6Tq zH(>oow|&V+>&lrzE4FPkk>#k~Nn%T{9i?{g$)z6icG*w=EcfC=#f*hVL(U6b9M!zF zWpB_x)9f+nB1&!sQ=SjzL|C14z2^O{enpW%bg`M3eC+ED2Xt=V)DCppd&MfDe0rC0 zcF(f<_6Yu*VJPf$O*CHFH%=wV@K#1mZKD2T#fs9sx%Td=TNOTg>gLA`&u@_n=pLM0 zIzeaj&K>Rr$Jm4HK3+NT-0toBKt+=Xk)@uKH&48orMkMh{>){YLwZ!!^Lu%{{oEw9 zHR}xbuUgTy|7F=}Y34~^c6S|>K4$i%xVwGri(I$A2r<96Q2XUd#;(m*wp2~A7{F4H zNgJFu$52UMxy1S7Hdb|EX~V(!k;~t`*X@4FC^JRgzhUHzO9wB{pY+0Z#J2g>TQ6t? zJ(RmHd}(HM{Hi8Nl?nH3GL|e+($`z#QYxzU&^<>u{xkRF_?QgMWpZCvd`mV@O&iUW zcwI2MHOVf_PVM=v@PNQg4<`r>Nm;tpP3G&sCqvTHcdvbAa3naH^P*DS)#a;yeVooRC%Hy=s5TmrL5xYc{1>_PEu*@KD&8m~o?b-!EjkZk=I%x6iAuFP%d&%%#No zOtISOvia)J7kMkPjwqCw?Ebjr{uBM)9&YpJejQTyWu=c%hN8y%iHGAaEz!B}KkWM3 zZ3`SvPI~!LPVPXMr&#GC~-*$a9TlH{Jx1L)cuQ@WJp=bhJP9OgL4cX6sYHL(ApcX1oVR-C@E z^BO~cXv8q_tSPIen}{q^yl=|chYvD7{(8}I;mXftV->R^E*$P+`(4M1I(0oz?5(5D zG1kl2=pkXnBLc-e=ZxE?+IVr$-X~3GA1^#@T(kbo!=yp3-pb6OU!0ORtx;4h>S4E0 z@6gAC6620Z+ZOKp+;c|hy#22NLLP+-uNW;ld2h&$#iO`Gt}5kaF3+wt&9^#U*7SU! zr%{o|H->ldD(lzldrFy!969S|G^YM`_iJ~@IXJ9OsH_>6v1d_m-`f)9zU#K{yCyt% zK&^4Mm!Z7ToLt8T{S~XcQgnAWzTP@&_0jI33Lo-Y4^H24ZfuVUAFirhIX08c9`KrD z;u*T_EinK`rPo^9^_1V+qP(Z{rJCb2%Yl`rv!|Ly_0zdCYW>WLUIU!%WB+lykBzkUl?=f8Q^x4rD4^CZTlymUZhclYh4QpQ9n;qwum>mDvMsiQM z(B7s6!*m*IJnnv4mhDyZ^?NvH{H>CT^i{*I51SEFoT8*LZ-MtJ#~Sse)0Q4V;yr;j&gExISsvf)mm+MugFywVRdtdvf!6?u^^&oMu@XP?7H z#}loqDxZt*G97t(%bjIT`Q>*$XWK_h9WSy^Nz(6oe%q!I3j4)bpJMiAn8Ye@OWzAU zjHr&?wVd1CT~XwfJu8+ur3ddUE!+ z^ST!GlNZ;wl^M0k?a%~qjd_FjQs1-`(myXPG;s>Gl1%Y^P$A{!vRz@u<|F6lD!nz) zkD2(%Tq-0&y}wK8fE{vbQ@UPWK4xXyej)PZ9zd8&n2N*_`)z=k8G#*Ph~TP&pKOr6TvE zY*2>xyegHWsv*Nw0yd4y%O9dUs(!pAw_vkK=tjT(ALm|C@a{e%ENDCx)v`#`)%DQH z`ETE!aT)r!x5KHO&&NdZVX;C`(?R8ApyjrOVM=$q_WxxQml*#n4d$MYd zLZmqf&IX?nymg#k`gJ z^+!n;e@qvVT@M@AE9|LONL$=DadN-DA%Wa#ZY!tn!S|!8HM|_F3x{X- zwLILlcc{dt*RAVfU-!7~*L$zI$?L1m2YXwUThExq0niyYDuFyB4N;5w}<IS=BmphDzwM<@ehz zxT`N3Evmk6>8tyS4L8-TU#i`|=3{eTYw$_+!>K*B_ILSG+H>WWQtC#aR+y1<=?J?E zT1TEf*0R|$sq}jP)3F67twPOIhJ_|AD2i39t_cnNDjwSu$%>U78xxw4Hz6pwcf}_4 zo%x$CmCp;BHZy3GoPK=JuHtV&3zzrU^j+q1WRQ}|>gMgHtK}aZirnqEcJ*b$`H|*# zWFim5d|W+@>9D-}>9bLL29!hv2aI0c^1OdkN@MHt;fr@KzoHW!Ws$4nbHDF{?auM( z+cT@|eROS?ZTB$Q>r;EH*++D>()Kv%16#6==><$4Iy9in@9LJhuiplUeU{#`A&R}l zbL7T=5Ban9c%|lfeH>irCGIn2&&HSXUJn}T_RL$lbI;k)pn?0~ zI__|?o#^mucC}uEPJ6tUw9{>UcRDk0!)fQq0e1J(${at)jZ5`Rv`yVmlHn-kyf1aG zd6Z+>^*)Z1*L_dTlF)LV(!DtO?7rj4^Gc^VKbYs4ywPlpv-s6&=Z~?%$zEbPhg}ZN zp7T(B@|>w2PY-9mZJ6_kk~{1jwCM1rsoUmAWRUjXzh_R^`I7OZR&3OTQV*Zx!fkKPJL|d~uqb|h zIpkzcmHXWB!cqY;ef#c@TQZ>Sf!i47j4PjaU#NWLHzohEv`5OFmYS#|H#qKT6Kq8` zIY}ueq^^s|4KMUO6>B86`E9@6t9$Lc`f2#F@}`Pm=dPa%Jj5}t6IFPk)JH@sAyU`o zvd8d?26+Y>79Dh4^0m-U`9#H%T8-;3jSfGm&m59-yDaKR`CxANnVv=72Va{>>{%_Z z6t`$guG#a5!!Gj8*Ia{>9*4!Ki1$lZ=+#Ak+v2e*cf3?N)>$FZ_Q%`Mtu3>7 z)Es?`2A&U0u1b_dY$V=4UVcTrK=w5Zxma!s`m%qE$Q1?9u($^oNakD>u9aovrItFXsKT{rda!?zp_R%mEoi--iD@f&G+V#%fJ#Rf@xOC4?d`n_cw z32mzz+T+sZB~lMqtz{SOZ`@2xnRaaF( z#l*JXpXhP-mgY8_hgrH;iw+bUr|v!3KYQKW{XQ=Oj)yhwAKvp;+d|1o=I5hIyL+AO z=C|vCw)B-7Lt6|Lt#5>NnKj{?ub0!wMGI3kWo^UVyP3wm2nc_h8yL`Q!fEm0UDM<$ zHgL4gJ-j=?e5QZvlZy-AX-$PbJMxV^( z_Xd?!+#Wr6j{NMN0bQ+Le_9Zp-S$l}ug`p2ppD1P5 zU+QKW)Xyu_L}=lvYb@)U#HF(ol-(}n?^yD{QnBw_O-tdns^Y4hpPDX5_YXgCap{2b zsT&U{vwNG1M83P}ZnQo=%05yyW#Y6!`I@;0E9D=xT@h1TdT3CS_PNoLY2`A$@2>XQ z<<~pt_&hPsIZr%iPh1&cbyKur?Y!E;eW%z5lkbkrJ3IBP$J4GWB8ysu`+Q4u60K%G zQVK7$lL*kc=WXj48*X|?@`%<>-JA*D`H#fKUtO2`>g84DwsG<0EzDl64G!Y(MD9P1 z8CiX8+a=e-$CD=J=G&el?SK3I!0q!-$A4~%toGRHWIJ9sPUR%`Tfq(AfoaZK=}Cck zo}8D){j`^JZt5xIzO6IUm>gYo&%`y?bc?Kpvzz|28)rv`jJsVTd!SeHs#_D~9?$#8 zvP{~(Ty2d0=kr0O&o;l7*eu#BYN2afs?e90>(h@0x?IxTI7rp0Pu=v}-!C`xVk^eP zZCT*{Mk2TS693&Psx8)~nPOu`bK;*F8b1uS_cb^&kegq5B|%;COjo_(BGb#L;KJc6 zw%?-P3cIW_Rj)^TPv3cX*RZh5GHntwJ*%>%>$+Uu#|#?U zyyx)DfJz-x!)evy9%S!%m@&ZS$WRM*&&Ve^-XB%2tXY@U^IQK@uMgjwH2Q(*RkN`J zZ4*t-PPq8>-HG|Dm)XgB^|@ZCxG{Q$_<54trPnj$#=P>v*ugc{TFT?2Nw+KY+rH%0>aEg}pX6!2=2MTSABzvgL@Jdju5up}B%5vgx<>l0_rj+a>o*;A+0i?2 zgh;UcewSBkKHXH}c008}ZP}!o=K^}V`1fCt+=F_hb7@oX+~-qA6pghxH`eO(layUg zEpmJ}uGT!?*1hyvzc3Sd|K}q{KDlu2<*DID`>btB%%_y^c%=1JL}s3QYuE(|pOiaW zgrb+;+2+8U<2T~tRH|j)vA#ESm&W$Be80%+#HJS+mA%((W}EakRxW)ug_|AnE^ff+ z@I>a}6SaGs9?DR+MWXx;suYhM*_fYlca!t=*>g1P^p7vue}7q5sbQiY{4a9$wmfLi zJYqO>?x^$5=Vz$J-o6shyXsT(os$uwSyufvvnH=^GT88N!H!mgtsnXh5udQ&jN(Q$ zhnU$;mzJpJ9D4JmNPGE%aJGW5GC^|u)Yw5M-#4Y($19axGxE_p?fpo3 z;+fR7g+*o`rYnyRH?Q^0dOE(BimKsvqs*OaOR6#_Y%p`3rgXN?(WrrUAHVgOd*kZo zwYj$4>SyWf9-^MyAhxU3tK_Xu!m%zgU6(H2^~tirDk9pfr=C7xY}y=5cH%DNbd&%0!wusLE% z$(9Uto4Ln(CO&Xy2=`jhGoj`XLwtDtl(M7{b&G(zM#5|f`^1!f3vARLM3lVtIa{Tb zlx+AccYnO!!dT{^n=efd3)esP?NcoEytHDQ<`8?g;~$N<9^WEHe44r-U1cSsX`p3K zuUbd-EbqNjhNlj!AIf_FGWS${h2P+b#f|TlC!c>i?d-rIwy||56ZZSNwd`j{j*hL* z9ClW9>ht7_b+d}UHf*l&(T#nXm#tSnIJ|9&diq%P?4=`mdVG1!XrAc2;LL<=5t?5& z7_}`iws*})tJt9vUM$(ds;>w<`qKEKe5_1<`Ti}zSCaLcq|ZJbmlaXkwq$|TNDupc z=S~C4+seOhHMBr{`$;+9<#A}e-(W*a-cvD@)P z#aL2q-&)Z}GxqK7X_GW9aZUC^d)@MVwvD$L`#&_4Dh#f%s^GBm<|;)F-XdiDwbu#Jp?LZ!Rr&(?5HgyHQf8&a^<$KlZWOc@ep(1B;K@ z`Q3FhZe&D84qbnSooi%LV{>_9LrK@2w}n@`lqXKB$u2Y3NU~TpW?urcb*=a%Lt`n) z^>*8?Z(*BS&W?N>^Gq>5T3v`~qdm2%uu08O`s>ukU#F;6@B#=5YExSIxz1+n!&p$$lo)psv;ZcJrZ%at}XGMW2+DLSNaLQwP6} zQp;1jZd^aSn;pAGk$o}XNu+Ah@P>y&Ueru`+g!feZPabilWUW#PU&ZtvYgg3-o@|R zH(1MVOYJLTnSoT~)6{WneeXCSNe?5%9mnUY8LMocTJedr|FP3o3}PP;oi@8+^@2x6 zUABDevHoo4tF9F*vNutmH@Q>SpFFGBtLc6Ac+|@+>bLwB^xyqvnz66{py2VfjFety z2X8mi5xSd~!T$bE+bnYK#cV5?$y<9;d2OnvCY0OlC@c54KC^9#PRUkDPy6h3_bScu zW9G461wInusLmd2GMa4>==L#S*k&JL<$`xZ_Jw&qP95^PwZ4oMU%2u`W_EtJ%;g_8 z#8>o_Zv9}h_HjUy_>fsgR|<>F77iFA9c}S)Sh;^`q?7sD*e63TK6VzF>|e^2o;v-} z^x}tTfR39L4&`nh&^Re8T;lvA>lstI#m~}2n$t!NO)|_h-yuKNKhEpXj&tK?XH*wf zK7Fu#UW>zk5>dBcdzJCgWme3RnZ8Tj=J{IWOt6x(xTrF;_hivSCo@{MaLtIIVtaPE`54Nq9W$%AqGP`w{+6~a{_v4(UwS52-0b3o*@bek9Zo}`uCb>6l~xBPqV0;eipOW`J$zR{IpAH~y0UtGC8 zT~gX_&8)T7RmZvweBZJ`BH;>4;?$NG0~=YM)|a(k`{}Lm*}mw(yL64g?8@FDADd>~ zy7V<*x8c1pzE>}bj5po0d{dD}_7iix51PfA6;ak*QjHFD+1Eowv+&hnz547y9)XPG zdrYRQUsOJD`rfbx&9BY(!b*!{zI@ve7`!`4_49=RJC^DzT<3aP>qJO~dp2oE&sETv zEVDz>o09dMerk(;X|KK)UYhOSeKD`sx3%x~l=g2rd0zeKh+V<6k2V@h59eIZKRDv^ zhau9(`z3kpwHaXWG3<`Pqal`FE6Q$4XRb6GF?RHI4g&^Y_U0?Q*aiCM^PlxeSeLdd zpJUj+UEj*qPs-WyfMubOH?#MS{euQX?3WL2$}@{z z`e11Zx1Q@2-1X+T&+74oVMd3ye{o%udD>X-r6#Ml;&B-bQ+2gdb%!4&BoAu1YgGNY?5vBcsGjkoR#9e(KUw{Dc~Lbn?W z8cZz8qjHz5Z`(UGJiJa$z4^YIoZ@{4y=`^OGxB@KKabBn=h)vQPIRx^gKvGhRUh6p zTzkzGruYN>Va|iEoBD+qyT7?|Gx5n5vz(QzJ7pQ#mY*+4CVl=kYe3n_V+V8gv)Y9=EhPjP6`?$U;`tkCY z>|t^}XHQLH2o-DBkLz)HMD{DYs^twYZk97(05U{wJ=Whk;giDvt;{1Cl`EF&2?=lD zH0UI-Y69keR-83|g;rLAd}Yjrlv|IMj-K%G$fX*8hv|w=`qe@r8G#LB1`ECRd9b<1 zyelfgV%lkSqu&~6p6Pw>>8ft-MNha56W?&7g+;r`){W|&{Mz^J$Q~}*SBjoqv7h+% z!E?=w!9h<~?iAKY_t^4e&BB2_Mm<@*qCiA^q3vgFk7uvu?_8)b*If8cN$wWi*Cz%J&v!ZVc-?A!QK`_9uez?T z&%C$Rb)UX9X83v6?vK}p9=O9Yf!!D>cJc?C~uJ*VmD{pr_S*(lB$Zu0WTp4z;pZ%k?($DYS zYYLiN6Ck3Vo4B=N)7k;W_aicKFKSubg8Q8P_jqCndX7L z^oORrD=FJfxn8~_Q>Wb|6C?`C+{JiceAH z@_o(krbx-@j&2(I^3vcViqju%7O5_{Sr<5pYrwd4BRzgJbx?KC!I|j~wrn(%mS0l( zeUOja$7Or!m8b1lKIo8-+=H!4k}ef()E?b7^YX`~2kn&2(qBk-HwgYdct2y{QFeUE z{>7@-3fHCU)Y}`r4N5BQW0d74)8C}NP2FVqwX0cjIt@ul15@p_OZKh1EYokXU7H&F z#oOTh!F`N1McxEH+1lIW)_|^k$7fK(pXm)aF3;iYm0(@J*7$i$UE_+b$`bO_F!_`> z3!jbdZ94wa_3O8$kNNzhdcZNwKu+R0p~6ekHjn-0tfG42bXw`|MFz~?tL||%;@#he zxi|FEcaK&*882J9XH{}x!J?64zn;GGevz|%FTH8cnSIU$aWy4{yD7D7Y1R5T@Lg!% zGfIYq`d6=vD;f7?fUC->lDc~dB{AJ!G@{)~lrXnJvt1c%pw{<&yj5z2DbVEtsBlzw!F2(wG?u z?Cu4r^F1QIyS3Kd@LXr(ETr(5E$;3u96#yRQxB+ll8T%(RVEiTIhYCq((&7 z^uDM?>#DBz=4VMAYEI1>!%oOBcyJ@HLhpP2i5Kigqe7jZ8sF{upmNsalH(_|9}k(x zcrrbD`okhc7UyDCW2WlB!ZR~=Z9jLn+oAJ0`*MWUBxA)~G9JrZ8}wE>eN9xr2suk1 zr{jHDmnLg^osHM8TqM4*LMUJ5UcxZhvQKMQr7!HCbyoaP&Bgtr@8`TZa6=+o=R2d@ z#?&r5loFWF^1Avh)116Oawpqkvyij!h8X3M|Jxv)MeHkbRfZWNr-3@|k&NRe(yD`(C;GYgl)f-=EA&xbawhKmsQ%Gxg#1 zo|DhaTHZBNYm)Q%?33(s1u8K)AI_e+xLfA=S&`lM(nBVgmc2V2c5iQwAr+!Aij~3g z((W%-PV(3`#cx5^)Y*O!(s!9Pd#Ns4hn`|crSFqiVzjke-MtjaH9qx1{n{>z`_7%| z_U)FpXY|6c>|U?M=ld_}bHA;6cfDuE)94|~dcU4XL ze8!g9nZrf>&Nv^T9$p@Kmy@-A-(!uwr=HA7yX>)NNWFV)Vv1j=)Yb*UN5#7&P94j9 zzsg%8sQXNY*b4KD+Z7^mo}U_?9yz|xS(!Z>?``RNq3mV$r^+bRrxnuo@0G4Lcz*wL z)0rwC|CsXrw-qlepED%)>$9-5fH2c+rB|~hV*~xVQ8y=vdpS!B$x-_}H~F4&YbvGY zvyAVu6~muPC4Ict^`S$IsP*MDA`@6cypMcSbmdr?`cA6|^PghwS8}Ry_JhY>(ogm3 zCOsNwe=7gz)qQzSmfg)TeM@C&E7zYtzwYw6o7!8?*dI>G93(cDb8f5n!`tdJpEz9f zemqbs!s|?qIjc~(kI&p~!vltmyC9vJyiw*#pQmE8H+&M-qz?q+&mj{#(BT&?xThFD z{}Y4@u;Y1O-o52C0~Z%NV|yD%J40i85>Kd)$Rsm(8b$cCeB6c2ln3seqnfEWARBlP zn7_K2%Ad+$Tmv%n8H`)NXdnkDYQSKW0UdzlK!s@x##5k=1%puoRIy<&J_18*8H^_2 zL3|0O703k&uW6O%U;{7-C%m@+Ln2U)Snv)0?2VGJ# zwGya|zk(}+^N+eI_`8ij=Yt3bMjdLV3V?}+AqQaok!EVV0@6tZ-$3qB@C8&p-b~d3 zbx$-?YCS-I67>U&It6}!T%0!#Q3Abr3#HZ%^f+Vg0hF<7p$-D`{aYxF{wQZa3&ke5 zxP{6GDo3_ZT%gR77RpG4!8oy@g&L#^el{TlN3C^L{tWdbeta;cmV2;YZvfEr0$N<$lR13Cdu zBtxFS!~?o8QI0%>z91pAnS^{Mbb17F~A~1ox2c7^br-Gh@AIJOANar+{ zDgtsdxRj9&=rXxfI8ZqY@qv}VYGC47)YBO7oejMLvU9jp6fi26OQivI&vB_5AQz}K z7I+2mfX;;|AFvWw2+Y5V{K+#=b{z7%26+ONuS1?djUvPcvVjMITwpa&_Xd|@jE8)H zxKn*?&ZR^rfsa>QN)H(KnoDg1>eeD$7yQ?8sSuz>1NZ}0indbsftC`jl;~uOAn0d)=Cuto#k37HGG_@SRUu@f!tm=XAiVgZKcenB788;=mT{}wo-%iQ2tRk zs}C#&t_0RjL_XwsQY)ndJ6=4cm9hkKr?ygwK(-#v@&gm~TPYRT^-62Cx>W3uG9h+&~2&8>j}%2O0sREFm|bj8!Xj0;mBj z06GKj0~3L7fW<&j6OrF4O{z;K|h4az~@+qP1bz!TFE-xTTKPvvR=b?s4p zpt1w<14cO_KN3Cz`~nl5z@Hi3&qDnGYk@1tvorW0&p@4Nc%BEj0d;}#K(-I~F-Q4) z@eKuFA}|CfGryHeBk12sX``R53`BZB$#60}Fw=F|AZ1dA}0nv_`pBwNkdgVqh##V>S2(o>+r)Y{1W2 zl%L=_@BxeiJ_72lM}D>_#}4oTtOXVU6Y(tx#&qzPgmMr}X{8c?GKZiaK;^@DZ-?># zb%2RSpkF}e6R1ZZHx2r0kN4@|ADEZ{zJShWpr=5MtX8THsC*XuJK#AR?Eol~3w;FY z=A(Q-?s?EVqFjZb11evG{K#_=^k4?ccN66T*51Z@pfmpF@}QZhAK-Xk?S1eCjCz1{ zfijPv*TA^P_)dls=qr#fP`4WIf%&hX53>;du9fltTGqBwnLwF3ly^4r{|r3_=6{Di z0Cl;b16H=-J^UnH3iQAeKs8`K1K)4}%80a4HRM^ejnZ}o|3D+)39&XR4X7*8Msa~M zQf-vkT<{O{0Tu&efm~oBP(!ATswU4sjd{qoR~zLFWDmx79|(?Wqw;~=$@nG&P}!o5 zQg%Uko!Tf%VD0QSDiavx0)BuREb!rqbleaQql%)AxbJTiYm6PrOgUw=jTg z{L%76VE&Odsu)-dtOiyB8-ZM)q!;3+q8vaCpf*q!XauwbIsp@pwo&-|tqhrCkQXo? zmqKwuOw9>@hA1SXPifski>-($QV;^A8(Y=ZbM zNdiz8f0w=y=nRyd4?ggX4@;mfz84Y?EC!|m+4zP>6L}9*V1rMfHjoSS04iT=qoRS9 z*W0K|$bHsERRZH)qCNtFuaGWK<_+`(nD`FgDp?5mv>{)hGllvA>dH`*Y!J%P6@O(M zXvw6ga3B|W5GW%{Q5;|;kPEDpqbQwVJS$LCG%$ZK-UCkzp{QDd>J+6Hf^rY1s3_nG z4T`D(vb8BnI~3^xoq_pdDCz{zc@jm*ECPQ<2nSl4P*egzbI<|VmY@p*A668_25MMS zR6bDI7Ifj@XFBo&%Gl#Q@PrfI12vrSN6r`HJy07MNF;QvUtGp+)J+Y);IkHmra83~JU0aGPTRG+D~TFi*49V2eUv=uItVrm;P)%2Mvh+)8#HDF4b zNHc6fR*XwKvY9$6{8Jjn?P=(fG)$ScA{&I5PAsOY9n(o4DVqH z)>D+9=&7sl3}}dH2MsZmMxsB3m`e-CBdDWdA;_dtkdZWFC9=^KWiXO9G*h4WGU(Vg z_<8Eh?vw#4Z~0$?W_8LyU)rrxh?%r7>gXq4Y5gX8QwTmJF(0Hz_^|q|-k5gQ8$!!K zo2dPlw7Q_>VE*aff%ZP;9D}Dp$6${(k$!`3a}9{ig$-Yg z{tPzPl$jr41AGLm2EIWTS0^%uuy%}}i8V4Y0&C{{ zOw9S2*b)}I3nP{lzW^kb5kHmzKb8TX6%Uf6<1b3vk#B26HUi(~e7?>3e3Pt%gMUFx zL?z(IoSzfT*CZjtwgF!Td=VM&`C^fz=J1pH+oD-_ESjKh1l&SO;FKq213tF~d~W@S zUid7I=4id~73UY;s8itul|qCd@~}6bmyWvEv3!n*l?J<^ z0Y5JKDSR}$-{>^$N6?Zp-xh&T%UU$BtF&%~VHWa+G--Kio_D2R~9 z7_^*j$j(GGj(^D4bjTkLpeR}!Eq^)-=U>|%Bk71gOkGgB)A^}S=hyCZe(g@@*Y0%G zF0@Z{I`a*%4%h^Y76W%;&<(zbxAC6qghYHW7m56^&+9ON`Gdsk`49;eXmZpp>Gf zd;!A3(E~7*oVRo%Mt_FwIy@TWhA7K2wi{@f=1fyb+oyZ+zekdRMI$ z>a^-_`imbvkU6tJD3VzuWX9wO*)SgoL9#+7%r`>lUWFX-PDJY0W@wtUNQE-!Y(a-^ z;U~J8pkt77)PRpzn}1ghGJYN;$6$opVqLY%e=G-_79o+lzvh(;)o6Y~ke=G?f5#7* zYsmz?(wvt6YEGgO>2Q%wfpZJB9rEG%s6XZf{^Fye4tk3IqK05QP*Y8id^DVySU5xR z=y(c*ynhjw)aDGl6F%}wf7VPo7(_4uNbu*XgtewKfC+%t6fZoTsD!c*V%s1#3?8m( zTyJpI39;~&$f;5u{tElQlam5;e^7VS7uMykssBb!9sQm>~;7oS*xQH`Jd?7gKkOxPU_OzObH2>Qoqj|vt$w8_GxOl0D5!PM)O9lFsJc+YN zk8W=K!^AOQhK@v|+&n#?{jO=h^t-BvuZGfym;lXC0+AR=+!1YqkAkZJ9@wuvvCdBO z?>sSqd`Q)b>?NrSygxw;Ce5Dq0yAWO@s@ajou?v5Y?v7{T$xG?M$V%aY8CEzbDik7 z_;d2~yd#+(x5sRuVTZX+6KTBa7{FkVZjaFm{UFkkA@}%^Fa?A)A*=@-!V6PFnCRmc z3R%-X5>FRlvIryH0{M|JTZCyKtRt-l!p3)^4M&(!r?5DL*>*}V31RF`@iGw>-XTm4 z`4%B;CBi%iBbaacY3|&SsboY?o%7Zm8WFb$aV<#PD5k76=IqIOgiLSzSKdPPC*fvH z*%|z~{6PqpM0mHK{XlwNp7?=tJNkZx(!BY9(A4}5jeAELct+aDG7dBa6)n`%-{iyY zNP{_OLQ?>m;>s54BH_7Hxe0GuK!b%Vo?kkRN7D!zr>cKWL*|Lq`k*|ZA$}82=je4H z$e?{q#x?{h*Ky^CIDCXh575Rw`RDl&ngq}&JpJc1gvVmgB!R|*FTcO68)2dmfWyEogqHyPfrr`1=Zd(LQS6*ZfWvWEm;3Q)OeBgej|%hCuIJY$zDt8nF#;usvPQ17I_pQ506(r+p$W7xgrcApnpV$bqHf4 zY&!{IwXZK>RY=&peNo9m+Kz5ASZi8|XoLEpenHb8^V+}EeaIseW$(DOWFjrRvQrS2 za9}BZl92JQ)_Ks(e@cp8=OO<53Gfm4riGeK_@LLuu!0zazDz|V0nRmPEe=v(L0E+bP_FHEnonlb}L@`Qg`nMTs2Ep9_vO&?pR>+R(< zC*_2cMZ|uT(@v0(QL zT{NZ_>Bgh`?X+}kBTaOljXZ1{Tc}YH$dH!NkMTmMb!c;DwYbO$$zSGTDlM`~jQK{~ zf>|eS#cUEcW=2ccBK}N-!EqJGOiX*2EyC;(W{fb5Q0aL8Kf-2$KibX)s-k`tV9#m0 zZJ~Xaj{S(9$Pm=)Pwm8zUK>6E+G>C7@8#3R5gjA?uPt1_(|GKKFe1y={O%sMmiPuW zplb@?w(E9B-vAZK?;MS!NnF_h;4kn$$0fR^i?}KaxzsbBdLW z#}xv)N1zk|w;Z3rXx z5}@no6RIJs24NljI$ea-bqcdZ7#Crr zOyoz>^FWwV@Xxg22pfbjfec8zIE3jTOa=GkN5Ya2W{I$lyksKGtW$bL2y^HZR*5iI zgmvVl4q;K9;)xD|{5!-WvQt9XL4?H+M*cu{wxHvJ4z39OBmJod!X!hmznkbScIkwu-hRXc6uESpr2oe{E}x zrO{3N!d96|dmve*!O)>_?2T{Fqto2j&-Og{*Lh&e0eZ7vWCDW-9|%`8@=1*3QtR6D zp=~1eEN#FrQ?O2K%G;ZhCM10NmnP9zT4XR*DTORC^M&Ogq1m{%pzm{p^zn>=EB%ah zSNfUfmvWJJ+EVUseWPFb_1Z(Ar_26~#sf4y(cC}s(Gx(^_=hybpow1o`+TsoMWuZ# zV8Qc48ACDdS@CD((E-hyKcw*iO<~OMdHdBkB@r~XEB`qS@n<-osRYdzNj$(IS}knY zRorBg$VSl(VpehDF%lx>!cy4d2e*;#k4Oh`Vgr|&i|7oC_I-Esp1B`>57~_a@2=hL zF_k7h6FCRO0WG#+cJ#-rnJQ#|mcRkCYQHy;HWLKX_BjglvKw)}K#Pyw2k7|eo6;ugV-8vOSN@46EE1HUmw zm~3*wmNoR0l9tjKo{*Gzab;nU^EYuRsULAq;k~i6B^}oZ|Np=Cz6L(7>bmo3Mz)1V zR)@tDW!IZNQqfg{V}{^>5={DRjbvGpVQd_b69tcr404d|sV#$P3>hNgkgjY`f=R^p z045kPiPAWWTAXHx9mh=^BES%{CC#LDvfhomoo3n8A)0yppL@@JA9vp91H!I%e|f*3 zbl$u7oO8dydVp&u38iT4m_XMdqG?-9h$NBmpi{RU|7^6|#hf(!@boAfoE$J&ed z64wFmL8Cds9ZtKnY3AomPE2#8$7yE4uLu0P?jEz}g}~h1(^kfh%pPuaECo34K7LfM z`@yg2o-zAH%AXjUAei1gnUJ9Hb!0<%XX9-V6X*rdzWybacOeVQP%LYvm@O=f7}SSm zUkLsGnu+d6CdqFv!DsS}Alloox6Z0;_g#DPD8^I`vaocx4-rDZ1`xmgQY z80q)hA|wY{@ILi0#yY%XGc?KWYBW}J1d|)eYYy?9IEyCc-l9AxGwo=l{t}Obu+dPy z0k;i*1;WRfwa?LbgSzvMonpLkefG3t@bSRm2D2VYdjbAs_Kew=Qn^E)r_9}eye*8# zUXrM*IoL&kNxXCdh0fz;aX#%!BnNK0K@J=rN-W$!?dF|DFCv4$7Xq_Z^sfWpS9oH~ zreCI%{9IdF_yK9AwFo1#k9uJw0rbK9;uf33EpSR`(v;8da>a#`*tTi*LHC2AUD0S;PhG}VT01U8vNUs|FwY4_+F~gLv}nASgx@C!FnCdZ4p4q@4zQQXFZwC)(N9};R=06ST`cf1`5@UpMfrJQOwNsA zhX&3EuwBLNzakO)-J33gUHc>SBfl)W^EmXLPuKNcQxIMc~}C}OsS!mm7v@O|KMn){{jk+2`39d28waMRhRf&m<2W>jB-xma<`KA-D} zY0yUou;gb^75QkW4VysI?4)lERBsQ{@dd$e1>(9&&|~4;S z>;{dS2lwm)tz&HS(m-KS9u9!!P+Zl4KM%(d*Kd#67dvHg`B9l*Ub%Td3lP6rO#E*R z;77W%5pg|6(f(^^tnDP5OX!g+>3jk9DOC01^vH6+g|rK1B?&*`k*++YLro|5zkt{A zaMAu3e9QU~d4qsaeJ57db*-&S;y<0ufhpnU6MDY^B>O=>gmc$0ADvcod>0gEB5V%AY6%Gsh0RA;J;Kfv zAu^24#5ZVR-3W^ztkHv)LRhDUcPGNSJa|;!LkR0f*waKSY^4C-6&lg!DQ~AWPH&aV zywSP*Y=fD}77y^K?6FIsFF|(>(cvLpafH=O zpE|E?pff?IcoF{$!sa6ETw;!g!uBAn31Qwg7(v*4E$k@5VhB^^B$>`5YyrZWi5cc# z1EF4=7dt5IN4kd~g}85V+;-_tg&b|It8bR;2L}(gK`fzNuuq1=gsy734E_nw4wTV` zKA{j79Xu@Z-vivP8AWHlN@d!LupWewJkvvAg9u9_>?0xsG6tAM*gk|QSs%cjbyByY z|06DkIDO7bamNvNEP$>Fac>~*B;vk}cPU$%O+YhneVq_C)NG)~z@V>&>$6|39h1Da zA$$+Q|2kl-VLK)kt|yh?U4w^lb*n#w>SH%})z2*2PvTvUJz`$5l;_~fsR9V^0PwPY zJb2sS+Tgjm!aD)H#z@f_S1^Y{>1vkI#DeDkgx3guwI71K0Pn|cx}O#p0e%9yV`4Y% zc=#BVSIoOYzW{Da1eyij1h^K#8BxTy2e?OO742tTzUaB|BSztx}nDT=B^BGXh7Zti)jw_DI zNYg=aR`n?8{{}y?rfh=g+ougy?+EXts*L0B6yk@$|4#zOL|W0}`oz|D=e;9>)Hs}6 zW}=_Yza08`HqP_oo1Q`ZwIOT|!rnth9oALL&ac958<-w~FN+kkllLW&7KA{>I3aN5 z8et6!=5neEljy@ofB3>O;-d<76$c9DDp2U;r7v=-R1ZZFLsx4ov9fe0wh9%s(pHH~ITGW+vOQ=}OoDvGCdYu-_8d23EbG zU11jOU$I@bD+FKQ&am)vYqny%E`?21TbICyz_vF0W$-ryqaurap?mQ@jQ0_|=kQ0< z;nAw=>QZnsHkHq%$wedT<0R5Q_MW2s0;lg?18b*!k^c$#b}bF;Vv+S>USSv;FIO^E zs8WU=^|u9xOI(0^G#q&neHHC1_eaC`;&OzYVSy$En(ja0F~@BeK@*~tJMEa~jZVC`>1AB5i*_8v;WH8F6SqLMGUzsirx*^b!oa^a_IvhfBusVcufw~QJ zdC+~1@*w;du(rsKg*e7gT0(}-6#AX=w-5N%2aEPDN8W_pEM!N>@LZn^3%zK9?gZuU z(xUxUyvwnQW&l^qxg2Kp#Jk4An0i^!UPL&qT%vCeRJ&r?5ovdeAmqma-2%|9V7i^O z#=3+0^&sg4Za?xcc-yTdlJExzUW4G30Ixp_kOfUgPyxOl*yB-KbC8$g;C0|KcaA+{ z`}DzSJF0hvcZI|pd%*PF$Pe5H7&$`i4PU+ z(|A{PYKE?pbt<;C$l(qSQKt;55>R;^cXq5&V_Jn zx-_^>MgK?qa7)qtBJkNJg7m|-!5D|t7TS#ApqbNJw4Y!aw!z!$%uk^M$SGP& zWQp@m&I0N?BcR(2x>aY%w6=%Zopr8O^3jJLBiEwXc0hG>68ML3C)964_z-mjIV~H1 zcz;VGG!R%57@Ni22yk0Lwsm)sn8znD(V#n~D(yE5T2s9fG)-4ejfU>znvJ`wzK!BY zIdOGCrG1a5K$D#U4cUig9QBR6vHpt32k)LjG3L{r!sF;Ae*dJHpLBz^bG{lo6ONyY z_|jcryH^(Ndjt6Ld?69u41MNf+${WO`$7AgOM>~1BJTB16z!L}UcC7ge6f$QUv_F# zm~>2#bCcw^7L(!hbyKTT3pBN>rbg2bnjz2}twN%rkGpM0ef&vpABWvQ^|co?^H&$` z6XTSNrflA3AZ116Isw{~psfl>k7PxcNeeXft>`aniuO;Krp%s&MIrBFfvZ@*j|CM< z^Mh{iNcLcU5XJ|}>Gij(wg}VtQc|%_YhWWKh9+MS3PNM@KJc?{EZSe^Je9RA85z(x zzDnqbz%ulCNigaBq=tk|C*WVZ82zKSX#Ze3J~V%(yBEXpZHLI6DLvSJRX`QmRBnrk zaeM(-_amK}jTmdG9PS)1(Eo*z)7AHo1)|>%`uY@fChIb9+lVn&j$O1J72@E`EJXSi z=-&YSUAS-VCBHm~v7Y4bF{J6(IPnN(n(lra(!V5+O)wrC`iu5uPTL|KZ4EYrdAP4F zKuq=A58B3CiuNa`;RA9JoPSz={Cc^`w=fcFuj^f>)>XpqK`X@C%SP!aSig>RV%u<^ z8{X-maif5+xd_`5Q1z6sym1oXlmg^~^?FQ}W?Gw;m zpwqTSD4#>1ZAe$hC*23ZmL#p0P+vO&{C?a4crMF?w{HkNjs6-wS5Ir9xB$khGibtO zfnPl)fN|U<`1xvlXl;bP%k~kJX?Q7StK|wn^ndWkd=B;;^(XM~+V*aLa_=2_S2g-g z`AkL3;mCH{2Y%D%DZQVm8t@o(l-^OqXLsP9NtVf7A^3&8a~bgFdC_7Vd<*{u)e+E7 z#ab8fo6~{1_(IXXFQDyNf5k%2Ych`Mt`{&Qj!FG_1iX*o?#We@DLfQ*6k+C`qJ5(Xk^Lf%ux$vdrh0;|E$bIF zX21jI8*dgx;QI278A1l3I*iy-%y%BgotjRWg4$4w5%6P#FRmnFB+uKx>+%bgJg2ha%)I?P5x$7ppqyEIgz{}%g?S?GChey8p1LUZs$iE*2Tf1J zJkmt`ScQ0!IScU%o^jWBEQGBy=vYQu`$0v~Qzj$Fz1aS$fgC4`VhI z$JXbH_Gd_O3H-%kU&RtZAZJ&P5CM9{T%g2(fBZ1+W%csMJ`6AZFE|0hr+el1zKpSD zlKl4ozvid7S9g}m5B6h;{4d!tO=jn?H~+_gfBKiW-_^mF`$D|=Q3PaOjhe^%^Q zLA{bZJ^=iTU9=zP{$HlMXhC~O(_I~r&`vEVPKy%0b(hviANY@fe;)VHKEwRW>@aki zf$5xx?s~%>2&AKjwnyMxrac{gZ;xCD>01tc7Ao2Arg|1*R%jtS12Fin0)Sz65CCOQ zB6u0u9lf)#HX$?q5Ogae21j4# zOx%&ncHuZ<5;mQiaN?gIo*rz-2;a;c@VpZ|uV_$XNBVs4KuEff?tSj9!@aV2CtbJ$ zGk~&o!s3{(o#M0>?!68Z?E&%vcpU(*MdQ?uxNpr@8{)!7AGdf!uf&!}68sY%g`FBL z*@wsBA9_ZsY}EfoEeQ7{V)En5gz&>r8vBt({WOuL2^O& zdgtbq>~S8;6$%~oBEg(xaPpiMz~ zeg$|Pv2gD(^>3l)uO$1p106amCvNcSi%~(^t#<mrRVi4Y(=bjsf?2(km5hcb*3%!mVUd1x-gQSYd6E+X4y1_-G=@0@6Q)yYH2} z4&a8(Sm=5=W#&4jd-}I_mh4M_PY;bzbZ7q_gk47gs1NKRq4kW`$dbAms_!<$pFn(? z;_+Dc>qb~&DekeS0O%+GzQP!WT-UYN7J*smev0{a3}jjG*asfMHbs5;*RAt4p*Ou` zap5072AW^ZQR8X8#=B-+K-__=phMX97^HQ0zGHa>6x1FsJJ@2>z6}^S_a;jAZ>StX z7Crthn$9_w;MvH1kCyfJ$ZU|&Z!_$<26yA*-M|Hc(OWQ)#A_1abFMAf_xbBX*khtT z$l>}1SbA;D<}w>o_>ia$hQY6ICHH?Jhn=DhDDEiYQUP%!M<)^2k2tsqxeejr6=&zW z(S+FThau@ITG^KS-h|$t17Xhu@Uy_8330m-7qpj#Tq-yY(B(6hU-f9g)B4P zGp$5J$5>pN)(F*EA85?vThA-aRfoZ&c6G^qh2_a>e{23c%vHl54A!4m$Xr(`MvfKr zNsJ%Ym+ZeRw_$$f?eiq#ap2akEy?p@!VYWq`(0gM1@<;X!^?t`78cPQ@Y@Z33+msL zd(T1Ooexl7-;emcH{ka$oW2fQjr%&UNybP!`>ak_jnvi!(DwC~>}%Nv>uopk$gD@+ zTs7Px+PYyi?6I3*X9m(F!)rAf%3~L3_HQWJUuGKbJdFE&LR=W)?f2*y)W*9(TfeDf z-@&xrHg;`MwrdmNRZ9HM6twu%+npn@lam9MxLWiBa z*sI28E~qTk*TY^KEIE7c%f>8JZrKEl+sXp%(H$lG#adYwZ(F&0R)mk6?zjxWRS;m$ zbVS03s1@7GwrSC%kNU)3q_h28wf7?DTl=6g96@};eI@6v&cHH|FT*>fM;T~*uZGao z-|w|Q)z}bv8hu@E!eDzp2Hc~-{R-%$E#Tn7@?u=JA-jQ_c%UTLorT@t;J)bKavtsi z?)(Q!_VeX@zv$pXCg&r5KX8u&H(aIi01*@W|3h~JSI#-$;&R@3uiGim4L?+}|0l~G zx0Ucgi?(v-i=@Kurxq!_pA!cKwgi( zyTI=Remm$C-s$cwjLPC%Tmqka5I2I~6B2t@AkM*itU}+Ct?PKcAoAy+2-MzLMBzDI7Ray{5A z?lqy`dYb=S$^JZ8Nx2m=1MN%aX<2SjK5E<9SU?&A?t$tF)4i6~5gV`q8XzdbhKE^d z^nhPYu4I34+9dd$4B@(Zd2>IUXSjhs9|~^^E*a@l%I_iYZ~Jb^{>WL1|2VRktqQ+H z`7N&~;a4HqnB5EcexYQ4m1G0$>m9qq_)0TV@~V2rF79Iq(C));M*XYPW?EiEALBLO zRQR^wlF2oY2f!S-8=5nkVg`LVWLC) zv?bQ!{y|0$+U;6u= zpC86;oFL+v}i97E1O8S_eZv-bH@% zN@LXM+2O>Dz#fDVTG}9U`|$hDPMJo}_S)rCwob$+izWLCM-CxV+i4z6^Qc(pL2uC@ zTSSuvO&@*(?lrv2e(9yL=)iL9jms zx|m_xn<;;5s6KG!-&-HhYujtSD4+0w7#>JQhN=RVNJs%`rgyptTmheiv3aniZ8;c6~|Gr$=H&OX9fNjU9wCbs`l z-)fG03h-cE%?d~q#)K$Pa=@>hX4_cG6c5SAF@$v?Y%2263A);i=%3SVdj|CvO-Gc? zt+7|;w(3B^5cZA8%scQewOuleF(gr@=TmbOHZ^ z_>b{};lF3t$nj*S(WB!3cS#;=F3^~aM{m|~b_ zm|>V@ILt7|aFk)5VS%BsnbT)zGK?{_7$z7d8KxMf8DXINk;egu{3 zzhCCVWEf*ezgbI9f?<+jieZ{zhGCZBFvA?fQHFVj1%}2J$v?`_WJte>OOM4c!7#}% z#W2k3LD8oF%0z>0wnNF0U$uP#yVwhlrq%&#=Idev6o%C_|GW{WdW@7Q+O?B*PTLG{X$TEW=@j zIfkPQ^9&0NjX#&^L>Zb4V+<{Z35H3ADTb1|{J(XNv?DOC|4tq~g_Rj;@g%+>Ef;IQ zvS4(~xAv{<5S{u)PPbl*$X-3U^wS-a!_(MT{55vnCUcqoV!{H~ST(9EqJb!QC@0z_b{#O2O;_o~7 zJIUX7^LK{7AL8#L{JoFAjVC3)3m%lPiNBvy{P;V^-)a7ysQxa#Tk^~Osgyr8A5e6c zsrVKdueaAnIKCh*U&q>rBAg`rU))bqkI9)#`kQJ-<7e--h5O-y}nfc$TME-v0%Iix3{r4I9~Cc&3G}!v-Skz&tbfT;>Y!*_`F?s z0rQ`zf9QB^obcQ2A2Cip`m!v)t{*Su`0Ozmucvnf$H!ik@l$Poz5X&UN;UwtoQyaMA{-w5WnlJTNSAMX#wTf=x3(l7WAZ73Eb~tumG!Iluh+yP9Oh@@A|u1l z+xKav&&~>#kBKrg!t}#Gmh_eIpJ%-2$H&L}KI6rByfVKQjQ#gOI)a7IR0-%_Y00UM?mrl6cvD(jD zrca2=y9`6;Z*u<3n}hRr3)fFH5gfmR<73N$<40BfUK1RzRcG0!GwzBX2f%)+s^D?J z8OIqfYXsvt;|b%%D&W^QtYEz5j2C4-nVG?OYZxzewv5k3g7G%0 za&WrVtYExPt8^JJSD~H<6~AecPf{FAEEB6q2dMEe%jwEq=8`|k>E-`Wrl-fdn89zV zw5j{mn;&m4^FPk|-WrmYin8bR@mNtm$8@^?&b%tDPy%7@CCNYb4*Bn*PfIFKRzCwk7#6acpj3s^jfKX7I6D0`&!{y z%O{tw#02_n%9*wN6xPRNJ`$50=hBb)`%7B2m!It!_oeDx&sYbyPnkUKpPYvy^UUP% z^mHqJTmG2*<5T0G*V@O=?acl9B>TH#=lk`AT7Q}-=bvH!Z*)}Fm)^TxW&d+*Z*aV# z&wnjA{tD)wXaBU$zmj~dsUTn3Ny^vgJ1k#`3Dzsh>iuzl|4;7mf0yB(Apw=z=N4|C zlblaw-(=2_a+sbV|HJIRu7s9S{_?OcF%>A<{PLeK2Io9ef!uu3-yYeo_`e;p2mR^X zH9cl73d*{;9<0_u=nM4g3}B*Y7Y?siY6f_EGDe#!;zX^G{2t z@D%Lgb-F~Sq|39uR`Ck1V!YAsNj}*pgZbT{@cvfDC!Y$&yNU7AACl>s74oOjpDOHU z{;9a+ujgW$%I85DqsPzX^+od{Nv~^@&oRAqD42eyO8>jT@%M0i_Hb}~AE%#c3r_zE zj?Z5b9RDEmH+j6#%lCxJKga9+eVF4j73$|Xj*oQ&*Y6>feuet^A;%jP@;6a?zoO_F z@ebb4py>Vwk2C69t?#SvztiYdxPp3psPKPOdH=T``^@>;$@_D6@pyDE!$%oD$>X3K{DE#}3S%)4Y>?ERN+ z5uYEp{R8vo#pb`4gAHTe=HAWyoBCI;G3IU9*uQq(jT^SiOKsYiTDz(LR!`8HE$jMv z-oLKL5D2}iH}@LzdT!mY`PTIk_HU9gH?Q5adELehzK>Oi+qAZCH4*Szs;}Rew{F8a z{KxCO8#nUH=C#)w^ZM6r#pex(2KL6D)%~lDd24%D-LPr(`n9Wid%#V7Ngk_KZ`!mP znI#JKj-*zvUk7GjO-Ue^g3p@Gn~izbZ(P5A?FMz|OV#4kA)VW$J$T9*+siKsni@-G zpQ_+@2gIS+q2{ihH{ zb>e8r6h7!-sLr9wK(`*$Hyzva(wj`DU{W14XM(5(@6hPee2z>(h0kQ-ZUK5%;eVmg zXP92W#02TztJ`2^lE)QK8?)3niiK zNp*jLxlQuX@zuA2KL9OVDWK@p{RWMbr2jE!DJ4a(&Tq$DW(Ve)Lkav#%u6>o3gKcyej!WI36TDYnXFH~uJQ9sV<7rlXa JS9B`)-vBYL_X+?2 literal 255176 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 0x03030000 - #define Py_LIMITED_API CYTHON_LIMITED_API - #else - #define Py_LIMITED_API 0x03030000 - #endif - #endif -#endif - -#include "Python.h" -#ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) - #error Cython requires Python 2.7+ or Python 3.3+. -#else -#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API -#define __PYX_EXTRA_ABI_MODULE_NAME "limited" -#else -#define __PYX_EXTRA_ABI_MODULE_NAME "" -#endif -#define CYTHON_ABI "3_0_12" __PYX_EXTRA_ABI_MODULE_NAME -#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI -#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "." -#define CYTHON_HEX_VERSION 0x03000CF0 -#define CYTHON_FUTURE_DIVISION 1 -#include -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef HAVE_LONG_LONG - #define HAVE_LONG_LONG -#endif -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX -#if defined(GRAALVM_PYTHON) - /* For very preliminary testing purposes. Most variables are set the same as PyPy. - The existence of this section does not imply that anything works or is even tested */ - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 1 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(PYPY_VERSION) - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #if PY_VERSION_HEX < 0x03090000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00) - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(CYTHON_LIMITED_API) - #ifdef Py_LIMITED_API - #undef __PYX_LIMITED_VERSION_HEX - #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API - #endif - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 1 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_CLINE_IN_TRACEBACK - #define CYTHON_CLINE_IN_TRACEBACK 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 1 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #endif - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 1 - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 1 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #ifndef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 1 - #endif - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 - #endif -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #ifndef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #if PY_MAJOR_VERSION < 3 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #ifndef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #ifndef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #ifndef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL (PY_MAJOR_VERSION < 3 || PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030C00A6) - #endif - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL (PY_VERSION_HEX >= 0x030700A1) - #endif - #ifndef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 1 - #endif - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #if PY_VERSION_HEX < 0x030400a1 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #elif !defined(CYTHON_USE_TP_FINALIZE) - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #if PY_VERSION_HEX < 0x030600B1 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #elif !defined(CYTHON_USE_DICT_VERSIONS) - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX < 0x030C00A5) - #endif - #if PY_VERSION_HEX < 0x030700A3 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #elif !defined(CYTHON_USE_EXC_INFO_STACK) - #define CYTHON_USE_EXC_INFO_STACK 1 - #endif - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 1 - #endif -#endif -#if !defined(CYTHON_FAST_PYCCALL) -#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) -#endif -#if !defined(CYTHON_VECTORCALL) -#define CYTHON_VECTORCALL (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1) -#endif -#define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1) -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_MAJOR_VERSION < 3 - #include "longintrepr.h" - #endif - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(maybe_unused) - #define CYTHON_UNUSED [[maybe_unused]] - #endif - #endif - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR - #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x) -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_USE_CPP_STD_MOVE - #if defined(__cplusplus) && (\ - __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)) - #define CYTHON_USE_CPP_STD_MOVE 1 - #else - #define CYTHON_USE_CPP_STD_MOVE 0 - #endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#ifdef _MSC_VER - #ifndef _MSC_STDINT_H_ - #if _MSC_VER < 1300 - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - typedef unsigned int uint32_t; - #else - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; - #endif - #endif - #if _MSC_VER < 1300 - #ifdef _WIN64 - typedef unsigned long long __pyx_uintptr_t; - #else - typedef unsigned int __pyx_uintptr_t; - #endif - #else - #ifdef _WIN64 - typedef unsigned __int64 __pyx_uintptr_t; - #else - typedef unsigned __int32 __pyx_uintptr_t; - #endif - #endif -#else - #include - typedef uintptr_t __pyx_uintptr_t; -#endif -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(fallthrough) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif -#ifdef __cplusplus - template - struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);}; - #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL::value) -#else - #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0) -#endif -#if CYTHON_COMPILING_IN_PYPY == 1 - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000) -#else - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000) -#endif -#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer)) - -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" - #define __Pyx_DefaultClassType PyClass_Type - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" - #define __Pyx_DefaultClassType PyType_Type -#if CYTHON_COMPILING_IN_LIMITED_API - static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyObject *exception_table = NULL; - PyObject *types_module=NULL, *code_type=NULL, *result=NULL; - #if __PYX_LIMITED_VERSION_HEX < 0x030B0000 - PyObject *version_info; - PyObject *py_minor_version = NULL; - #endif - long minor_version = 0; - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); - #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000 - minor_version = 11; - #else - if (!(version_info = PySys_GetObject("version_info"))) goto end; - if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end; - minor_version = PyLong_AsLong(py_minor_version); - Py_DECREF(py_minor_version); - if (minor_version == -1 && PyErr_Occurred()) goto end; - #endif - if (!(types_module = PyImport_ImportModule("types"))) goto end; - if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end; - if (minor_version <= 7) { - (void)p; - result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else if (minor_version <= 10) { - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else { - if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end; - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell); - } - end: - Py_XDECREF(code_type); - Py_XDECREF(exception_table); - Py_XDECREF(types_module); - if (type) { - PyErr_Restore(type, value, traceback); - } - return result; - } - #ifndef CO_OPTIMIZED - #define CO_OPTIMIZED 0x0001 - #endif - #ifndef CO_NEWLOCALS - #define CO_NEWLOCALS 0x0002 - #endif - #ifndef CO_VARARGS - #define CO_VARARGS 0x0004 - #endif - #ifndef CO_VARKEYWORDS - #define CO_VARKEYWORDS 0x0008 - #endif - #ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x0200 - #endif - #ifndef CO_GENERATOR - #define CO_GENERATOR 0x0020 - #endif - #ifndef CO_COROUTINE - #define CO_COROUTINE 0x0080 - #endif -#elif PY_VERSION_HEX >= 0x030B0000 - static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyCodeObject *result; - PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); - if (!empty_bytes) return NULL; - result = - #if PY_VERSION_HEX >= 0x030C0000 - PyUnstable_Code_NewWithPosOnlyArgs - #else - PyCode_NewWithPosOnlyArgs - #endif - (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes); - Py_DECREF(empty_bytes); - return result; - } -#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif -#endif -#if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE) - #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type) -#else - #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is) - #define __Pyx_Py_Is(x, y) Py_Is(x, y) -#else - #define __Pyx_Py_Is(x, y) ((x) == (y)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone) - #define __Pyx_Py_IsNone(ob) Py_IsNone(ob) -#else - #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue) - #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob) -#else - #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse) - #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob) -#else - #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False) -#endif -#define __Pyx_NoneAsNull(obj) (__Pyx_Py_IsNone(obj) ? NULL : (obj)) -#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o) -#else - #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o) -#endif -#ifndef CO_COROUTINE - #define CO_COROUTINE 0x80 -#endif -#ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x200 -#endif -#ifndef Py_TPFLAGS_CHECKTYPES - #define Py_TPFLAGS_CHECKTYPES 0 -#endif -#ifndef Py_TPFLAGS_HAVE_INDEX - #define Py_TPFLAGS_HAVE_INDEX 0 -#endif -#ifndef Py_TPFLAGS_HAVE_NEWBUFFER - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef Py_TPFLAGS_SEQUENCE - #define Py_TPFLAGS_SEQUENCE 0 -#endif -#ifndef Py_TPFLAGS_MAPPING - #define Py_TPFLAGS_MAPPING 0 -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #if PY_VERSION_HEX >= 0x030d00A4 - # define __Pyx_PyCFunctionFast PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords - #else - # define __Pyx_PyCFunctionFast _PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords - #endif -#endif -#if CYTHON_METH_FASTCALL - #define __Pyx_METH_FASTCALL METH_FASTCALL - #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast - #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords -#else - #define __Pyx_METH_FASTCALL METH_VARARGS - #define __Pyx_PyCFunction_FastCall PyCFunction - #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords -#endif -#if CYTHON_VECTORCALL - #define __pyx_vectorcallfunc vectorcallfunc - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET PY_VECTORCALL_ARGUMENTS_OFFSET - #define __Pyx_PyVectorcall_NARGS(n) PyVectorcall_NARGS((size_t)(n)) -#elif CYTHON_BACKPORT_VECTORCALL - typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args, - size_t nargsf, PyObject *kwnames); - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET ((size_t)1 << (8 * sizeof(size_t) - 1)) - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)) -#else - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0 - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n)) -#endif -#if PY_MAJOR_VERSION >= 0x030900B1 -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func) -#else -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func) -#endif -#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func) -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth) -#elif !CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func) -#endif -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags) -static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) { - return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self; -} -#endif -static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) { -#if CYTHON_COMPILING_IN_LIMITED_API - return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc; -#else - return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -#endif -} -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc) -#if __PYX_LIMITED_VERSION_HEX < 0x030900B1 - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b)) - typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *); -#else - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) PyType_FromModuleAndSpec(m, s, b) - #define __Pyx_PyCMethod PyCMethod -#endif -#ifndef METH_METHOD - #define METH_METHOD 0x200 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyThreadState_Current PyThreadState_Get() -#elif !CYTHON_FAST_THREAD_STATE - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked() -#elif PY_VERSION_HEX >= 0x03060000 - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#elif PY_VERSION_HEX >= 0x03000000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_Current -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE void *__Pyx_PyModule_GetState(PyObject *op) -{ - void *result; - result = PyModule_GetState(op); - if (!result) - Py_FatalError("Couldn't find the module state"); - return result; -} -#endif -#define __Pyx_PyObject_GetSlot(obj, name, func_ctype) __Pyx_PyType_GetSlot(Py_TYPE(obj), name, func_ctype) -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((func_ctype) PyType_GetSlot((type), Py_##name)) -#else - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((type)->name) -#endif -#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) -#include "pythread.h" -#define Py_tss_NEEDS_INIT 0 -typedef int Py_tss_t; -static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { - *key = PyThread_create_key(); - return 0; -} -static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { - Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); - *key = Py_tss_NEEDS_INIT; - return key; -} -static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { - PyObject_Free(key); -} -static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { - return *key != Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { - PyThread_delete_key(*key); - *key = Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { - return PyThread_set_key_value(*key, value); -} -static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { - return PyThread_get_key_value(*key); -} -#endif -#if PY_MAJOR_VERSION < 3 - #if CYTHON_COMPILING_IN_PYPY - #if PYPY_VERSION_NUM < 0x07030600 - #if defined(__cplusplus) && __cplusplus >= 201402L - [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]] - #elif defined(__GNUC__) || defined(__clang__) - __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))) - #elif defined(_MSC_VER) - __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")) - #endif - static CYTHON_INLINE int PyGILState_Check(void) { - return 0; - } - #else // PYPY_VERSION_NUM < 0x07030600 - #endif // PYPY_VERSION_NUM < 0x07030600 - #else - static CYTHON_INLINE int PyGILState_Check(void) { - PyThreadState * tstate = _PyThreadState_Current; - return tstate && (tstate == PyGILState_GetThisThreadState()); - } - #endif -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION - #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#else - #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) { - PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name); - if (res == NULL) PyErr_Clear(); - return res; -} -#elif PY_MAJOR_VERSION >= 3 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000) -#define __Pyx_PyDict_GetItemStrWithError PyDict_GetItemWithError -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#else -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) { -#if CYTHON_COMPILING_IN_PYPY - return PyDict_GetItem(dict, name); -#else - PyDictEntry *ep; - PyDictObject *mp = (PyDictObject*) dict; - long hash = ((PyStringObject *) name)->ob_shash; - assert(hash != -1); - ep = (mp->ma_lookup)(mp, name, hash); - if (ep == NULL) { - return NULL; - } - return ep->me_value; -#endif -} -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#endif -#if CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyType_GetFlags(tp) (((PyTypeObject *)tp)->tp_flags) - #define __Pyx_PyType_HasFeature(type, feature) ((__Pyx_PyType_GetFlags(type) & (feature)) != 0) - #define __Pyx_PyObject_GetIterNextFunc(obj) (Py_TYPE(obj)->tp_iternext) -#else - #define __Pyx_PyType_GetFlags(tp) (PyType_GetFlags((PyTypeObject *)tp)) - #define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature) - #define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v) -#else - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v) -#endif -#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000 -#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\ - PyTypeObject *type = Py_TYPE((PyObject*)obj);\ - assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\ - PyObject_GC_Del(obj);\ - Py_DECREF(type);\ -} -#else -#define __Pyx_PyHeapTypeObject_GC_Del(obj) PyObject_GC_Del(obj) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define CYTHON_PEP393_ENABLED 1 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GetLength(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((void)u, 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((void)u, (0)) - #define __Pyx_PyUnicode_DATA(u) ((void*)u) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)k, PyUnicode_ReadChar((PyObject*)(d), i)) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GetLength(u)) -#elif PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) - #define CYTHON_PEP393_ENABLED 1 - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_READY(op) (0) - #else - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #endif - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) ((int)PyUnicode_KIND(u)) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, (Py_UCS4) ch) - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #else - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #endif - #endif -#else - #define CYTHON_PEP393_ENABLED 0 - #define PyUnicode_1BYTE_KIND 1 - #define PyUnicode_2BYTE_KIND 2 - #define PyUnicode_4BYTE_KIND 4 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535U : 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((int)sizeof(Py_UNICODE)) - #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = (Py_UNICODE) ch) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #if !defined(PyUnicode_DecodeUnicodeEscape) - #define PyUnicode_DecodeUnicodeEscape(s, size, errors) PyUnicode_Decode(s, size, "unicode_escape", errors) - #endif - #if !defined(PyUnicode_Contains) || (PY_MAJOR_VERSION == 2 && PYPY_VERSION_NUM < 0x07030500) - #undef PyUnicode_Contains - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) - #endif - #if !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) - #endif - #if !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) - #endif -#endif -#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) -#else - #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) -#endif -#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) - #define PyObject_ASCII(o) PyObject_Repr(o) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject - #define PyString_Type PyUnicode_Type - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact -#ifndef PyObject_Unicode - #define PyObject_Unicode PyObject_Str -#endif -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) - #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) -#else - #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) - #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) -#endif -#if CYTHON_COMPILING_IN_CPYTHON - #define __Pyx_PySequence_ListKeepNew(obj)\ - (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj)) -#else - #define __Pyx_PySequence_ListKeepNew(obj) PySequence_List(obj) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) __Pyx_IS_TYPE(obj, &PySet_Type) -#endif -#if PY_VERSION_HEX >= 0x030900A4 - #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) -#else - #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i) - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o) -#else - #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i) - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v) - #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o) -#endif -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name) -#else - static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) { - PyObject *module = PyImport_AddModule(name); - Py_XINCREF(module); - return module; - } -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type - #define PyInt_Check(op) PyLong_Check(op) - #define PyInt_CheckExact(op) PyLong_CheckExact(op) - #define __Pyx_Py3Int_Check(op) PyLong_Check(op) - #define __Pyx_Py3Int_CheckExact(op) PyLong_CheckExact(op) - #define PyInt_FromString PyLong_FromString - #define PyInt_FromUnicode PyLong_FromUnicode - #define PyInt_FromLong PyLong_FromLong - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_AsLong PyLong_AsLong - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsSsize_t PyLong_AsSsize_t - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #define PyNumber_Int PyNumber_Long -#else - #define __Pyx_Py3Int_Check(op) (PyLong_Check(op) || PyInt_Check(op)) - #define __Pyx_Py3Int_CheckExact(op) (PyLong_CheckExact(op) || PyInt_CheckExact(op)) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject -#endif -#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY - #ifndef PyUnicode_InternFromString - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) - #endif -#endif -#if PY_VERSION_HEX < 0x030200A4 - typedef long Py_hash_t; - #define __Pyx_PyInt_FromHash_t PyInt_FromLong - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t -#else - #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t -#endif -#if CYTHON_USE_ASYNC_SLOTS - #if PY_VERSION_HEX >= 0x030500B1 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods - #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) - #else - #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) - #endif -#else - #define __Pyx_PyType_AsAsync(obj) NULL -#endif -#ifndef __Pyx_PyAsyncMethodsStruct - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - } __Pyx_PyAsyncMethodsStruct; -#endif - -#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) - #if !defined(_USE_MATH_DEFINES) - #define _USE_MATH_DEFINES - #endif -#endif -#include -#ifdef NAN -#define __PYX_NAN() ((float) NAN) -#else -static CYTHON_INLINE float __PYX_NAN() { - float value; - memset(&value, 0xFF, sizeof(value)); - return value; -} -#endif -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#define __PYX_MARK_ERR_POS(f_index, lineno) \ - { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifdef CYTHON_EXTERN_C - #undef __PYX_EXTERN_C - #define __PYX_EXTERN_C CYTHON_EXTERN_C -#elif defined(__PYX_EXTERN_C) - #ifdef _MSC_VER - #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.") - #else - #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead. - #endif -#else - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__handlers__payments__gift -#define __PYX_HAVE_API__handlers__payments__gift -/* Early includes */ -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; - const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; - -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s); -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*); -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if PY_MAJOR_VERSION < 3 - #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#else - #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize -#endif -#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyObject_AsWritableString(s) ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -#define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o) -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) -#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); -#if CYTHON_ASSUME_SAFE_MACROS -#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#else -#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#endif -#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#else -#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_VERSION_HEX >= 0x030C00A7 - #ifndef _PyLong_SIGN_MASK - #define _PyLong_SIGN_MASK 3 - #endif - #ifndef _PyLong_NON_SIZE_BITS - #define _PyLong_NON_SIZE_BITS 3 - #endif - #define __Pyx_PyLong_Sign(x) (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK) - #define __Pyx_PyLong_IsNeg(x) ((__Pyx_PyLong_Sign(x) & 2) != 0) - #define __Pyx_PyLong_IsNonNeg(x) (!__Pyx_PyLong_IsNeg(x)) - #define __Pyx_PyLong_IsZero(x) (__Pyx_PyLong_Sign(x) & 1) - #define __Pyx_PyLong_IsPos(x) (__Pyx_PyLong_Sign(x) == 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) (__Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_SignedDigitCount(x)\ - ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x)) - #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue) - #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x) - #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x) - #else - #define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_CompactValue(x) ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0]) - #endif - typedef Py_ssize_t __Pyx_compact_pylong; - typedef size_t __Pyx_compact_upylong; - #else - #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0) - #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0) - #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0) - #define __Pyx_PyLong_IsPos(x) (Py_SIZE(x) > 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) __Pyx_sst_abs(Py_SIZE(x)) - #define __Pyx_PyLong_SignedDigitCount(x) Py_SIZE(x) - #define __Pyx_PyLong_IsCompact(x) (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1) - #define __Pyx_PyLong_CompactValue(x)\ - ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0])) - typedef sdigit __Pyx_compact_pylong; - typedef digit __Pyx_compact_upylong; - #endif - #if PY_VERSION_HEX >= 0x030C00A5 - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit) - #else - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->ob_digit) - #endif -#endif -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII -#include -static int __Pyx_sys_getdefaultencoding_not_ascii; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - PyObject* ascii_chars_u = NULL; - PyObject* ascii_chars_b = NULL; - const char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - if (strcmp(default_encoding_c, "ascii") == 0) { - __Pyx_sys_getdefaultencoding_not_ascii = 0; - } else { - char ascii_chars[128]; - int c; - for (c = 0; c < 128; c++) { - ascii_chars[c] = (char) c; - } - __Pyx_sys_getdefaultencoding_not_ascii = 1; - ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); - if (!ascii_chars_u) goto bad; - ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); - if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { - PyErr_Format( - PyExc_ValueError, - "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", - default_encoding_c); - goto bad; - } - Py_DECREF(ascii_chars_u); - Py_DECREF(ascii_chars_b); - } - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - Py_XDECREF(ascii_chars_u); - Py_XDECREF(ascii_chars_b); - return -1; -} -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#else -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#include -static char* __PYX_DEFAULT_STRING_ENCODING; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); - if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; - strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - return -1; -} -#endif -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } - -#if !CYTHON_USE_MODULE_STATE -static PyObject *__pyx_m = NULL; -#endif -static int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm = __FILE__; -static const char *__pyx_filename; - -/* #### Code section: filename_table ### */ - -static const char *__pyx_f[] = { - "handlers/payments/gift.py", -}; -/* #### Code section: utility_code_proto_before_types ### */ -/* ForceInitThreads.proto */ -#ifndef __PYX_FORCE_INIT_THREADS - #define __PYX_FORCE_INIT_THREADS 0 -#endif - -/* #### Code section: numeric_typedefs ### */ -/* #### Code section: complex_type_declarations ### */ -/* #### Code section: type_declarations ### */ - -/*--- Type declarations ---*/ -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler; -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler; -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler; -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler; -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler; -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler; -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler; -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code; - -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_image_path; - PyObject *__pyx_v_is_valid; -}; - - -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_current_page; - PyObject *__pyx_v_data_parts; - PyObject *__pyx_v_end; - PyObject *__pyx_v_expiry_time; - PyObject *__pyx_v_gift; - PyObject *__pyx_v_gift_id; - PyObject *__pyx_v_gift_link; - PyObject *__pyx_v_gifts; - PyObject *__pyx_v_gifts_page; - PyObject *__pyx_v_gifts_text; - PyObject *__pyx_v_is_used; - PyObject *__pyx_v_months; - PyObject *__pyx_v_months_text; - PyObject *__pyx_v_recipient; - PyObject *__pyx_v_session; - PyObject *__pyx_v_start; - PyObject *__pyx_v_user_tg_id; -}; - - -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_data; - PyObject *__pyx_v_gift_id; - PyObject *__pyx_v_session; -}; - - -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_months; - PyObject *__pyx_v_price; -}; - - -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler { - PyObject_HEAD - PyObject *__pyx_v_balance; - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_confirmation_text; - PyObject *__pyx_v_price; - PyObject *__pyx_v_selected_months; - PyObject *__pyx_v_session; - PyObject *__pyx_v_user_tg_id; -}; - - -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_e; - PyObject *__pyx_v_expiry_time; - PyObject *__pyx_v_gift_id; - PyObject *__pyx_v_gift_link; - PyObject *__pyx_v_message_text; - PyObject *__pyx_v_months_text; - PyObject *__pyx_v_price; - PyObject *__pyx_v_selected_months; - PyObject *__pyx_v_session; - PyObject *__pyx_v_share_text; - PyObject *__pyx_v_state; - PyObject *__pyx_v_tg_id; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; - PyObject *__pyx_t_3; - PyObject *__pyx_t_4; - PyObject *__pyx_t_5; -}; - - -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_e; - PyObject *__pyx_v_expiry_time; - PyObject *__pyx_v_gift; - PyObject *__pyx_v_gift_id; - PyObject *__pyx_v_gift_link; - PyObject *__pyx_v_inline_query; - PyObject *__pyx_v_message_text; - PyObject *__pyx_v_months; - PyObject *__pyx_v_query; - PyObject *__pyx_v_result; - PyObject *__pyx_v_session; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; - PyObject *__pyx_t_3; - PyObject *__pyx_t_4; - PyObject *__pyx_t_5; -}; - - -struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code { - PyObject_HEAD - int __pyx_v_all_failed; - PyObject *__pyx_v_data; - PyObject *__pyx_v_e; - PyObject *__pyx_v_hardware_id; - PyObject *__pyx_v_payload; - PyObject *__pyx_v_response; - PyObject *__pyx_v_session; - PyObject *__pyx_v_status; - PyObject *__pyx_v_timeout; - PyObject *__pyx_v_url; - PyObject *__pyx_v_urls; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; - PyObject *__pyx_t_3; - PyObject *__pyx_t_4; - PyObject *__pyx_t_5; - PyObject *__pyx_t_6; - PyObject *__pyx_t_7; - Py_ssize_t __pyx_t_8; - PyObject *__pyx_t_9; - PyObject *__pyx_t_10; - PyObject *__pyx_t_11; - PyObject *__pyx_t_12; - PyObject *__pyx_t_13; - PyObject *__pyx_t_14; - PyObject *__pyx_t_15; - PyObject *__pyx_t_16; - PyObject *__pyx_t_17; - PyObject *__pyx_t_18; - PyObject *__pyx_t_19; - PyObject *__pyx_t_20; -}; - -/* #### Code section: utility_code_proto ### */ - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, Py_ssize_t); - void (*DECREF)(void*, PyObject*, Py_ssize_t); - void (*GOTREF)(void*, PyObject*, Py_ssize_t); - void (*GIVEREF)(void*, PyObject*, Py_ssize_t); - void* (*SetupContext)(const char*, Py_ssize_t, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -#ifdef WITH_THREAD - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - } - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } -#else - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__)) - #define __Pyx_RefNannyFinishContextNogil() __Pyx_RefNannyFinishContext() -#endif - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_XINCREF(r) do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContextNogil() - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_Py_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; Py_XDECREF(tmp);\ - } while (0) -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* PyErrExceptionMatches.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* PyThreadStateGet.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#if PY_VERSION_HEX >= 0x030C00A6 -#define __Pyx_PyErr_Occurred() (__pyx_tstate->current_exception != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL) -#else -#define __Pyx_PyErr_Occurred() (__pyx_tstate->curexc_type != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->curexc_type) -#endif -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() (PyErr_Occurred() != NULL) -#define __Pyx_PyErr_CurrentExceptionType() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6 -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* PyObjectGetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* PyObjectGetAttrStrNoError.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* TupleAndListFromArray.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n); -static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n); -#endif - -/* IncludeStringH.proto */ -#include - -/* BytesEquals.proto */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); - -/* UnicodeEquals.proto */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); - -/* fastcall.proto */ -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i) -#elif CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i) -#else - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i) -#endif -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg) - #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg) -#else - #define __Pyx_Arg_NewRef_VARARGS(arg) arg - #define __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds) -#define __Pyx_KwValues_VARARGS(args, nargs) NULL -#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s) -#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw) -#if CYTHON_METH_FASTCALL - #define __Pyx_Arg_FASTCALL(args, i) args[i] - #define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds) - #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs)) - static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 - CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues); - #else - #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw) - #endif - #define __Pyx_Arg_NewRef_FASTCALL(arg) arg /* no-op, __Pyx_Arg_FASTCALL is direct and this needs - to have the same reference counting */ - #define __Pyx_Arg_XDECREF_FASTCALL(arg) -#else - #define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS - #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS - #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS - #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS - #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS - #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg) - #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start) -#else -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop) -#endif - -/* RaiseDoubleKeywords.proto */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywords.proto */ -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, - const char* function_name); - -/* RaiseArgTupleInvalid.proto */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* PyDictVersioning.proto */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __pyx_dict_cached_value;\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) do {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* PyFunctionFastCall.proto */ -#if CYTHON_FAST_PYCALL -#if !CYTHON_VECTORCALL -#define __Pyx_PyFunction_FastCall(func, args, nargs)\ - __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); -#endif -#define __Pyx_BUILD_ASSERT_EXPR(cond)\ - (sizeof(char [1 - 2*!(cond)]) - 1) -#ifndef Py_MEMBER_SIZE -#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) -#endif -#if !CYTHON_VECTORCALL -#if PY_VERSION_HEX >= 0x03080000 - #include "frameobject.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #define __Pxy_PyFrame_Initialize_Offsets() - #define __Pyx_PyFrame_GetLocalsplus(frame) ((frame)->f_localsplus) -#else - static size_t __pyx_pyframe_localsplus_offset = 0; - #include "frameobject.h" - #define __Pxy_PyFrame_Initialize_Offsets()\ - ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ - (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) - #define __Pyx_PyFrame_GetLocalsplus(frame)\ - (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) -#endif -#endif -#endif - -/* PyObjectCall.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* PyObjectCallMethO.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectFastCall.proto */ -#define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL) -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs); - -/* IncludeStructmemberH.proto */ -#include - -/* FixUpExtensionType.proto */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type); -#endif - -/* FetchSharedCythonModule.proto */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void); - -/* FetchCommonType.proto */ -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); -#else -static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases); -#endif - -/* RaiseException.proto */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* GetTopmostException.proto */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* SwapException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* PyObjectCall2Args.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* PyObjectCallOneArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* PyObjectGetMethod.proto */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); - -/* PyObjectCallMethod1.proto */ -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); - -/* PyObjectCallNoArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); - -/* CoroutineBase.proto */ -struct __pyx_CoroutineObject; -typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_ExcInfoStruct _PyErr_StackItem -#else -typedef struct { - PyObject *exc_type; - PyObject *exc_value; - PyObject *exc_traceback; -} __Pyx_ExcInfoStruct; -#endif -typedef struct __pyx_CoroutineObject { - PyObject_HEAD - __pyx_coroutine_body_t body; - PyObject *closure; - __Pyx_ExcInfoStruct gi_exc_state; - PyObject *gi_weakreflist; - PyObject *classobj; - PyObject *yieldfrom; - PyObject *gi_name; - PyObject *gi_qualname; - PyObject *gi_modulename; - PyObject *gi_code; - PyObject *gi_frame; - int resume_label; - char is_running; -} __pyx_CoroutineObject; -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self); -static int __Pyx_Coroutine_clear(PyObject *self); -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value); -static PyObject *__Pyx_Coroutine_Close(PyObject *self); -static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_Coroutine_SwapException(self) -#define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state) -#else -#define __Pyx_Coroutine_SwapException(self) {\ - __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\ - __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\ - } -#define __Pyx_Coroutine_ResetAndClearException(self) {\ - __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\ - (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\ - } -#endif -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue) -#else -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue) -#endif -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue); -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state); - -/* PyObject_GenericGetAttrNoDict.proto */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr -#endif - -/* PatchModuleWithCoroutine.proto */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code); - -/* PatchGeneratorABC.proto */ -static int __Pyx_patch_abc(void); - -/* Coroutine.proto */ -#define __Pyx_Coroutine_USED -#define __Pyx_Coroutine_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineType) -#define __Pyx_Coroutine_Check(obj) __Pyx_Coroutine_CheckExact(obj) -#define __Pyx_CoroutineAwait_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineAwaitType) -#define __Pyx_Coroutine_New(body, code, closure, name, qualname, module_name)\ - __Pyx__Coroutine_New(__pyx_CoroutineType, body, code, closure, name, qualname, module_name) -static int __pyx_Coroutine_init(PyObject *module); -static PyObject *__Pyx__Coroutine_await(PyObject *coroutine); -typedef struct { - PyObject_HEAD - PyObject *coroutine; -} __pyx_CoroutineAwaitObject; -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg); -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args); - -/* GetAwaitIter.proto */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o); -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *o); - -/* CoroutineYieldFrom.proto */ -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source); - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* pep479.proto */ -static void __Pyx_Generator_Replace_StopIteration(int in_async_gen); - -/* GetItemInt.proto */ -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - -/* SliceObject.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice( - PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** py_start, PyObject** py_stop, PyObject** py_slice, - int has_cstart, int has_cstop, int wraparound); - -/* DictGetItem.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); -#define __Pyx_PyObject_Dict_GetItem(obj, name)\ - (likely(PyDict_CheckExact(obj)) ?\ - __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) -#else -#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) -#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) -#endif - -/* PyIntCompare.proto */ -static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); - -/* PyObjectFormatSimple.proto */ -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#elif PY_MAJOR_VERSION < 3 - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\ - PyObject_Format(s, f)) -#elif CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\ - likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\ - PyObject_Format(s, f)) -#else - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#endif - -/* JoinPyUnicode.proto */ -static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2)) -#endif - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* IterFinish.proto */ -static CYTHON_INLINE int __Pyx_IterFinish(void); - -/* PyObjectCallMethod0.proto */ -static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name); - -/* RaiseNeedMoreValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); - -/* RaiseTooManyValuesToUnpack.proto */ -static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); - -/* UnpackItemEndCheck.proto */ -static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); - -/* RaiseNoneIterError.proto */ -static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); - -/* UnpackTupleError.proto */ -static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); - -/* UnpackTuple2.proto */ -#define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\ - (likely(is_tuple || PyTuple_Check(tuple)) ?\ - (likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\ - __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\ - (__Pyx_UnpackTupleError(tuple, 2), -1)) :\ - __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple)) -static CYTHON_INLINE int __Pyx_unpack_tuple2_exact( - PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple); -static int __Pyx_unpack_tuple2_generic( - PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple); - -/* dict_iter.proto */ -static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name, - Py_ssize_t* p_orig_length, int* p_is_dict); -static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos, - PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict); - -/* PyUnicode_Unicode.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_MultiplyObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_MultiplyObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceMultiply(op1, op2) : PyNumber_Multiply(op1, op2)) -#endif - -/* ReturnWithStopIteration.proto */ -#define __Pyx_ReturnWithStopIteration(value)\ - if (value == Py_None) PyErr_SetNone(PyExc_StopIteration); else __Pyx__ReturnWithStopIteration(value) -static void __Pyx__ReturnWithStopIteration(PyObject* value); - -/* PyObjectLookupSpecial.proto */ -#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 0) -#define __Pyx_PyObject_LookupSpecial(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 1) -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error); -#else -#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n) -#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) -#endif - -/* RaiseUnboundLocalError.proto */ -static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname); - -/* FastTypeChecks.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2)) -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) -#endif -#define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2) -#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* ValidateBasesTuple.proto */ -#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases); -#endif - -/* PyType_Ready.proto */ -CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t); - -/* Import.proto */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); - -/* ImportDottedModule.proto */ -static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple); -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple); -#endif - -/* ImportFrom.proto */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); - -/* PyMethodNew.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - PyObject *typesModule=NULL, *methodType=NULL, *result=NULL; - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - typesModule = PyImport_ImportModule("types"); - if (!typesModule) return NULL; - methodType = PyObject_GetAttrString(typesModule, "MethodType"); - Py_DECREF(typesModule); - if (!methodType) return NULL; - result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL); - Py_DECREF(methodType); - return result; -} -#elif PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - return PyMethod_New(func, self); -} -#else - #define __Pyx_PyMethod_New PyMethod_New -#endif - -/* PyVectorcallFastCallDict.proto */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw); -#endif - -/* CythonFunctionShared.proto */ -#define __Pyx_CyFunction_USED -#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 -#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 -#define __Pyx_CYFUNCTION_CCLASS 0x04 -#define __Pyx_CYFUNCTION_COROUTINE 0x08 -#define __Pyx_CyFunction_GetClosure(f)\ - (((__pyx_CyFunctionObject *) (f))->func_closure) -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_CyFunction_GetClassObj(f)\ - (((__pyx_CyFunctionObject *) (f))->func_classobj) -#else - #define __Pyx_CyFunction_GetClassObj(f)\ - ((PyObject*) ((PyCMethodObject *) (f))->mm_class) -#endif -#define __Pyx_CyFunction_SetClassObj(f, classobj)\ - __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj)) -#define __Pyx_CyFunction_Defaults(type, f)\ - ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) -#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ - ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) -typedef struct { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject_HEAD - PyObject *func; -#elif PY_VERSION_HEX < 0x030900B1 - PyCFunctionObject func; -#else - PyCMethodObject func; -#endif -#if CYTHON_BACKPORT_VECTORCALL - __pyx_vectorcallfunc func_vectorcall; -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_weakreflist; -#endif - PyObject *func_dict; - PyObject *func_name; - PyObject *func_qualname; - PyObject *func_doc; - PyObject *func_globals; - PyObject *func_code; - PyObject *func_closure; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_classobj; -#endif - void *defaults; - int defaults_pyobjects; - size_t defaults_size; - int flags; - PyObject *defaults_tuple; - PyObject *defaults_kwdict; - PyObject *(*defaults_getter)(PyObject *); - PyObject *func_annotations; - PyObject *func_is_coroutine; -} __pyx_CyFunctionObject; -#undef __Pyx_CyOrPyCFunction_Check -#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType) -#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type) -#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType) -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc); -#undef __Pyx_IsSameCFunction -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc) -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj); -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, - size_t size, - int pyobjects); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, - PyObject *tuple); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, - PyObject *dict); -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, - PyObject *dict); -static int __pyx_CyFunction_init(PyObject *module); -#if CYTHON_METH_FASTCALL -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -#if CYTHON_BACKPORT_VECTORCALL -#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall) -#else -#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall) -#endif -#endif - -/* CythonFunction.proto */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); - -/* PatchInspect.proto */ -static PyObject* __Pyx_patch_inspect(PyObject* module); - -/* PatchAsyncIO.proto */ -static PyObject* __Pyx_patch_asyncio(PyObject* module); - -/* CLineInTraceback.proto */ -#ifdef CYTHON_CLINE_IN_TRACEBACK -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#else -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#endif - -/* CodeObjectCache.proto */ -#if !CYTHON_COMPILING_IN_LIMITED_API -typedef struct { - PyCodeObject* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; -}; -static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static PyCodeObject *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -#endif - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* GCCDiagnostics.proto */ -#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -#define __Pyx_HAS_GCC_DIAGNOSTIC -#endif - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); - -/* FormatTypeName.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -typedef PyObject *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%U" -static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp); -#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj) -#else -typedef const char *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%.200s" -#define __Pyx_PyType_GetName(tp) ((tp)->tp_name) -#define __Pyx_DECREF_TypeName(obj) -#endif - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); - -/* CheckBinaryVersion.proto */ -static unsigned long __Pyx_get_runtime_version(void); -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer); - -/* InitStrings.proto */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); - -/* #### Code section: module_declarations ### */ - -/* Module declarations from "handlers.payments.gift" */ -/* #### Code section: typeinfo ### */ -/* #### Code section: before_global_var ### */ -#define __Pyx_MODULE_NAME "handlers.payments.gift" -extern int __pyx_module_is_main_handlers__payments__gift; -int __pyx_module_is_main_handlers__payments__gift = 0; - -/* Implementation of "handlers.payments.gift" */ -/* #### Code section: global_var ### */ -static PyObject *__pyx_builtin_open; -/* #### Code section: string_decls ### */ -static const char __pyx_k_1[] = "1"; -static const char __pyx_k_F[] = "F"; -static const char __pyx_k_e[] = "e"; -static const char __pyx_k_f[] = "f"; -static const char __pyx_k__4[] = "|"; -static const char __pyx_k__5[] = "\320\274\320\265\321\201\321\217\321\206"; -static const char __pyx_k__6[] = "\320\274\320\265\321\201\321\217\321\206\320\260"; -static const char __pyx_k__7[] = "\320\274\320\265\321\201\321\217\321\206\320\265\320\262"; -static const char __pyx_k__8[] = "\320\224\320\260"; -static const char __pyx_k__9[] = "\320\235\320\265\321\202"; -static const char __pyx_k_gc[] = "gc"; -static const char __pyx_k_id[] = "id"; -static const char __pyx_k_os[] = "os"; -static const char __pyx_k_Any[] = "Any"; -static const char __pyx_k_VPN[] = "\360\237\216\201 VPN \320\275\320\260 "; -static const char __pyx_k__10[] = "\320\235\320\265 \320\260\320\272\321\202\320\270\320\262\320\270\321\200\320\276\320\262\320\260\320\275"; -static const char __pyx_k__11[] = "\320\243\320\264\320\260\320\273\320\270\321\202\321\214 (\320\270\321\201\321\202\320\265\320\272\320\260\320\265\321\202 "; -static const char __pyx_k__12[] = ")"; -static const char __pyx_k__13[] = "\320\222\320\277\320\265\321\200\320\265\320\264 \342\236\241"; -static const char __pyx_k__15[] = "\320\237\320\276\320\264\320\260\321\200\320\276\320\272 \321\203\320\264\320\260\320\273\321\221\320\275."; -static const char __pyx_k__17[] = "\360\237\216\201 "; -static const char __pyx_k__18[] = " "; -static const char __pyx_k__19[] = " \320\267\320\260 "; -static const char __pyx_k__20[] = " \321\200\321\203\320\261\320\273\320\265\320\271"; -static const char __pyx_k__22[] = "\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\271 \320\262\321\213\320\261\320\276\321\200. \320\237\320\276\320\277\321\200\320\276\320\261\321\203\320\271\321\202\320\265 \321\201\320\275\320\276\320\262\320\260."; -static const char __pyx_k__24[] = "\342\235\214 \320\243 \320\262\320\260\321\201 \320\275\320\265\320\264\320\276\321\201\321\202\320\260\321\202\320\276\321\207\320\275\320\276 \321\201\321\200\320\265\320\264\321\201\321\202\320\262 \320\264\320\273\321\217 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\321\217 \320\277\320\276\320\264\320\260\321\200\320\272\320\260. \320\237\320\265\321\200\320\265\320\271\320\264\320\270\321\202\320\265 \320\262 \320\273\320\270\321\207\320\275\321\213\320\271 \320\272\320\260\320\261\320\270\320\275\320\265\321\202 \320\264\320\273\321\217 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217 \320\261\320\260\320\273\320\260\320\275\321\201\320\260."; -static const char __pyx_k__26[] = "\320\241\321\204\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\260 \321\201\321\201\321\213\320\273\320\272\320\260 \320\275\320\260 \320\277\320\276\320\264\320\260\321\200\320\276\320\272: "; -static const char __pyx_k__27[] = "\342\235\214 \320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \320\264\320\260\321\200\320\265\320\275\320\270\320\270 \320\277\320\276\320\264\320\277\320\270\321\201\320\272\320\270: "; -static const char __pyx_k__28[] = "\n\320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\277\320\276\320\277\321\200\320\276\320\261\321\203\320\271\321\202\320\265 \321\201\320\275\320\276\320\262\320\260."; -static const char __pyx_k__30[] = ""; -static const char __pyx_k__32[] = "\360\237\216\201 \320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214 \320\277\320\276\320\264\320\260\321\200\320\276\320\272"; -static const char __pyx_k__33[] = " \320\274\320\265\321\201\321\217\321\206\320\265\320\262"; -static const char __pyx_k__34[] = "\360\237\216\201 \320\224\320\276\321\201\321\202\321\203\320\277\320\275\320\276 \320\264\320\276: "; -static const char __pyx_k__35[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \320\276\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\265 \320\270\320\275\320\273\320\260\320\271\320\275-\320\267\320\260\320\277\321\200\320\276\321\201\320\260 \320\277\320\276\320\264\320\260\321\200\320\272\320\260: "; -static const char __pyx_k__37[] = "\n"; -static const char __pyx_k__41[] = "\320\220\320\272\321\202\320\270\320\262\320\260\321\206\320\270\321\217 \320\275\320\260 \320\275\320\265\320\262\320\265\321\200\320\275\320\276\320\274 \321\203\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\265. \320\236\320\261\321\200\320\260\321\202\320\270\321\202\320\265\321\201\321\214 \320\262 \320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\321\203."; -static const char __pyx_k__42[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \320\277\321\200\320\276\320\262\320\265\321\200\320\272\320\265 \320\273\320\270\321\206\320\265\320\275\320\267\320\270\320\270: "; -static const char __pyx_k__43[] = "*"; -static const char __pyx_k__44[] = "."; -static const char __pyx_k__60[] = "?"; -static const char __pyx_k_b_b[] = "\320\222\320\260\321\210\320\270 \320\277\320\276\320\264\320\260\321\200\320\272\320\270:\n\n"; -static const char __pyx_k_end[] = "end"; -static const char __pyx_k_get[] = "get"; -static const char __pyx_k_hex[] = "hex"; -static const char __pyx_k_img[] = "img"; -static const char __pyx_k_row[] = "row"; -static const char __pyx_k_url[] = "url"; -static const char __pyx_k_BACK[] = "BACK"; -static const char __pyx_k_GIFT[] = "GIFT"; -static const char __pyx_k_None[] = "None"; -static const char __pyx_k_args[] = "args"; -static const char __pyx_k_code[] = "code"; -static const char __pyx_k_data[] = "data"; -static const char __pyx_k_days[] = "days"; -static const char __pyx_k_exit[] = "__exit__"; -static const char __pyx_k_gift[] = "gift"; -static const char __pyx_k_info[] = "info"; -static const char __pyx_k_join[] = "join"; -static const char __pyx_k_json[] = "json"; -static const char __pyx_k_main[] = "__main__"; -static const char __pyx_k_name[] = "__name__"; -static const char __pyx_k_open[] = "open"; -static const char __pyx_k_path[] = "path"; -static const char __pyx_k_post[] = "post"; -static const char __pyx_k_read[] = "read"; -static const char __pyx_k_send[] = "send"; -static const char __pyx_k_spec[] = "__spec__"; -static const char __pyx_k_test[] = "__test__"; -static const char __pyx_k_text[] = "text"; -static const char __pyx_k_urls[] = "urls"; -static const char __pyx_k_uuid[] = "uuid"; -static const char __pyx_k_APPLY[] = "APPLY"; -static const char __pyx_k_aexit[] = "__aexit__"; -static const char __pyx_k_await[] = "__await__"; -static const char __pyx_k_close[] = "close"; -static const char __pyx_k_enter[] = "__enter__"; -static const char __pyx_k_error[] = "error"; -static const char __pyx_k_fetch[] = "fetch"; -static const char __pyx_k_gifts[] = "gifts"; -static const char __pyx_k_items[] = "items"; -static const char __pyx_k_price[] = "price"; -static const char __pyx_k_query[] = "query"; -static const char __pyx_k_shell[] = "shell"; -static const char __pyx_k_sleep[] = "sleep"; -static const char __pyx_k_split[] = "split"; -static const char __pyx_k_start[] = "start"; -static const char __pyx_k_state[] = "state"; -static const char __pyx_k_strip[] = "strip"; -static const char __pyx_k_tg_id[] = "tg_id"; -static const char __pyx_k_throw[] = "throw"; -static const char __pyx_k_title[] = "title"; -static const char __pyx_k_total[] = "total"; -static const char __pyx_k_types[] = "types"; -static const char __pyx_k_uuid4[] = "uuid4"; -static const char __pyx_k_CANCEL[] = "CANCEL"; -static const char __pyx_k_Router[] = "Router"; -static const char __pyx_k_adjust[] = "adjust"; -static const char __pyx_k_aenter[] = "__aenter__"; -static const char __pyx_k_answer[] = "answer"; -static const char __pyx_k_button[] = "button"; -static const char __pyx_k_config[] = "config"; -static const char __pyx_k_decode[] = "decode"; -static const char __pyx_k_enable[] = "enable"; -static const char __pyx_k_encode[] = "encode"; -static const char __pyx_k_format[] = "format"; -static const char __pyx_k_gift_2[] = "gift|"; -static const char __pyx_k_gift_3[] = "gift_"; -static const char __pyx_k_import[] = "__import__"; -static const char __pyx_k_logger[] = "logger"; -static const char __pyx_k_months[] = "months"; -static const char __pyx_k_result[] = "result"; -static const char __pyx_k_router[] = "router"; -static const char __pyx_k_sha256[] = "sha256"; -static const char __pyx_k_status[] = "status"; -static const char __pyx_k_system[] = "system"; -static const char __pyx_k_typing[] = "typing"; -static const char __pyx_k_utcnow[] = "utcnow"; -static const char __pyx_k_Windows[] = "Windows"; -static const char __pyx_k_aiogram[] = "aiogram"; -static const char __pyx_k_aiohttp[] = "aiohttp"; -static const char __pyx_k_asyncio[] = "asyncio"; -static const char __pyx_k_asyncpg[] = "asyncpg"; -static const char __pyx_k_balance[] = "balance"; -static const char __pyx_k_builder[] = "builder"; -static const char __pyx_k_disable[] = "disable"; -static const char __pyx_k_execute[] = "execute"; -static const char __pyx_k_gift_id[] = "gift_id"; -static const char __pyx_k_hashlib[] = "hashlib"; -static const char __pyx_k_inspect[] = "inspect"; -static const char __pyx_k_is_used[] = "is_used"; -static const char __pyx_k_message[] = "message"; -static const char __pyx_k_payload[] = "payload"; -static const char __pyx_k_profile[] = "profile"; -static const char __pyx_k_replace[] = "replace"; -static const char __pyx_k_session[] = "session"; -static const char __pyx_k_success[] = "success"; -static const char __pyx_k_timeout[] = "timeout"; -static const char __pyx_k_warning[] = "warning"; -static const char __pyx_k_MY_GIFTS[] = "MY_GIFTS"; -static const char __pyx_k_NO_GIFTS[] = "NO_GIFTS"; -static const char __pyx_k_database[] = "database"; -static const char __pyx_k_datetime[] = "datetime"; -static const char __pyx_k_fetchrow[] = "fetchrow"; -static const char __pyx_k_is_valid[] = "is_valid"; -static const char __pyx_k_my_gifts[] = "my_gifts"; -static const char __pyx_k_platform[] = "platform"; -static const char __pyx_k_response[] = "response"; -static const char __pyx_k_strftime[] = "strftime"; -static const char __pyx_k_MAIN_MENU[] = "MAIN_MENU"; -static const char __pyx_k_as_markup[] = "as_markup"; -static const char __pyx_k_d_m_Y_H_M[] = "%d-%m-%Y %H:%M"; -static const char __pyx_k_from_user[] = "from_user"; -static const char __pyx_k_gift_link[] = "gift_link"; -static const char __pyx_k_gifts_jpg[] = "gifts.jpg"; -static const char __pyx_k_hexdigest[] = "hexdigest"; -static const char __pyx_k_isenabled[] = "isenabled"; -static const char __pyx_k_recipient[] = "recipient"; -static const char __pyx_k_timedelta[] = "timedelta"; -static const char __pyx_k_CRYPTOSALE[] = "CRYPTOSALE"; -static const char __pyx_k_FSMContext[] = "FSMContext"; -static const char __pyx_k_GIFTS_MENU[] = "GIFTS_MENU"; -static const char __pyx_k_SHARE_GIFT[] = "SHARE_GIFT"; -static const char __pyx_k_all_failed[] = "all_failed"; -static const char __pyx_k_cache_time[] = "cache_time"; -static const char __pyx_k_data_parts[] = "data_parts"; -static const char __pyx_k_gifts_page[] = "gifts_page"; -static const char __pyx_k_gifts_text[] = "gifts_text"; -static const char __pyx_k_image_path[] = "image_path"; -static const char __pyx_k_media_path[] = "media_path"; -static const char __pyx_k_my_gifts_2[] = "my_gifts|"; -static const char __pyx_k_share_text[] = "share_text"; -static const char __pyx_k_show_alert[] = "show_alert"; -static const char __pyx_k_startswith[] = "startswith"; -static const char __pyx_k_subprocess[] = "subprocess"; -static const char __pyx_k_user_tg_id[] = "user_tg_id"; -static const char __pyx_k_CLIENT_CODE[] = "CLIENT_CODE"; -static const char __pyx_k_GIFTS_ABOUT[] = "GIFTS_ABOUT"; -static const char __pyx_k_GIFT_CHOICE[] = "GIFT_CHOICE"; -static const char __pyx_k_INLINE_MODE[] = "INLINE_MODE"; -static const char __pyx_k_InlineQuery[] = "InlineQuery"; -static const char __pyx_k_delete_gift[] = "delete_gift|"; -static const char __pyx_k_description[] = "description"; -static const char __pyx_k_expiry_time[] = "expiry_time"; -static const char __pyx_k_get_balance[] = "get_balance"; -static const char __pyx_k_hardware_id[] = "hardware_id"; -static const char __pyx_k_months_text[] = "months_text"; -static const char __pyx_k_solonet_sup[] = "\342\235\214 \320\237\320\270\321\200\320\260\321\202\321\201\320\272\320\260\321\217 \320\262\320\265\321\200\321\201\320\270\321\217, \320\276\320\261\321\200\320\260\321\202\320\270\321\202\320\265\321\201\321\214 \320\262 \320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\321\203 @solonet_sup."; -static const char __pyx_k_21U68SOLOBOT[] = "21U68SOLOBOT"; -static const char __pyx_k_STARS_ROUTER[] = "STARS_ROUTER"; -static const char __pyx_k_TimeoutError[] = "TimeoutError"; -static const char __pyx_k_check_output[] = "check_output"; -static const char __pyx_k_confirm_gift[] = "confirm_gift|"; -static const char __pyx_k_current_page[] = "current_page"; -static const char __pyx_k_initializing[] = "_initializing"; -static const char __pyx_k_inline_query[] = "inline_query"; -static const char __pyx_k_is_coroutine[] = "_is_coroutine"; -static const char __pyx_k_message_text[] = "message_text"; -static const char __pyx_k_reply_markup[] = "reply_markup"; -static const char __pyx_k_ClientSession[] = "ClientSession"; -static const char __pyx_k_ClientTimeout[] = "ClientTimeout"; -static const char __pyx_k_YOOKASSA_HASH[] = "YOOKASSA_HASH"; -static const char __pyx_k_aiogram_types[] = "aiogram.types"; -static const char __pyx_k_asyncio_tasks[] = "asyncio.tasks"; -static const char __pyx_k_callback_data[] = "callback_data"; -static const char __pyx_k_get_gift_link[] = "get_gift_link"; -static const char __pyx_k_GIFTS_PER_PAGE[] = "GIFTS_PER_PAGE"; -static const char __pyx_k_RENEWAL_PRICES[] = "RENEWAL_PRICES"; -static const char __pyx_k_callback_query[] = "callback_query"; -static const char __pyx_k_etc_machine_id[] = "/etc/machine-id"; -static const char __pyx_k_handlers_texts[] = "handlers.texts"; -static const char __pyx_k_handlers_utils[] = "handlers.utils"; -static const char __pyx_k_target_message[] = "target_message"; -static const char __pyx_k_update_balance[] = "update_balance"; -static const char __pyx_k_get_hardware_id[] = "get_hardware_id"; -static const char __pyx_k_recipient_tg_id[] = "recipient_tg_id"; -static const char __pyx_k_selected_months[] = "selected_months"; -static const char __pyx_k_store_gift_link[] = "store_gift_link"; -static const char __pyx_k_HASHHASHYOOKASSA[] = "HASHHASHYOOKASSA"; -static const char __pyx_k_handlers_buttons[] = "handlers.buttons"; -static const char __pyx_k_my_gifts_handler[] = "my_gifts_handler"; -static const char __pyx_k_confirmation_text[] = "confirmation_text"; -static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines"; -static const char __pyx_k_asyncpg_Connection[] = "asyncpg.Connection"; -static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; -static const char __pyx_k_start_menu_handler[] = "start_menu_handler"; -static const char __pyx_k_ClientResponseError[] = "ClientResponseError"; -static const char __pyx_k_GIFTS_TEXT_TEMPLATE[] = "GIFTS_TEXT_TEMPLATE"; -static const char __pyx_k_SHARE_TEXT_TEMPLATE[] = "SHARE_TEXT_TEMPLATE"; -static const char __pyx_k_aiogram_fsm_context[] = "aiogram.fsm.context"; -static const char __pyx_k_delete_gift_handler[] = "delete_gift_handler"; -static const char __pyx_k_inline_gift_handler[] = "inline_gift_handler"; -static const char __pyx_k_switch_inline_query[] = "switch_inline_query"; -static const char __pyx_k_types_CallbackQuery[] = "types.CallbackQuery"; -static const char __pyx_k_ClientConnectorError[] = "ClientConnectorError"; -static const char __pyx_k_InlineKeyboardButton[] = "InlineKeyboardButton"; -static const char __pyx_k_PROJECTMANECONGIGURE[] = "PROJECTMANECONGIGURE"; -static const char __pyx_k_confirm_gift_handler[] = "confirm_gift_handler"; -static const char __pyx_k_edit_or_send_message[] = "edit_or_send_message"; -static const char __pyx_k_validate_client_code[] = "validate_client_code"; -static const char __pyx_k_InlineKeyboardBuilder[] = "InlineKeyboardBuilder"; -static const char __pyx_k_finalize_gift_handler[] = "finalize_gift_handler"; -static const char __pyx_k_input_message_content[] = "input_message_content"; -static const char __pyx_k_aiogram_utils_keyboard[] = "aiogram.utils.keyboard"; -static const char __pyx_k_handlers_payments_gift[] = "handlers.payments.gift"; -static const char __pyx_k_InputTextMessageContent[] = "InputTextMessageContent"; -static const char __pyx_k_InlineQueryResultArticle[] = "InlineQueryResultArticle"; -static const char __pyx_k_wmic_cpu_get_ProcessorId[] = "wmic cpu get ProcessorId"; -static const char __pyx_k_gift_subscription_handler[] = "gift_subscription_handler"; -static const char __pyx_k_handlers_payments_gift_py[] = "handlers/payments/gift.py"; -static const char __pyx_k_get_gift_confirmation_text[] = "get_gift_confirmation_text"; -static const char __pyx_k_SELECT_gift_id_selected_months[] = "\n SELECT gift_id, selected_months, is_used, expiry_time, recipient_tg_id, gift_link \n FROM gifts \n WHERE sender_tg_id = $1\n "; -static const char __pyx_k_SHARE_TEXT_TEMPLATE_NOT_INLINE[] = "SHARE_TEXT_TEMPLATE_NOT_INLINE"; -static const char __pyx_k_DELETE_FROM_gifts_WHERE_gift_id[] = "DELETE FROM gifts WHERE gift_id = $1"; -static const char __pyx_k_SELECT_gift_link_selected_month[] = "\n SELECT gift_link, selected_months, expiry_time\n FROM gifts\n WHERE gift_id = $1 AND is_used = FALSE\n "; -static const char __pyx_k_https_pocomacho_ru_solonetbot_co[] = "https://pocomacho.ru/solonetbot/codes/add/"; -static const char __pyx_k_https_solobot_ru_solonetbot_code[] = "https://solobot.ru/solonetbot/codes/add/"; -/* #### Code section: decls ### */ -static PyObject *__pyx_pf_8handlers_8payments_4gift_start_menu_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_4gift_3my_gifts_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_4gift_6delete_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_4gift_9gift_subscription_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_4gift_12confirm_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_4gift_15finalize_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_state, PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_4gift_18inline_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_inline_query, PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_4gift_21get_hardware_id(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_4gift_23validate_client_code(CYTHON_UNUSED PyObject *__pyx_self); /* proto */ -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -/* #### Code section: late_includes ### */ -/* #### Code section: module_state ### */ -typedef struct { - PyObject *__pyx_d; - PyObject *__pyx_b; - PyObject *__pyx_cython_runtime; - PyObject *__pyx_empty_tuple; - PyObject *__pyx_empty_bytes; - PyObject *__pyx_empty_unicode; - #ifdef __Pyx_CyFunction_USED - PyTypeObject *__pyx_CyFunctionType; - #endif - #ifdef __Pyx_FusedFunction_USED - PyTypeObject *__pyx_FusedFunctionType; - #endif - #ifdef __Pyx_Generator_USED - PyTypeObject *__pyx_GeneratorType; - #endif - #ifdef __Pyx_IterableCoroutine_USED - PyTypeObject *__pyx_IterableCoroutineType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineAwaitType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineType; - #endif - #if CYTHON_USE_MODULE_STATE - PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler; - PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler; - PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler; - PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler; - PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler; - PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler; - PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler; - PyObject *__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code; - #endif - PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler; - PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler; - PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler; - PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler; - PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler; - PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler; - PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler; - PyTypeObject *__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code; - PyObject *__pyx_kp_u_1; - PyObject *__pyx_kp_u_21U68SOLOBOT; - PyObject *__pyx_n_s_APPLY; - PyObject *__pyx_n_s_Any; - PyObject *__pyx_n_s_BACK; - PyObject *__pyx_n_s_CANCEL; - PyObject *__pyx_n_s_CLIENT_CODE; - PyObject *__pyx_n_u_CRYPTOSALE; - PyObject *__pyx_n_s_ClientConnectorError; - PyObject *__pyx_n_s_ClientResponseError; - PyObject *__pyx_n_s_ClientSession; - PyObject *__pyx_n_s_ClientTimeout; - PyObject *__pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id; - PyObject *__pyx_n_s_F; - PyObject *__pyx_n_s_FSMContext; - PyObject *__pyx_n_s_GIFT; - PyObject *__pyx_n_s_GIFTS_ABOUT; - PyObject *__pyx_n_s_GIFTS_MENU; - PyObject *__pyx_n_s_GIFTS_PER_PAGE; - PyObject *__pyx_n_s_GIFTS_TEXT_TEMPLATE; - PyObject *__pyx_n_s_GIFT_CHOICE; - PyObject *__pyx_n_u_HASHHASHYOOKASSA; - PyObject *__pyx_n_s_INLINE_MODE; - PyObject *__pyx_n_s_InlineKeyboardBuilder; - PyObject *__pyx_n_s_InlineKeyboardButton; - PyObject *__pyx_n_s_InlineQuery; - PyObject *__pyx_n_s_InlineQueryResultArticle; - PyObject *__pyx_n_s_InputTextMessageContent; - PyObject *__pyx_n_s_MAIN_MENU; - PyObject *__pyx_n_s_MY_GIFTS; - PyObject *__pyx_n_s_NO_GIFTS; - PyObject *__pyx_kp_u_None; - PyObject *__pyx_n_s_PROJECTMANECONGIGURE; - PyObject *__pyx_n_s_RENEWAL_PRICES; - PyObject *__pyx_n_s_Router; - PyObject *__pyx_kp_u_SELECT_gift_id_selected_months; - PyObject *__pyx_kp_u_SELECT_gift_link_selected_month; - PyObject *__pyx_n_s_SHARE_GIFT; - PyObject *__pyx_n_s_SHARE_TEXT_TEMPLATE; - PyObject *__pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE; - PyObject *__pyx_n_s_STARS_ROUTER; - PyObject *__pyx_n_s_TimeoutError; - PyObject *__pyx_kp_u_VPN; - PyObject *__pyx_n_u_Windows; - PyObject *__pyx_n_s_YOOKASSA_HASH; - PyObject *__pyx_kp_u__10; - PyObject *__pyx_kp_u__11; - PyObject *__pyx_kp_u__12; - PyObject *__pyx_kp_u__13; - PyObject *__pyx_kp_u__15; - PyObject *__pyx_kp_u__17; - PyObject *__pyx_kp_u__18; - PyObject *__pyx_kp_u__19; - PyObject *__pyx_kp_u__20; - PyObject *__pyx_kp_u__22; - PyObject *__pyx_kp_u__24; - PyObject *__pyx_kp_u__26; - PyObject *__pyx_kp_u__27; - PyObject *__pyx_kp_u__28; - PyObject *__pyx_kp_u__30; - PyObject *__pyx_kp_u__32; - PyObject *__pyx_kp_u__33; - PyObject *__pyx_kp_u__34; - PyObject *__pyx_kp_u__35; - PyObject *__pyx_kp_u__37; - PyObject *__pyx_kp_u__4; - PyObject *__pyx_kp_u__41; - PyObject *__pyx_kp_u__42; - PyObject *__pyx_n_s__43; - PyObject *__pyx_kp_u__44; - PyObject *__pyx_n_u__5; - PyObject *__pyx_n_u__6; - PyObject *__pyx_n_s__60; - PyObject *__pyx_n_u__7; - PyObject *__pyx_n_u__8; - PyObject *__pyx_n_u__9; - PyObject *__pyx_n_s_adjust; - PyObject *__pyx_n_s_aenter; - PyObject *__pyx_n_s_aexit; - PyObject *__pyx_n_s_aiogram; - PyObject *__pyx_n_s_aiogram_fsm_context; - PyObject *__pyx_n_s_aiogram_types; - PyObject *__pyx_n_s_aiogram_utils_keyboard; - PyObject *__pyx_n_s_aiohttp; - PyObject *__pyx_n_s_all_failed; - PyObject *__pyx_n_s_answer; - PyObject *__pyx_n_s_args; - PyObject *__pyx_n_s_as_markup; - PyObject *__pyx_n_s_asyncio; - PyObject *__pyx_n_s_asyncio_coroutines; - PyObject *__pyx_n_s_asyncio_tasks; - PyObject *__pyx_n_s_asyncpg; - PyObject *__pyx_kp_s_asyncpg_Connection; - PyObject *__pyx_n_s_await; - PyObject *__pyx_kp_u_b_b; - PyObject *__pyx_n_s_balance; - PyObject *__pyx_n_s_builder; - PyObject *__pyx_n_s_button; - PyObject *__pyx_n_s_cache_time; - PyObject *__pyx_n_s_callback_data; - PyObject *__pyx_n_s_callback_query; - PyObject *__pyx_n_s_check_output; - PyObject *__pyx_n_s_cline_in_traceback; - PyObject *__pyx_n_s_close; - PyObject *__pyx_n_u_code; - PyObject *__pyx_n_s_config; - PyObject *__pyx_kp_u_confirm_gift; - PyObject *__pyx_n_s_confirm_gift_handler; - PyObject *__pyx_n_s_confirmation_text; - PyObject *__pyx_n_s_current_page; - PyObject *__pyx_kp_u_d_m_Y_H_M; - PyObject *__pyx_n_s_data; - PyObject *__pyx_n_s_data_parts; - PyObject *__pyx_n_s_database; - PyObject *__pyx_n_s_datetime; - PyObject *__pyx_n_s_days; - PyObject *__pyx_n_s_decode; - PyObject *__pyx_kp_u_delete_gift; - PyObject *__pyx_n_s_delete_gift_handler; - PyObject *__pyx_n_s_description; - PyObject *__pyx_kp_u_disable; - PyObject *__pyx_n_s_e; - PyObject *__pyx_n_s_edit_or_send_message; - PyObject *__pyx_kp_u_enable; - PyObject *__pyx_n_s_encode; - PyObject *__pyx_n_s_end; - PyObject *__pyx_n_s_enter; - PyObject *__pyx_n_s_error; - PyObject *__pyx_n_u_error; - PyObject *__pyx_kp_u_etc_machine_id; - PyObject *__pyx_n_s_execute; - PyObject *__pyx_n_s_exit; - PyObject *__pyx_n_s_expiry_time; - PyObject *__pyx_n_u_expiry_time; - PyObject *__pyx_n_s_f; - PyObject *__pyx_n_s_fetch; - PyObject *__pyx_n_s_fetchrow; - PyObject *__pyx_n_s_finalize_gift_handler; - PyObject *__pyx_n_s_format; - PyObject *__pyx_n_s_from_user; - PyObject *__pyx_kp_u_gc; - PyObject *__pyx_n_s_get; - PyObject *__pyx_n_s_get_balance; - PyObject *__pyx_n_s_get_gift_confirmation_text; - PyObject *__pyx_n_s_get_gift_link; - PyObject *__pyx_n_s_get_hardware_id; - PyObject *__pyx_n_s_gift; - PyObject *__pyx_n_u_gift; - PyObject *__pyx_kp_u_gift_2; - PyObject *__pyx_n_u_gift_3; - PyObject *__pyx_n_s_gift_id; - PyObject *__pyx_n_u_gift_id; - PyObject *__pyx_n_s_gift_link; - PyObject *__pyx_n_u_gift_link; - PyObject *__pyx_n_s_gift_subscription_handler; - PyObject *__pyx_n_s_gifts; - PyObject *__pyx_n_u_gifts; - PyObject *__pyx_kp_u_gifts_jpg; - PyObject *__pyx_n_s_gifts_page; - PyObject *__pyx_n_s_gifts_text; - PyObject *__pyx_n_s_handlers_buttons; - PyObject *__pyx_n_s_handlers_payments_gift; - PyObject *__pyx_kp_s_handlers_payments_gift_py; - PyObject *__pyx_n_s_handlers_texts; - PyObject *__pyx_n_s_handlers_utils; - PyObject *__pyx_n_s_hardware_id; - PyObject *__pyx_n_u_hardware_id; - PyObject *__pyx_n_s_hashlib; - PyObject *__pyx_n_s_hex; - PyObject *__pyx_n_s_hexdigest; - PyObject *__pyx_kp_u_https_pocomacho_ru_solonetbot_co; - PyObject *__pyx_kp_u_https_solobot_ru_solonetbot_code; - PyObject *__pyx_n_s_id; - PyObject *__pyx_n_s_image_path; - PyObject *__pyx_n_u_img; - PyObject *__pyx_n_s_import; - PyObject *__pyx_n_s_info; - PyObject *__pyx_n_s_initializing; - PyObject *__pyx_n_s_inline_gift_handler; - PyObject *__pyx_n_s_inline_query; - PyObject *__pyx_n_s_input_message_content; - PyObject *__pyx_n_s_inspect; - PyObject *__pyx_n_s_is_coroutine; - PyObject *__pyx_n_s_is_used; - PyObject *__pyx_n_u_is_used; - PyObject *__pyx_n_s_is_valid; - PyObject *__pyx_kp_u_isenabled; - PyObject *__pyx_n_s_items; - PyObject *__pyx_n_s_join; - PyObject *__pyx_n_s_json; - PyObject *__pyx_n_s_logger; - PyObject *__pyx_n_s_main; - PyObject *__pyx_n_s_media_path; - PyObject *__pyx_n_s_message; - PyObject *__pyx_n_s_message_text; - PyObject *__pyx_n_s_months; - PyObject *__pyx_n_s_months_text; - PyObject *__pyx_n_u_my_gifts; - PyObject *__pyx_kp_u_my_gifts_2; - PyObject *__pyx_n_s_my_gifts_handler; - PyObject *__pyx_n_s_name; - PyObject *__pyx_n_s_open; - PyObject *__pyx_n_s_os; - PyObject *__pyx_n_s_path; - PyObject *__pyx_n_s_payload; - PyObject *__pyx_n_s_platform; - PyObject *__pyx_n_s_post; - PyObject *__pyx_n_s_price; - PyObject *__pyx_n_u_profile; - PyObject *__pyx_n_s_query; - PyObject *__pyx_n_s_read; - PyObject *__pyx_n_s_recipient; - PyObject *__pyx_n_u_recipient_tg_id; - PyObject *__pyx_n_s_replace; - PyObject *__pyx_n_s_reply_markup; - PyObject *__pyx_n_s_response; - PyObject *__pyx_n_s_result; - PyObject *__pyx_n_s_router; - PyObject *__pyx_n_s_row; - PyObject *__pyx_n_s_selected_months; - PyObject *__pyx_n_u_selected_months; - PyObject *__pyx_n_s_send; - PyObject *__pyx_n_s_session; - PyObject *__pyx_n_s_sha256; - PyObject *__pyx_n_s_share_text; - PyObject *__pyx_n_s_shell; - PyObject *__pyx_n_s_show_alert; - PyObject *__pyx_n_s_sleep; - PyObject *__pyx_kp_u_solonet_sup; - PyObject *__pyx_n_s_spec; - PyObject *__pyx_n_s_split; - PyObject *__pyx_n_s_start; - PyObject *__pyx_n_s_start_menu_handler; - PyObject *__pyx_n_s_startswith; - PyObject *__pyx_n_s_state; - PyObject *__pyx_n_s_status; - PyObject *__pyx_n_u_status; - PyObject *__pyx_n_s_store_gift_link; - PyObject *__pyx_n_s_strftime; - PyObject *__pyx_n_s_strip; - PyObject *__pyx_n_s_subprocess; - PyObject *__pyx_n_u_success; - PyObject *__pyx_n_s_switch_inline_query; - PyObject *__pyx_n_s_system; - PyObject *__pyx_n_s_target_message; - PyObject *__pyx_n_s_test; - PyObject *__pyx_n_s_text; - PyObject *__pyx_n_s_tg_id; - PyObject *__pyx_n_s_throw; - PyObject *__pyx_n_s_timedelta; - PyObject *__pyx_n_s_timeout; - PyObject *__pyx_n_s_title; - PyObject *__pyx_n_s_total; - PyObject *__pyx_n_s_types; - PyObject *__pyx_kp_s_types_CallbackQuery; - PyObject *__pyx_n_s_typing; - PyObject *__pyx_n_s_update_balance; - PyObject *__pyx_n_s_url; - PyObject *__pyx_n_s_urls; - PyObject *__pyx_n_s_user_tg_id; - PyObject *__pyx_n_s_utcnow; - PyObject *__pyx_n_s_uuid; - PyObject *__pyx_n_s_uuid4; - PyObject *__pyx_n_s_validate_client_code; - PyObject *__pyx_n_s_warning; - PyObject *__pyx_kp_u_wmic_cpu_get_ProcessorId; - PyObject *__pyx_int_0; - PyObject *__pyx_int_1; - PyObject *__pyx_int_2; - PyObject *__pyx_int_3; - PyObject *__pyx_int_4; - PyObject *__pyx_int_5; - PyObject *__pyx_int_30; - PyObject *__pyx_int_200; - PyObject *__pyx_int_404; - PyObject *__pyx_int_502; - PyObject *__pyx_codeobj_; - PyObject *__pyx_tuple__2; - PyObject *__pyx_tuple__23; - PyObject *__pyx_tuple__31; - PyObject *__pyx_tuple__36; - PyObject *__pyx_tuple__38; - PyObject *__pyx_tuple__39; - PyObject *__pyx_tuple__45; - PyObject *__pyx_tuple__46; - PyObject *__pyx_tuple__47; - PyObject *__pyx_tuple__48; - PyObject *__pyx_tuple__49; - PyObject *__pyx_tuple__50; - PyObject *__pyx_tuple__51; - PyObject *__pyx_tuple__52; - PyObject *__pyx_tuple__53; - PyObject *__pyx_tuple__54; - PyObject *__pyx_tuple__55; - PyObject *__pyx_tuple__56; - PyObject *__pyx_tuple__57; - PyObject *__pyx_tuple__59; - PyObject *__pyx_codeobj__3; - PyObject *__pyx_codeobj__14; - PyObject *__pyx_codeobj__16; - PyObject *__pyx_codeobj__21; - PyObject *__pyx_codeobj__25; - PyObject *__pyx_codeobj__29; - PyObject *__pyx_codeobj__40; - PyObject *__pyx_codeobj__58; -} __pyx_mstate; - -#if CYTHON_USE_MODULE_STATE -#ifdef __cplusplus -namespace { - extern struct PyModuleDef __pyx_moduledef; -} /* anonymous namespace */ -#else -static struct PyModuleDef __pyx_moduledef; -#endif - -#define __pyx_mstate(o) ((__pyx_mstate *)__Pyx_PyModule_GetState(o)) - -#define __pyx_mstate_global (__pyx_mstate(PyState_FindModule(&__pyx_moduledef))) - -#define __pyx_m (PyState_FindModule(&__pyx_moduledef)) -#else -static __pyx_mstate __pyx_mstate_global_static = -#ifdef __cplusplus - {}; -#else - {0}; -#endif -static __pyx_mstate *__pyx_mstate_global = &__pyx_mstate_global_static; -#endif -/* #### Code section: module_state_clear ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_clear(PyObject *m) { - __pyx_mstate *clear_module_state = __pyx_mstate(m); - if (!clear_module_state) return 0; - Py_CLEAR(clear_module_state->__pyx_d); - Py_CLEAR(clear_module_state->__pyx_b); - Py_CLEAR(clear_module_state->__pyx_cython_runtime); - Py_CLEAR(clear_module_state->__pyx_empty_tuple); - Py_CLEAR(clear_module_state->__pyx_empty_bytes); - Py_CLEAR(clear_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_CLEAR(clear_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_CLEAR(clear_module_state->__pyx_FusedFunctionType); - #endif - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code); - Py_CLEAR(clear_module_state->__pyx_kp_u_1); - Py_CLEAR(clear_module_state->__pyx_kp_u_21U68SOLOBOT); - Py_CLEAR(clear_module_state->__pyx_n_s_APPLY); - Py_CLEAR(clear_module_state->__pyx_n_s_Any); - Py_CLEAR(clear_module_state->__pyx_n_s_BACK); - Py_CLEAR(clear_module_state->__pyx_n_s_CANCEL); - Py_CLEAR(clear_module_state->__pyx_n_s_CLIENT_CODE); - Py_CLEAR(clear_module_state->__pyx_n_u_CRYPTOSALE); - Py_CLEAR(clear_module_state->__pyx_n_s_ClientConnectorError); - Py_CLEAR(clear_module_state->__pyx_n_s_ClientResponseError); - Py_CLEAR(clear_module_state->__pyx_n_s_ClientSession); - Py_CLEAR(clear_module_state->__pyx_n_s_ClientTimeout); - Py_CLEAR(clear_module_state->__pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id); - Py_CLEAR(clear_module_state->__pyx_n_s_F); - Py_CLEAR(clear_module_state->__pyx_n_s_FSMContext); - Py_CLEAR(clear_module_state->__pyx_n_s_GIFT); - Py_CLEAR(clear_module_state->__pyx_n_s_GIFTS_ABOUT); - Py_CLEAR(clear_module_state->__pyx_n_s_GIFTS_MENU); - Py_CLEAR(clear_module_state->__pyx_n_s_GIFTS_PER_PAGE); - Py_CLEAR(clear_module_state->__pyx_n_s_GIFTS_TEXT_TEMPLATE); - Py_CLEAR(clear_module_state->__pyx_n_s_GIFT_CHOICE); - Py_CLEAR(clear_module_state->__pyx_n_u_HASHHASHYOOKASSA); - Py_CLEAR(clear_module_state->__pyx_n_s_INLINE_MODE); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardButton); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineQuery); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineQueryResultArticle); - Py_CLEAR(clear_module_state->__pyx_n_s_InputTextMessageContent); - Py_CLEAR(clear_module_state->__pyx_n_s_MAIN_MENU); - Py_CLEAR(clear_module_state->__pyx_n_s_MY_GIFTS); - Py_CLEAR(clear_module_state->__pyx_n_s_NO_GIFTS); - Py_CLEAR(clear_module_state->__pyx_kp_u_None); - Py_CLEAR(clear_module_state->__pyx_n_s_PROJECTMANECONGIGURE); - Py_CLEAR(clear_module_state->__pyx_n_s_RENEWAL_PRICES); - Py_CLEAR(clear_module_state->__pyx_n_s_Router); - Py_CLEAR(clear_module_state->__pyx_kp_u_SELECT_gift_id_selected_months); - Py_CLEAR(clear_module_state->__pyx_kp_u_SELECT_gift_link_selected_month); - Py_CLEAR(clear_module_state->__pyx_n_s_SHARE_GIFT); - Py_CLEAR(clear_module_state->__pyx_n_s_SHARE_TEXT_TEMPLATE); - Py_CLEAR(clear_module_state->__pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE); - Py_CLEAR(clear_module_state->__pyx_n_s_STARS_ROUTER); - Py_CLEAR(clear_module_state->__pyx_n_s_TimeoutError); - Py_CLEAR(clear_module_state->__pyx_kp_u_VPN); - Py_CLEAR(clear_module_state->__pyx_n_u_Windows); - Py_CLEAR(clear_module_state->__pyx_n_s_YOOKASSA_HASH); - Py_CLEAR(clear_module_state->__pyx_kp_u__10); - Py_CLEAR(clear_module_state->__pyx_kp_u__11); - Py_CLEAR(clear_module_state->__pyx_kp_u__12); - Py_CLEAR(clear_module_state->__pyx_kp_u__13); - Py_CLEAR(clear_module_state->__pyx_kp_u__15); - Py_CLEAR(clear_module_state->__pyx_kp_u__17); - Py_CLEAR(clear_module_state->__pyx_kp_u__18); - Py_CLEAR(clear_module_state->__pyx_kp_u__19); - Py_CLEAR(clear_module_state->__pyx_kp_u__20); - Py_CLEAR(clear_module_state->__pyx_kp_u__22); - Py_CLEAR(clear_module_state->__pyx_kp_u__24); - Py_CLEAR(clear_module_state->__pyx_kp_u__26); - Py_CLEAR(clear_module_state->__pyx_kp_u__27); - Py_CLEAR(clear_module_state->__pyx_kp_u__28); - Py_CLEAR(clear_module_state->__pyx_kp_u__30); - Py_CLEAR(clear_module_state->__pyx_kp_u__32); - Py_CLEAR(clear_module_state->__pyx_kp_u__33); - Py_CLEAR(clear_module_state->__pyx_kp_u__34); - Py_CLEAR(clear_module_state->__pyx_kp_u__35); - Py_CLEAR(clear_module_state->__pyx_kp_u__37); - Py_CLEAR(clear_module_state->__pyx_kp_u__4); - Py_CLEAR(clear_module_state->__pyx_kp_u__41); - Py_CLEAR(clear_module_state->__pyx_kp_u__42); - Py_CLEAR(clear_module_state->__pyx_n_s__43); - Py_CLEAR(clear_module_state->__pyx_kp_u__44); - Py_CLEAR(clear_module_state->__pyx_n_u__5); - Py_CLEAR(clear_module_state->__pyx_n_u__6); - Py_CLEAR(clear_module_state->__pyx_n_s__60); - Py_CLEAR(clear_module_state->__pyx_n_u__7); - Py_CLEAR(clear_module_state->__pyx_n_u__8); - Py_CLEAR(clear_module_state->__pyx_n_u__9); - Py_CLEAR(clear_module_state->__pyx_n_s_adjust); - Py_CLEAR(clear_module_state->__pyx_n_s_aenter); - Py_CLEAR(clear_module_state->__pyx_n_s_aexit); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_fsm_context); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_types); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_CLEAR(clear_module_state->__pyx_n_s_aiohttp); - Py_CLEAR(clear_module_state->__pyx_n_s_all_failed); - Py_CLEAR(clear_module_state->__pyx_n_s_answer); - Py_CLEAR(clear_module_state->__pyx_n_s_args); - Py_CLEAR(clear_module_state->__pyx_n_s_as_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncio); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_tasks); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncpg); - Py_CLEAR(clear_module_state->__pyx_kp_s_asyncpg_Connection); - Py_CLEAR(clear_module_state->__pyx_n_s_await); - Py_CLEAR(clear_module_state->__pyx_kp_u_b_b); - Py_CLEAR(clear_module_state->__pyx_n_s_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_builder); - Py_CLEAR(clear_module_state->__pyx_n_s_button); - Py_CLEAR(clear_module_state->__pyx_n_s_cache_time); - Py_CLEAR(clear_module_state->__pyx_n_s_callback_data); - Py_CLEAR(clear_module_state->__pyx_n_s_callback_query); - Py_CLEAR(clear_module_state->__pyx_n_s_check_output); - Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback); - Py_CLEAR(clear_module_state->__pyx_n_s_close); - Py_CLEAR(clear_module_state->__pyx_n_u_code); - Py_CLEAR(clear_module_state->__pyx_n_s_config); - Py_CLEAR(clear_module_state->__pyx_kp_u_confirm_gift); - Py_CLEAR(clear_module_state->__pyx_n_s_confirm_gift_handler); - Py_CLEAR(clear_module_state->__pyx_n_s_confirmation_text); - Py_CLEAR(clear_module_state->__pyx_n_s_current_page); - Py_CLEAR(clear_module_state->__pyx_kp_u_d_m_Y_H_M); - Py_CLEAR(clear_module_state->__pyx_n_s_data); - Py_CLEAR(clear_module_state->__pyx_n_s_data_parts); - Py_CLEAR(clear_module_state->__pyx_n_s_database); - Py_CLEAR(clear_module_state->__pyx_n_s_datetime); - Py_CLEAR(clear_module_state->__pyx_n_s_days); - Py_CLEAR(clear_module_state->__pyx_n_s_decode); - Py_CLEAR(clear_module_state->__pyx_kp_u_delete_gift); - Py_CLEAR(clear_module_state->__pyx_n_s_delete_gift_handler); - Py_CLEAR(clear_module_state->__pyx_n_s_description); - Py_CLEAR(clear_module_state->__pyx_kp_u_disable); - Py_CLEAR(clear_module_state->__pyx_n_s_e); - Py_CLEAR(clear_module_state->__pyx_n_s_edit_or_send_message); - Py_CLEAR(clear_module_state->__pyx_kp_u_enable); - Py_CLEAR(clear_module_state->__pyx_n_s_encode); - Py_CLEAR(clear_module_state->__pyx_n_s_end); - Py_CLEAR(clear_module_state->__pyx_n_s_enter); - Py_CLEAR(clear_module_state->__pyx_n_s_error); - Py_CLEAR(clear_module_state->__pyx_n_u_error); - Py_CLEAR(clear_module_state->__pyx_kp_u_etc_machine_id); - Py_CLEAR(clear_module_state->__pyx_n_s_execute); - Py_CLEAR(clear_module_state->__pyx_n_s_exit); - Py_CLEAR(clear_module_state->__pyx_n_s_expiry_time); - Py_CLEAR(clear_module_state->__pyx_n_u_expiry_time); - Py_CLEAR(clear_module_state->__pyx_n_s_f); - Py_CLEAR(clear_module_state->__pyx_n_s_fetch); - Py_CLEAR(clear_module_state->__pyx_n_s_fetchrow); - Py_CLEAR(clear_module_state->__pyx_n_s_finalize_gift_handler); - Py_CLEAR(clear_module_state->__pyx_n_s_format); - Py_CLEAR(clear_module_state->__pyx_n_s_from_user); - Py_CLEAR(clear_module_state->__pyx_kp_u_gc); - Py_CLEAR(clear_module_state->__pyx_n_s_get); - Py_CLEAR(clear_module_state->__pyx_n_s_get_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_get_gift_confirmation_text); - Py_CLEAR(clear_module_state->__pyx_n_s_get_gift_link); - Py_CLEAR(clear_module_state->__pyx_n_s_get_hardware_id); - Py_CLEAR(clear_module_state->__pyx_n_s_gift); - Py_CLEAR(clear_module_state->__pyx_n_u_gift); - Py_CLEAR(clear_module_state->__pyx_kp_u_gift_2); - Py_CLEAR(clear_module_state->__pyx_n_u_gift_3); - Py_CLEAR(clear_module_state->__pyx_n_s_gift_id); - Py_CLEAR(clear_module_state->__pyx_n_u_gift_id); - Py_CLEAR(clear_module_state->__pyx_n_s_gift_link); - Py_CLEAR(clear_module_state->__pyx_n_u_gift_link); - Py_CLEAR(clear_module_state->__pyx_n_s_gift_subscription_handler); - Py_CLEAR(clear_module_state->__pyx_n_s_gifts); - Py_CLEAR(clear_module_state->__pyx_n_u_gifts); - Py_CLEAR(clear_module_state->__pyx_kp_u_gifts_jpg); - Py_CLEAR(clear_module_state->__pyx_n_s_gifts_page); - Py_CLEAR(clear_module_state->__pyx_n_s_gifts_text); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_buttons); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_gift); - Py_CLEAR(clear_module_state->__pyx_kp_s_handlers_payments_gift_py); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_texts); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_utils); - Py_CLEAR(clear_module_state->__pyx_n_s_hardware_id); - Py_CLEAR(clear_module_state->__pyx_n_u_hardware_id); - Py_CLEAR(clear_module_state->__pyx_n_s_hashlib); - Py_CLEAR(clear_module_state->__pyx_n_s_hex); - Py_CLEAR(clear_module_state->__pyx_n_s_hexdigest); - Py_CLEAR(clear_module_state->__pyx_kp_u_https_pocomacho_ru_solonetbot_co); - Py_CLEAR(clear_module_state->__pyx_kp_u_https_solobot_ru_solonetbot_code); - Py_CLEAR(clear_module_state->__pyx_n_s_id); - Py_CLEAR(clear_module_state->__pyx_n_s_image_path); - Py_CLEAR(clear_module_state->__pyx_n_u_img); - Py_CLEAR(clear_module_state->__pyx_n_s_import); - Py_CLEAR(clear_module_state->__pyx_n_s_info); - Py_CLEAR(clear_module_state->__pyx_n_s_initializing); - Py_CLEAR(clear_module_state->__pyx_n_s_inline_gift_handler); - Py_CLEAR(clear_module_state->__pyx_n_s_inline_query); - Py_CLEAR(clear_module_state->__pyx_n_s_input_message_content); - Py_CLEAR(clear_module_state->__pyx_n_s_inspect); - Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine); - Py_CLEAR(clear_module_state->__pyx_n_s_is_used); - Py_CLEAR(clear_module_state->__pyx_n_u_is_used); - Py_CLEAR(clear_module_state->__pyx_n_s_is_valid); - Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled); - Py_CLEAR(clear_module_state->__pyx_n_s_items); - Py_CLEAR(clear_module_state->__pyx_n_s_join); - Py_CLEAR(clear_module_state->__pyx_n_s_json); - Py_CLEAR(clear_module_state->__pyx_n_s_logger); - Py_CLEAR(clear_module_state->__pyx_n_s_main); - Py_CLEAR(clear_module_state->__pyx_n_s_media_path); - Py_CLEAR(clear_module_state->__pyx_n_s_message); - Py_CLEAR(clear_module_state->__pyx_n_s_message_text); - Py_CLEAR(clear_module_state->__pyx_n_s_months); - Py_CLEAR(clear_module_state->__pyx_n_s_months_text); - Py_CLEAR(clear_module_state->__pyx_n_u_my_gifts); - Py_CLEAR(clear_module_state->__pyx_kp_u_my_gifts_2); - Py_CLEAR(clear_module_state->__pyx_n_s_my_gifts_handler); - Py_CLEAR(clear_module_state->__pyx_n_s_name); - Py_CLEAR(clear_module_state->__pyx_n_s_open); - Py_CLEAR(clear_module_state->__pyx_n_s_os); - Py_CLEAR(clear_module_state->__pyx_n_s_path); - Py_CLEAR(clear_module_state->__pyx_n_s_payload); - Py_CLEAR(clear_module_state->__pyx_n_s_platform); - Py_CLEAR(clear_module_state->__pyx_n_s_post); - Py_CLEAR(clear_module_state->__pyx_n_s_price); - Py_CLEAR(clear_module_state->__pyx_n_u_profile); - Py_CLEAR(clear_module_state->__pyx_n_s_query); - Py_CLEAR(clear_module_state->__pyx_n_s_read); - Py_CLEAR(clear_module_state->__pyx_n_s_recipient); - Py_CLEAR(clear_module_state->__pyx_n_u_recipient_tg_id); - Py_CLEAR(clear_module_state->__pyx_n_s_replace); - Py_CLEAR(clear_module_state->__pyx_n_s_reply_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_response); - Py_CLEAR(clear_module_state->__pyx_n_s_result); - Py_CLEAR(clear_module_state->__pyx_n_s_router); - Py_CLEAR(clear_module_state->__pyx_n_s_row); - Py_CLEAR(clear_module_state->__pyx_n_s_selected_months); - Py_CLEAR(clear_module_state->__pyx_n_u_selected_months); - Py_CLEAR(clear_module_state->__pyx_n_s_send); - Py_CLEAR(clear_module_state->__pyx_n_s_session); - Py_CLEAR(clear_module_state->__pyx_n_s_sha256); - Py_CLEAR(clear_module_state->__pyx_n_s_share_text); - Py_CLEAR(clear_module_state->__pyx_n_s_shell); - Py_CLEAR(clear_module_state->__pyx_n_s_show_alert); - Py_CLEAR(clear_module_state->__pyx_n_s_sleep); - Py_CLEAR(clear_module_state->__pyx_kp_u_solonet_sup); - Py_CLEAR(clear_module_state->__pyx_n_s_spec); - Py_CLEAR(clear_module_state->__pyx_n_s_split); - Py_CLEAR(clear_module_state->__pyx_n_s_start); - Py_CLEAR(clear_module_state->__pyx_n_s_start_menu_handler); - Py_CLEAR(clear_module_state->__pyx_n_s_startswith); - Py_CLEAR(clear_module_state->__pyx_n_s_state); - Py_CLEAR(clear_module_state->__pyx_n_s_status); - Py_CLEAR(clear_module_state->__pyx_n_u_status); - Py_CLEAR(clear_module_state->__pyx_n_s_store_gift_link); - Py_CLEAR(clear_module_state->__pyx_n_s_strftime); - Py_CLEAR(clear_module_state->__pyx_n_s_strip); - Py_CLEAR(clear_module_state->__pyx_n_s_subprocess); - Py_CLEAR(clear_module_state->__pyx_n_u_success); - Py_CLEAR(clear_module_state->__pyx_n_s_switch_inline_query); - Py_CLEAR(clear_module_state->__pyx_n_s_system); - Py_CLEAR(clear_module_state->__pyx_n_s_target_message); - Py_CLEAR(clear_module_state->__pyx_n_s_test); - Py_CLEAR(clear_module_state->__pyx_n_s_text); - Py_CLEAR(clear_module_state->__pyx_n_s_tg_id); - Py_CLEAR(clear_module_state->__pyx_n_s_throw); - Py_CLEAR(clear_module_state->__pyx_n_s_timedelta); - Py_CLEAR(clear_module_state->__pyx_n_s_timeout); - Py_CLEAR(clear_module_state->__pyx_n_s_title); - Py_CLEAR(clear_module_state->__pyx_n_s_total); - Py_CLEAR(clear_module_state->__pyx_n_s_types); - Py_CLEAR(clear_module_state->__pyx_kp_s_types_CallbackQuery); - Py_CLEAR(clear_module_state->__pyx_n_s_typing); - Py_CLEAR(clear_module_state->__pyx_n_s_update_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_url); - Py_CLEAR(clear_module_state->__pyx_n_s_urls); - Py_CLEAR(clear_module_state->__pyx_n_s_user_tg_id); - Py_CLEAR(clear_module_state->__pyx_n_s_utcnow); - Py_CLEAR(clear_module_state->__pyx_n_s_uuid); - Py_CLEAR(clear_module_state->__pyx_n_s_uuid4); - Py_CLEAR(clear_module_state->__pyx_n_s_validate_client_code); - Py_CLEAR(clear_module_state->__pyx_n_s_warning); - Py_CLEAR(clear_module_state->__pyx_kp_u_wmic_cpu_get_ProcessorId); - Py_CLEAR(clear_module_state->__pyx_int_0); - Py_CLEAR(clear_module_state->__pyx_int_1); - Py_CLEAR(clear_module_state->__pyx_int_2); - Py_CLEAR(clear_module_state->__pyx_int_3); - Py_CLEAR(clear_module_state->__pyx_int_4); - Py_CLEAR(clear_module_state->__pyx_int_5); - Py_CLEAR(clear_module_state->__pyx_int_30); - Py_CLEAR(clear_module_state->__pyx_int_200); - Py_CLEAR(clear_module_state->__pyx_int_404); - Py_CLEAR(clear_module_state->__pyx_int_502); - Py_CLEAR(clear_module_state->__pyx_codeobj_); - Py_CLEAR(clear_module_state->__pyx_tuple__2); - Py_CLEAR(clear_module_state->__pyx_tuple__23); - Py_CLEAR(clear_module_state->__pyx_tuple__31); - Py_CLEAR(clear_module_state->__pyx_tuple__36); - Py_CLEAR(clear_module_state->__pyx_tuple__38); - Py_CLEAR(clear_module_state->__pyx_tuple__39); - Py_CLEAR(clear_module_state->__pyx_tuple__45); - Py_CLEAR(clear_module_state->__pyx_tuple__46); - Py_CLEAR(clear_module_state->__pyx_tuple__47); - Py_CLEAR(clear_module_state->__pyx_tuple__48); - Py_CLEAR(clear_module_state->__pyx_tuple__49); - Py_CLEAR(clear_module_state->__pyx_tuple__50); - Py_CLEAR(clear_module_state->__pyx_tuple__51); - Py_CLEAR(clear_module_state->__pyx_tuple__52); - Py_CLEAR(clear_module_state->__pyx_tuple__53); - Py_CLEAR(clear_module_state->__pyx_tuple__54); - Py_CLEAR(clear_module_state->__pyx_tuple__55); - Py_CLEAR(clear_module_state->__pyx_tuple__56); - Py_CLEAR(clear_module_state->__pyx_tuple__57); - Py_CLEAR(clear_module_state->__pyx_tuple__59); - Py_CLEAR(clear_module_state->__pyx_codeobj__3); - Py_CLEAR(clear_module_state->__pyx_codeobj__14); - Py_CLEAR(clear_module_state->__pyx_codeobj__16); - Py_CLEAR(clear_module_state->__pyx_codeobj__21); - Py_CLEAR(clear_module_state->__pyx_codeobj__25); - Py_CLEAR(clear_module_state->__pyx_codeobj__29); - Py_CLEAR(clear_module_state->__pyx_codeobj__40); - Py_CLEAR(clear_module_state->__pyx_codeobj__58); - return 0; -} -#endif -/* #### Code section: module_state_traverse ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { - __pyx_mstate *traverse_module_state = __pyx_mstate(m); - if (!traverse_module_state) return 0; - Py_VISIT(traverse_module_state->__pyx_d); - Py_VISIT(traverse_module_state->__pyx_b); - Py_VISIT(traverse_module_state->__pyx_cython_runtime); - Py_VISIT(traverse_module_state->__pyx_empty_tuple); - Py_VISIT(traverse_module_state->__pyx_empty_bytes); - Py_VISIT(traverse_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_VISIT(traverse_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_VISIT(traverse_module_state->__pyx_FusedFunctionType); - #endif - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code); - Py_VISIT(traverse_module_state->__pyx_kp_u_1); - Py_VISIT(traverse_module_state->__pyx_kp_u_21U68SOLOBOT); - Py_VISIT(traverse_module_state->__pyx_n_s_APPLY); - Py_VISIT(traverse_module_state->__pyx_n_s_Any); - Py_VISIT(traverse_module_state->__pyx_n_s_BACK); - Py_VISIT(traverse_module_state->__pyx_n_s_CANCEL); - Py_VISIT(traverse_module_state->__pyx_n_s_CLIENT_CODE); - Py_VISIT(traverse_module_state->__pyx_n_u_CRYPTOSALE); - Py_VISIT(traverse_module_state->__pyx_n_s_ClientConnectorError); - Py_VISIT(traverse_module_state->__pyx_n_s_ClientResponseError); - Py_VISIT(traverse_module_state->__pyx_n_s_ClientSession); - Py_VISIT(traverse_module_state->__pyx_n_s_ClientTimeout); - Py_VISIT(traverse_module_state->__pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id); - Py_VISIT(traverse_module_state->__pyx_n_s_F); - Py_VISIT(traverse_module_state->__pyx_n_s_FSMContext); - Py_VISIT(traverse_module_state->__pyx_n_s_GIFT); - Py_VISIT(traverse_module_state->__pyx_n_s_GIFTS_ABOUT); - Py_VISIT(traverse_module_state->__pyx_n_s_GIFTS_MENU); - Py_VISIT(traverse_module_state->__pyx_n_s_GIFTS_PER_PAGE); - Py_VISIT(traverse_module_state->__pyx_n_s_GIFTS_TEXT_TEMPLATE); - Py_VISIT(traverse_module_state->__pyx_n_s_GIFT_CHOICE); - Py_VISIT(traverse_module_state->__pyx_n_u_HASHHASHYOOKASSA); - Py_VISIT(traverse_module_state->__pyx_n_s_INLINE_MODE); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardButton); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineQuery); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineQueryResultArticle); - Py_VISIT(traverse_module_state->__pyx_n_s_InputTextMessageContent); - Py_VISIT(traverse_module_state->__pyx_n_s_MAIN_MENU); - Py_VISIT(traverse_module_state->__pyx_n_s_MY_GIFTS); - Py_VISIT(traverse_module_state->__pyx_n_s_NO_GIFTS); - Py_VISIT(traverse_module_state->__pyx_kp_u_None); - Py_VISIT(traverse_module_state->__pyx_n_s_PROJECTMANECONGIGURE); - Py_VISIT(traverse_module_state->__pyx_n_s_RENEWAL_PRICES); - Py_VISIT(traverse_module_state->__pyx_n_s_Router); - Py_VISIT(traverse_module_state->__pyx_kp_u_SELECT_gift_id_selected_months); - Py_VISIT(traverse_module_state->__pyx_kp_u_SELECT_gift_link_selected_month); - Py_VISIT(traverse_module_state->__pyx_n_s_SHARE_GIFT); - Py_VISIT(traverse_module_state->__pyx_n_s_SHARE_TEXT_TEMPLATE); - Py_VISIT(traverse_module_state->__pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE); - Py_VISIT(traverse_module_state->__pyx_n_s_STARS_ROUTER); - Py_VISIT(traverse_module_state->__pyx_n_s_TimeoutError); - Py_VISIT(traverse_module_state->__pyx_kp_u_VPN); - Py_VISIT(traverse_module_state->__pyx_n_u_Windows); - Py_VISIT(traverse_module_state->__pyx_n_s_YOOKASSA_HASH); - Py_VISIT(traverse_module_state->__pyx_kp_u__10); - Py_VISIT(traverse_module_state->__pyx_kp_u__11); - Py_VISIT(traverse_module_state->__pyx_kp_u__12); - Py_VISIT(traverse_module_state->__pyx_kp_u__13); - Py_VISIT(traverse_module_state->__pyx_kp_u__15); - Py_VISIT(traverse_module_state->__pyx_kp_u__17); - Py_VISIT(traverse_module_state->__pyx_kp_u__18); - Py_VISIT(traverse_module_state->__pyx_kp_u__19); - Py_VISIT(traverse_module_state->__pyx_kp_u__20); - Py_VISIT(traverse_module_state->__pyx_kp_u__22); - Py_VISIT(traverse_module_state->__pyx_kp_u__24); - Py_VISIT(traverse_module_state->__pyx_kp_u__26); - Py_VISIT(traverse_module_state->__pyx_kp_u__27); - Py_VISIT(traverse_module_state->__pyx_kp_u__28); - Py_VISIT(traverse_module_state->__pyx_kp_u__30); - Py_VISIT(traverse_module_state->__pyx_kp_u__32); - Py_VISIT(traverse_module_state->__pyx_kp_u__33); - Py_VISIT(traverse_module_state->__pyx_kp_u__34); - Py_VISIT(traverse_module_state->__pyx_kp_u__35); - Py_VISIT(traverse_module_state->__pyx_kp_u__37); - Py_VISIT(traverse_module_state->__pyx_kp_u__4); - Py_VISIT(traverse_module_state->__pyx_kp_u__41); - Py_VISIT(traverse_module_state->__pyx_kp_u__42); - Py_VISIT(traverse_module_state->__pyx_n_s__43); - Py_VISIT(traverse_module_state->__pyx_kp_u__44); - Py_VISIT(traverse_module_state->__pyx_n_u__5); - Py_VISIT(traverse_module_state->__pyx_n_u__6); - Py_VISIT(traverse_module_state->__pyx_n_s__60); - Py_VISIT(traverse_module_state->__pyx_n_u__7); - Py_VISIT(traverse_module_state->__pyx_n_u__8); - Py_VISIT(traverse_module_state->__pyx_n_u__9); - Py_VISIT(traverse_module_state->__pyx_n_s_adjust); - Py_VISIT(traverse_module_state->__pyx_n_s_aenter); - Py_VISIT(traverse_module_state->__pyx_n_s_aexit); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_fsm_context); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_types); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_VISIT(traverse_module_state->__pyx_n_s_aiohttp); - Py_VISIT(traverse_module_state->__pyx_n_s_all_failed); - Py_VISIT(traverse_module_state->__pyx_n_s_answer); - Py_VISIT(traverse_module_state->__pyx_n_s_args); - Py_VISIT(traverse_module_state->__pyx_n_s_as_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncio); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_tasks); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncpg); - Py_VISIT(traverse_module_state->__pyx_kp_s_asyncpg_Connection); - Py_VISIT(traverse_module_state->__pyx_n_s_await); - Py_VISIT(traverse_module_state->__pyx_kp_u_b_b); - Py_VISIT(traverse_module_state->__pyx_n_s_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_builder); - Py_VISIT(traverse_module_state->__pyx_n_s_button); - Py_VISIT(traverse_module_state->__pyx_n_s_cache_time); - Py_VISIT(traverse_module_state->__pyx_n_s_callback_data); - Py_VISIT(traverse_module_state->__pyx_n_s_callback_query); - Py_VISIT(traverse_module_state->__pyx_n_s_check_output); - Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback); - Py_VISIT(traverse_module_state->__pyx_n_s_close); - Py_VISIT(traverse_module_state->__pyx_n_u_code); - Py_VISIT(traverse_module_state->__pyx_n_s_config); - Py_VISIT(traverse_module_state->__pyx_kp_u_confirm_gift); - Py_VISIT(traverse_module_state->__pyx_n_s_confirm_gift_handler); - Py_VISIT(traverse_module_state->__pyx_n_s_confirmation_text); - Py_VISIT(traverse_module_state->__pyx_n_s_current_page); - Py_VISIT(traverse_module_state->__pyx_kp_u_d_m_Y_H_M); - Py_VISIT(traverse_module_state->__pyx_n_s_data); - Py_VISIT(traverse_module_state->__pyx_n_s_data_parts); - Py_VISIT(traverse_module_state->__pyx_n_s_database); - Py_VISIT(traverse_module_state->__pyx_n_s_datetime); - Py_VISIT(traverse_module_state->__pyx_n_s_days); - Py_VISIT(traverse_module_state->__pyx_n_s_decode); - Py_VISIT(traverse_module_state->__pyx_kp_u_delete_gift); - Py_VISIT(traverse_module_state->__pyx_n_s_delete_gift_handler); - Py_VISIT(traverse_module_state->__pyx_n_s_description); - Py_VISIT(traverse_module_state->__pyx_kp_u_disable); - Py_VISIT(traverse_module_state->__pyx_n_s_e); - Py_VISIT(traverse_module_state->__pyx_n_s_edit_or_send_message); - Py_VISIT(traverse_module_state->__pyx_kp_u_enable); - Py_VISIT(traverse_module_state->__pyx_n_s_encode); - Py_VISIT(traverse_module_state->__pyx_n_s_end); - Py_VISIT(traverse_module_state->__pyx_n_s_enter); - Py_VISIT(traverse_module_state->__pyx_n_s_error); - Py_VISIT(traverse_module_state->__pyx_n_u_error); - Py_VISIT(traverse_module_state->__pyx_kp_u_etc_machine_id); - Py_VISIT(traverse_module_state->__pyx_n_s_execute); - Py_VISIT(traverse_module_state->__pyx_n_s_exit); - Py_VISIT(traverse_module_state->__pyx_n_s_expiry_time); - Py_VISIT(traverse_module_state->__pyx_n_u_expiry_time); - Py_VISIT(traverse_module_state->__pyx_n_s_f); - Py_VISIT(traverse_module_state->__pyx_n_s_fetch); - Py_VISIT(traverse_module_state->__pyx_n_s_fetchrow); - Py_VISIT(traverse_module_state->__pyx_n_s_finalize_gift_handler); - Py_VISIT(traverse_module_state->__pyx_n_s_format); - Py_VISIT(traverse_module_state->__pyx_n_s_from_user); - Py_VISIT(traverse_module_state->__pyx_kp_u_gc); - Py_VISIT(traverse_module_state->__pyx_n_s_get); - Py_VISIT(traverse_module_state->__pyx_n_s_get_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_get_gift_confirmation_text); - Py_VISIT(traverse_module_state->__pyx_n_s_get_gift_link); - Py_VISIT(traverse_module_state->__pyx_n_s_get_hardware_id); - Py_VISIT(traverse_module_state->__pyx_n_s_gift); - Py_VISIT(traverse_module_state->__pyx_n_u_gift); - Py_VISIT(traverse_module_state->__pyx_kp_u_gift_2); - Py_VISIT(traverse_module_state->__pyx_n_u_gift_3); - Py_VISIT(traverse_module_state->__pyx_n_s_gift_id); - Py_VISIT(traverse_module_state->__pyx_n_u_gift_id); - Py_VISIT(traverse_module_state->__pyx_n_s_gift_link); - Py_VISIT(traverse_module_state->__pyx_n_u_gift_link); - Py_VISIT(traverse_module_state->__pyx_n_s_gift_subscription_handler); - Py_VISIT(traverse_module_state->__pyx_n_s_gifts); - Py_VISIT(traverse_module_state->__pyx_n_u_gifts); - Py_VISIT(traverse_module_state->__pyx_kp_u_gifts_jpg); - Py_VISIT(traverse_module_state->__pyx_n_s_gifts_page); - Py_VISIT(traverse_module_state->__pyx_n_s_gifts_text); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_buttons); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_gift); - Py_VISIT(traverse_module_state->__pyx_kp_s_handlers_payments_gift_py); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_texts); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_utils); - Py_VISIT(traverse_module_state->__pyx_n_s_hardware_id); - Py_VISIT(traverse_module_state->__pyx_n_u_hardware_id); - Py_VISIT(traverse_module_state->__pyx_n_s_hashlib); - Py_VISIT(traverse_module_state->__pyx_n_s_hex); - Py_VISIT(traverse_module_state->__pyx_n_s_hexdigest); - Py_VISIT(traverse_module_state->__pyx_kp_u_https_pocomacho_ru_solonetbot_co); - Py_VISIT(traverse_module_state->__pyx_kp_u_https_solobot_ru_solonetbot_code); - Py_VISIT(traverse_module_state->__pyx_n_s_id); - Py_VISIT(traverse_module_state->__pyx_n_s_image_path); - Py_VISIT(traverse_module_state->__pyx_n_u_img); - Py_VISIT(traverse_module_state->__pyx_n_s_import); - Py_VISIT(traverse_module_state->__pyx_n_s_info); - Py_VISIT(traverse_module_state->__pyx_n_s_initializing); - Py_VISIT(traverse_module_state->__pyx_n_s_inline_gift_handler); - Py_VISIT(traverse_module_state->__pyx_n_s_inline_query); - Py_VISIT(traverse_module_state->__pyx_n_s_input_message_content); - Py_VISIT(traverse_module_state->__pyx_n_s_inspect); - Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine); - Py_VISIT(traverse_module_state->__pyx_n_s_is_used); - Py_VISIT(traverse_module_state->__pyx_n_u_is_used); - Py_VISIT(traverse_module_state->__pyx_n_s_is_valid); - Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled); - Py_VISIT(traverse_module_state->__pyx_n_s_items); - Py_VISIT(traverse_module_state->__pyx_n_s_join); - Py_VISIT(traverse_module_state->__pyx_n_s_json); - Py_VISIT(traverse_module_state->__pyx_n_s_logger); - Py_VISIT(traverse_module_state->__pyx_n_s_main); - Py_VISIT(traverse_module_state->__pyx_n_s_media_path); - Py_VISIT(traverse_module_state->__pyx_n_s_message); - Py_VISIT(traverse_module_state->__pyx_n_s_message_text); - Py_VISIT(traverse_module_state->__pyx_n_s_months); - Py_VISIT(traverse_module_state->__pyx_n_s_months_text); - Py_VISIT(traverse_module_state->__pyx_n_u_my_gifts); - Py_VISIT(traverse_module_state->__pyx_kp_u_my_gifts_2); - Py_VISIT(traverse_module_state->__pyx_n_s_my_gifts_handler); - Py_VISIT(traverse_module_state->__pyx_n_s_name); - Py_VISIT(traverse_module_state->__pyx_n_s_open); - Py_VISIT(traverse_module_state->__pyx_n_s_os); - Py_VISIT(traverse_module_state->__pyx_n_s_path); - Py_VISIT(traverse_module_state->__pyx_n_s_payload); - Py_VISIT(traverse_module_state->__pyx_n_s_platform); - Py_VISIT(traverse_module_state->__pyx_n_s_post); - Py_VISIT(traverse_module_state->__pyx_n_s_price); - Py_VISIT(traverse_module_state->__pyx_n_u_profile); - Py_VISIT(traverse_module_state->__pyx_n_s_query); - Py_VISIT(traverse_module_state->__pyx_n_s_read); - Py_VISIT(traverse_module_state->__pyx_n_s_recipient); - Py_VISIT(traverse_module_state->__pyx_n_u_recipient_tg_id); - Py_VISIT(traverse_module_state->__pyx_n_s_replace); - Py_VISIT(traverse_module_state->__pyx_n_s_reply_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_response); - Py_VISIT(traverse_module_state->__pyx_n_s_result); - Py_VISIT(traverse_module_state->__pyx_n_s_router); - Py_VISIT(traverse_module_state->__pyx_n_s_row); - Py_VISIT(traverse_module_state->__pyx_n_s_selected_months); - Py_VISIT(traverse_module_state->__pyx_n_u_selected_months); - Py_VISIT(traverse_module_state->__pyx_n_s_send); - Py_VISIT(traverse_module_state->__pyx_n_s_session); - Py_VISIT(traverse_module_state->__pyx_n_s_sha256); - Py_VISIT(traverse_module_state->__pyx_n_s_share_text); - Py_VISIT(traverse_module_state->__pyx_n_s_shell); - Py_VISIT(traverse_module_state->__pyx_n_s_show_alert); - Py_VISIT(traverse_module_state->__pyx_n_s_sleep); - Py_VISIT(traverse_module_state->__pyx_kp_u_solonet_sup); - Py_VISIT(traverse_module_state->__pyx_n_s_spec); - Py_VISIT(traverse_module_state->__pyx_n_s_split); - Py_VISIT(traverse_module_state->__pyx_n_s_start); - Py_VISIT(traverse_module_state->__pyx_n_s_start_menu_handler); - Py_VISIT(traverse_module_state->__pyx_n_s_startswith); - Py_VISIT(traverse_module_state->__pyx_n_s_state); - Py_VISIT(traverse_module_state->__pyx_n_s_status); - Py_VISIT(traverse_module_state->__pyx_n_u_status); - Py_VISIT(traverse_module_state->__pyx_n_s_store_gift_link); - Py_VISIT(traverse_module_state->__pyx_n_s_strftime); - Py_VISIT(traverse_module_state->__pyx_n_s_strip); - Py_VISIT(traverse_module_state->__pyx_n_s_subprocess); - Py_VISIT(traverse_module_state->__pyx_n_u_success); - Py_VISIT(traverse_module_state->__pyx_n_s_switch_inline_query); - Py_VISIT(traverse_module_state->__pyx_n_s_system); - Py_VISIT(traverse_module_state->__pyx_n_s_target_message); - Py_VISIT(traverse_module_state->__pyx_n_s_test); - Py_VISIT(traverse_module_state->__pyx_n_s_text); - Py_VISIT(traverse_module_state->__pyx_n_s_tg_id); - Py_VISIT(traverse_module_state->__pyx_n_s_throw); - Py_VISIT(traverse_module_state->__pyx_n_s_timedelta); - Py_VISIT(traverse_module_state->__pyx_n_s_timeout); - Py_VISIT(traverse_module_state->__pyx_n_s_title); - Py_VISIT(traverse_module_state->__pyx_n_s_total); - Py_VISIT(traverse_module_state->__pyx_n_s_types); - Py_VISIT(traverse_module_state->__pyx_kp_s_types_CallbackQuery); - Py_VISIT(traverse_module_state->__pyx_n_s_typing); - Py_VISIT(traverse_module_state->__pyx_n_s_update_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_url); - Py_VISIT(traverse_module_state->__pyx_n_s_urls); - Py_VISIT(traverse_module_state->__pyx_n_s_user_tg_id); - Py_VISIT(traverse_module_state->__pyx_n_s_utcnow); - Py_VISIT(traverse_module_state->__pyx_n_s_uuid); - Py_VISIT(traverse_module_state->__pyx_n_s_uuid4); - Py_VISIT(traverse_module_state->__pyx_n_s_validate_client_code); - Py_VISIT(traverse_module_state->__pyx_n_s_warning); - Py_VISIT(traverse_module_state->__pyx_kp_u_wmic_cpu_get_ProcessorId); - Py_VISIT(traverse_module_state->__pyx_int_0); - Py_VISIT(traverse_module_state->__pyx_int_1); - Py_VISIT(traverse_module_state->__pyx_int_2); - Py_VISIT(traverse_module_state->__pyx_int_3); - Py_VISIT(traverse_module_state->__pyx_int_4); - Py_VISIT(traverse_module_state->__pyx_int_5); - Py_VISIT(traverse_module_state->__pyx_int_30); - Py_VISIT(traverse_module_state->__pyx_int_200); - Py_VISIT(traverse_module_state->__pyx_int_404); - Py_VISIT(traverse_module_state->__pyx_int_502); - Py_VISIT(traverse_module_state->__pyx_codeobj_); - Py_VISIT(traverse_module_state->__pyx_tuple__2); - Py_VISIT(traverse_module_state->__pyx_tuple__23); - Py_VISIT(traverse_module_state->__pyx_tuple__31); - Py_VISIT(traverse_module_state->__pyx_tuple__36); - Py_VISIT(traverse_module_state->__pyx_tuple__38); - Py_VISIT(traverse_module_state->__pyx_tuple__39); - Py_VISIT(traverse_module_state->__pyx_tuple__45); - Py_VISIT(traverse_module_state->__pyx_tuple__46); - Py_VISIT(traverse_module_state->__pyx_tuple__47); - Py_VISIT(traverse_module_state->__pyx_tuple__48); - Py_VISIT(traverse_module_state->__pyx_tuple__49); - Py_VISIT(traverse_module_state->__pyx_tuple__50); - Py_VISIT(traverse_module_state->__pyx_tuple__51); - Py_VISIT(traverse_module_state->__pyx_tuple__52); - Py_VISIT(traverse_module_state->__pyx_tuple__53); - Py_VISIT(traverse_module_state->__pyx_tuple__54); - Py_VISIT(traverse_module_state->__pyx_tuple__55); - Py_VISIT(traverse_module_state->__pyx_tuple__56); - Py_VISIT(traverse_module_state->__pyx_tuple__57); - Py_VISIT(traverse_module_state->__pyx_tuple__59); - Py_VISIT(traverse_module_state->__pyx_codeobj__3); - Py_VISIT(traverse_module_state->__pyx_codeobj__14); - Py_VISIT(traverse_module_state->__pyx_codeobj__16); - Py_VISIT(traverse_module_state->__pyx_codeobj__21); - Py_VISIT(traverse_module_state->__pyx_codeobj__25); - Py_VISIT(traverse_module_state->__pyx_codeobj__29); - Py_VISIT(traverse_module_state->__pyx_codeobj__40); - Py_VISIT(traverse_module_state->__pyx_codeobj__58); - return 0; -} -#endif -/* #### Code section: module_state_defines ### */ -#define __pyx_d __pyx_mstate_global->__pyx_d -#define __pyx_b __pyx_mstate_global->__pyx_b -#define __pyx_cython_runtime __pyx_mstate_global->__pyx_cython_runtime -#define __pyx_empty_tuple __pyx_mstate_global->__pyx_empty_tuple -#define __pyx_empty_bytes __pyx_mstate_global->__pyx_empty_bytes -#define __pyx_empty_unicode __pyx_mstate_global->__pyx_empty_unicode -#ifdef __Pyx_CyFunction_USED -#define __pyx_CyFunctionType __pyx_mstate_global->__pyx_CyFunctionType -#endif -#ifdef __Pyx_FusedFunction_USED -#define __pyx_FusedFunctionType __pyx_mstate_global->__pyx_FusedFunctionType -#endif -#ifdef __Pyx_Generator_USED -#define __pyx_GeneratorType __pyx_mstate_global->__pyx_GeneratorType -#endif -#ifdef __Pyx_IterableCoroutine_USED -#define __pyx_IterableCoroutineType __pyx_mstate_global->__pyx_IterableCoroutineType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineAwaitType __pyx_mstate_global->__pyx_CoroutineAwaitType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineType __pyx_mstate_global->__pyx_CoroutineType -#endif -#if CYTHON_USE_MODULE_STATE -#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler -#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler -#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler -#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler -#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler -#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler -#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler -#define __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code __pyx_mstate_global->__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code -#endif -#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler -#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler -#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler -#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler -#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler -#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler -#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler -#define __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code __pyx_mstate_global->__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code -#define __pyx_kp_u_1 __pyx_mstate_global->__pyx_kp_u_1 -#define __pyx_kp_u_21U68SOLOBOT __pyx_mstate_global->__pyx_kp_u_21U68SOLOBOT -#define __pyx_n_s_APPLY __pyx_mstate_global->__pyx_n_s_APPLY -#define __pyx_n_s_Any __pyx_mstate_global->__pyx_n_s_Any -#define __pyx_n_s_BACK __pyx_mstate_global->__pyx_n_s_BACK -#define __pyx_n_s_CANCEL __pyx_mstate_global->__pyx_n_s_CANCEL -#define __pyx_n_s_CLIENT_CODE __pyx_mstate_global->__pyx_n_s_CLIENT_CODE -#define __pyx_n_u_CRYPTOSALE __pyx_mstate_global->__pyx_n_u_CRYPTOSALE -#define __pyx_n_s_ClientConnectorError __pyx_mstate_global->__pyx_n_s_ClientConnectorError -#define __pyx_n_s_ClientResponseError __pyx_mstate_global->__pyx_n_s_ClientResponseError -#define __pyx_n_s_ClientSession __pyx_mstate_global->__pyx_n_s_ClientSession -#define __pyx_n_s_ClientTimeout __pyx_mstate_global->__pyx_n_s_ClientTimeout -#define __pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id __pyx_mstate_global->__pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id -#define __pyx_n_s_F __pyx_mstate_global->__pyx_n_s_F -#define __pyx_n_s_FSMContext __pyx_mstate_global->__pyx_n_s_FSMContext -#define __pyx_n_s_GIFT __pyx_mstate_global->__pyx_n_s_GIFT -#define __pyx_n_s_GIFTS_ABOUT __pyx_mstate_global->__pyx_n_s_GIFTS_ABOUT -#define __pyx_n_s_GIFTS_MENU __pyx_mstate_global->__pyx_n_s_GIFTS_MENU -#define __pyx_n_s_GIFTS_PER_PAGE __pyx_mstate_global->__pyx_n_s_GIFTS_PER_PAGE -#define __pyx_n_s_GIFTS_TEXT_TEMPLATE __pyx_mstate_global->__pyx_n_s_GIFTS_TEXT_TEMPLATE -#define __pyx_n_s_GIFT_CHOICE __pyx_mstate_global->__pyx_n_s_GIFT_CHOICE -#define __pyx_n_u_HASHHASHYOOKASSA __pyx_mstate_global->__pyx_n_u_HASHHASHYOOKASSA -#define __pyx_n_s_INLINE_MODE __pyx_mstate_global->__pyx_n_s_INLINE_MODE -#define __pyx_n_s_InlineKeyboardBuilder __pyx_mstate_global->__pyx_n_s_InlineKeyboardBuilder -#define __pyx_n_s_InlineKeyboardButton __pyx_mstate_global->__pyx_n_s_InlineKeyboardButton -#define __pyx_n_s_InlineQuery __pyx_mstate_global->__pyx_n_s_InlineQuery -#define __pyx_n_s_InlineQueryResultArticle __pyx_mstate_global->__pyx_n_s_InlineQueryResultArticle -#define __pyx_n_s_InputTextMessageContent __pyx_mstate_global->__pyx_n_s_InputTextMessageContent -#define __pyx_n_s_MAIN_MENU __pyx_mstate_global->__pyx_n_s_MAIN_MENU -#define __pyx_n_s_MY_GIFTS __pyx_mstate_global->__pyx_n_s_MY_GIFTS -#define __pyx_n_s_NO_GIFTS __pyx_mstate_global->__pyx_n_s_NO_GIFTS -#define __pyx_kp_u_None __pyx_mstate_global->__pyx_kp_u_None -#define __pyx_n_s_PROJECTMANECONGIGURE __pyx_mstate_global->__pyx_n_s_PROJECTMANECONGIGURE -#define __pyx_n_s_RENEWAL_PRICES __pyx_mstate_global->__pyx_n_s_RENEWAL_PRICES -#define __pyx_n_s_Router __pyx_mstate_global->__pyx_n_s_Router -#define __pyx_kp_u_SELECT_gift_id_selected_months __pyx_mstate_global->__pyx_kp_u_SELECT_gift_id_selected_months -#define __pyx_kp_u_SELECT_gift_link_selected_month __pyx_mstate_global->__pyx_kp_u_SELECT_gift_link_selected_month -#define __pyx_n_s_SHARE_GIFT __pyx_mstate_global->__pyx_n_s_SHARE_GIFT -#define __pyx_n_s_SHARE_TEXT_TEMPLATE __pyx_mstate_global->__pyx_n_s_SHARE_TEXT_TEMPLATE -#define __pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE __pyx_mstate_global->__pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE -#define __pyx_n_s_STARS_ROUTER __pyx_mstate_global->__pyx_n_s_STARS_ROUTER -#define __pyx_n_s_TimeoutError __pyx_mstate_global->__pyx_n_s_TimeoutError -#define __pyx_kp_u_VPN __pyx_mstate_global->__pyx_kp_u_VPN -#define __pyx_n_u_Windows __pyx_mstate_global->__pyx_n_u_Windows -#define __pyx_n_s_YOOKASSA_HASH __pyx_mstate_global->__pyx_n_s_YOOKASSA_HASH -#define __pyx_kp_u__10 __pyx_mstate_global->__pyx_kp_u__10 -#define __pyx_kp_u__11 __pyx_mstate_global->__pyx_kp_u__11 -#define __pyx_kp_u__12 __pyx_mstate_global->__pyx_kp_u__12 -#define __pyx_kp_u__13 __pyx_mstate_global->__pyx_kp_u__13 -#define __pyx_kp_u__15 __pyx_mstate_global->__pyx_kp_u__15 -#define __pyx_kp_u__17 __pyx_mstate_global->__pyx_kp_u__17 -#define __pyx_kp_u__18 __pyx_mstate_global->__pyx_kp_u__18 -#define __pyx_kp_u__19 __pyx_mstate_global->__pyx_kp_u__19 -#define __pyx_kp_u__20 __pyx_mstate_global->__pyx_kp_u__20 -#define __pyx_kp_u__22 __pyx_mstate_global->__pyx_kp_u__22 -#define __pyx_kp_u__24 __pyx_mstate_global->__pyx_kp_u__24 -#define __pyx_kp_u__26 __pyx_mstate_global->__pyx_kp_u__26 -#define __pyx_kp_u__27 __pyx_mstate_global->__pyx_kp_u__27 -#define __pyx_kp_u__28 __pyx_mstate_global->__pyx_kp_u__28 -#define __pyx_kp_u__30 __pyx_mstate_global->__pyx_kp_u__30 -#define __pyx_kp_u__32 __pyx_mstate_global->__pyx_kp_u__32 -#define __pyx_kp_u__33 __pyx_mstate_global->__pyx_kp_u__33 -#define __pyx_kp_u__34 __pyx_mstate_global->__pyx_kp_u__34 -#define __pyx_kp_u__35 __pyx_mstate_global->__pyx_kp_u__35 -#define __pyx_kp_u__37 __pyx_mstate_global->__pyx_kp_u__37 -#define __pyx_kp_u__4 __pyx_mstate_global->__pyx_kp_u__4 -#define __pyx_kp_u__41 __pyx_mstate_global->__pyx_kp_u__41 -#define __pyx_kp_u__42 __pyx_mstate_global->__pyx_kp_u__42 -#define __pyx_n_s__43 __pyx_mstate_global->__pyx_n_s__43 -#define __pyx_kp_u__44 __pyx_mstate_global->__pyx_kp_u__44 -#define __pyx_n_u__5 __pyx_mstate_global->__pyx_n_u__5 -#define __pyx_n_u__6 __pyx_mstate_global->__pyx_n_u__6 -#define __pyx_n_s__60 __pyx_mstate_global->__pyx_n_s__60 -#define __pyx_n_u__7 __pyx_mstate_global->__pyx_n_u__7 -#define __pyx_n_u__8 __pyx_mstate_global->__pyx_n_u__8 -#define __pyx_n_u__9 __pyx_mstate_global->__pyx_n_u__9 -#define __pyx_n_s_adjust __pyx_mstate_global->__pyx_n_s_adjust -#define __pyx_n_s_aenter __pyx_mstate_global->__pyx_n_s_aenter -#define __pyx_n_s_aexit __pyx_mstate_global->__pyx_n_s_aexit -#define __pyx_n_s_aiogram __pyx_mstate_global->__pyx_n_s_aiogram -#define __pyx_n_s_aiogram_fsm_context __pyx_mstate_global->__pyx_n_s_aiogram_fsm_context -#define __pyx_n_s_aiogram_types __pyx_mstate_global->__pyx_n_s_aiogram_types -#define __pyx_n_s_aiogram_utils_keyboard __pyx_mstate_global->__pyx_n_s_aiogram_utils_keyboard -#define __pyx_n_s_aiohttp __pyx_mstate_global->__pyx_n_s_aiohttp -#define __pyx_n_s_all_failed __pyx_mstate_global->__pyx_n_s_all_failed -#define __pyx_n_s_answer __pyx_mstate_global->__pyx_n_s_answer -#define __pyx_n_s_args __pyx_mstate_global->__pyx_n_s_args -#define __pyx_n_s_as_markup __pyx_mstate_global->__pyx_n_s_as_markup -#define __pyx_n_s_asyncio __pyx_mstate_global->__pyx_n_s_asyncio -#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines -#define __pyx_n_s_asyncio_tasks __pyx_mstate_global->__pyx_n_s_asyncio_tasks -#define __pyx_n_s_asyncpg __pyx_mstate_global->__pyx_n_s_asyncpg -#define __pyx_kp_s_asyncpg_Connection __pyx_mstate_global->__pyx_kp_s_asyncpg_Connection -#define __pyx_n_s_await __pyx_mstate_global->__pyx_n_s_await -#define __pyx_kp_u_b_b __pyx_mstate_global->__pyx_kp_u_b_b -#define __pyx_n_s_balance __pyx_mstate_global->__pyx_n_s_balance -#define __pyx_n_s_builder __pyx_mstate_global->__pyx_n_s_builder -#define __pyx_n_s_button __pyx_mstate_global->__pyx_n_s_button -#define __pyx_n_s_cache_time __pyx_mstate_global->__pyx_n_s_cache_time -#define __pyx_n_s_callback_data __pyx_mstate_global->__pyx_n_s_callback_data -#define __pyx_n_s_callback_query __pyx_mstate_global->__pyx_n_s_callback_query -#define __pyx_n_s_check_output __pyx_mstate_global->__pyx_n_s_check_output -#define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback -#define __pyx_n_s_close __pyx_mstate_global->__pyx_n_s_close -#define __pyx_n_u_code __pyx_mstate_global->__pyx_n_u_code -#define __pyx_n_s_config __pyx_mstate_global->__pyx_n_s_config -#define __pyx_kp_u_confirm_gift __pyx_mstate_global->__pyx_kp_u_confirm_gift -#define __pyx_n_s_confirm_gift_handler __pyx_mstate_global->__pyx_n_s_confirm_gift_handler -#define __pyx_n_s_confirmation_text __pyx_mstate_global->__pyx_n_s_confirmation_text -#define __pyx_n_s_current_page __pyx_mstate_global->__pyx_n_s_current_page -#define __pyx_kp_u_d_m_Y_H_M __pyx_mstate_global->__pyx_kp_u_d_m_Y_H_M -#define __pyx_n_s_data __pyx_mstate_global->__pyx_n_s_data -#define __pyx_n_s_data_parts __pyx_mstate_global->__pyx_n_s_data_parts -#define __pyx_n_s_database __pyx_mstate_global->__pyx_n_s_database -#define __pyx_n_s_datetime __pyx_mstate_global->__pyx_n_s_datetime -#define __pyx_n_s_days __pyx_mstate_global->__pyx_n_s_days -#define __pyx_n_s_decode __pyx_mstate_global->__pyx_n_s_decode -#define __pyx_kp_u_delete_gift __pyx_mstate_global->__pyx_kp_u_delete_gift -#define __pyx_n_s_delete_gift_handler __pyx_mstate_global->__pyx_n_s_delete_gift_handler -#define __pyx_n_s_description __pyx_mstate_global->__pyx_n_s_description -#define __pyx_kp_u_disable __pyx_mstate_global->__pyx_kp_u_disable -#define __pyx_n_s_e __pyx_mstate_global->__pyx_n_s_e -#define __pyx_n_s_edit_or_send_message __pyx_mstate_global->__pyx_n_s_edit_or_send_message -#define __pyx_kp_u_enable __pyx_mstate_global->__pyx_kp_u_enable -#define __pyx_n_s_encode __pyx_mstate_global->__pyx_n_s_encode -#define __pyx_n_s_end __pyx_mstate_global->__pyx_n_s_end -#define __pyx_n_s_enter __pyx_mstate_global->__pyx_n_s_enter -#define __pyx_n_s_error __pyx_mstate_global->__pyx_n_s_error -#define __pyx_n_u_error __pyx_mstate_global->__pyx_n_u_error -#define __pyx_kp_u_etc_machine_id __pyx_mstate_global->__pyx_kp_u_etc_machine_id -#define __pyx_n_s_execute __pyx_mstate_global->__pyx_n_s_execute -#define __pyx_n_s_exit __pyx_mstate_global->__pyx_n_s_exit -#define __pyx_n_s_expiry_time __pyx_mstate_global->__pyx_n_s_expiry_time -#define __pyx_n_u_expiry_time __pyx_mstate_global->__pyx_n_u_expiry_time -#define __pyx_n_s_f __pyx_mstate_global->__pyx_n_s_f -#define __pyx_n_s_fetch __pyx_mstate_global->__pyx_n_s_fetch -#define __pyx_n_s_fetchrow __pyx_mstate_global->__pyx_n_s_fetchrow -#define __pyx_n_s_finalize_gift_handler __pyx_mstate_global->__pyx_n_s_finalize_gift_handler -#define __pyx_n_s_format __pyx_mstate_global->__pyx_n_s_format -#define __pyx_n_s_from_user __pyx_mstate_global->__pyx_n_s_from_user -#define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc -#define __pyx_n_s_get __pyx_mstate_global->__pyx_n_s_get -#define __pyx_n_s_get_balance __pyx_mstate_global->__pyx_n_s_get_balance -#define __pyx_n_s_get_gift_confirmation_text __pyx_mstate_global->__pyx_n_s_get_gift_confirmation_text -#define __pyx_n_s_get_gift_link __pyx_mstate_global->__pyx_n_s_get_gift_link -#define __pyx_n_s_get_hardware_id __pyx_mstate_global->__pyx_n_s_get_hardware_id -#define __pyx_n_s_gift __pyx_mstate_global->__pyx_n_s_gift -#define __pyx_n_u_gift __pyx_mstate_global->__pyx_n_u_gift -#define __pyx_kp_u_gift_2 __pyx_mstate_global->__pyx_kp_u_gift_2 -#define __pyx_n_u_gift_3 __pyx_mstate_global->__pyx_n_u_gift_3 -#define __pyx_n_s_gift_id __pyx_mstate_global->__pyx_n_s_gift_id -#define __pyx_n_u_gift_id __pyx_mstate_global->__pyx_n_u_gift_id -#define __pyx_n_s_gift_link __pyx_mstate_global->__pyx_n_s_gift_link -#define __pyx_n_u_gift_link __pyx_mstate_global->__pyx_n_u_gift_link -#define __pyx_n_s_gift_subscription_handler __pyx_mstate_global->__pyx_n_s_gift_subscription_handler -#define __pyx_n_s_gifts __pyx_mstate_global->__pyx_n_s_gifts -#define __pyx_n_u_gifts __pyx_mstate_global->__pyx_n_u_gifts -#define __pyx_kp_u_gifts_jpg __pyx_mstate_global->__pyx_kp_u_gifts_jpg -#define __pyx_n_s_gifts_page __pyx_mstate_global->__pyx_n_s_gifts_page -#define __pyx_n_s_gifts_text __pyx_mstate_global->__pyx_n_s_gifts_text -#define __pyx_n_s_handlers_buttons __pyx_mstate_global->__pyx_n_s_handlers_buttons -#define __pyx_n_s_handlers_payments_gift __pyx_mstate_global->__pyx_n_s_handlers_payments_gift -#define __pyx_kp_s_handlers_payments_gift_py __pyx_mstate_global->__pyx_kp_s_handlers_payments_gift_py -#define __pyx_n_s_handlers_texts __pyx_mstate_global->__pyx_n_s_handlers_texts -#define __pyx_n_s_handlers_utils __pyx_mstate_global->__pyx_n_s_handlers_utils -#define __pyx_n_s_hardware_id __pyx_mstate_global->__pyx_n_s_hardware_id -#define __pyx_n_u_hardware_id __pyx_mstate_global->__pyx_n_u_hardware_id -#define __pyx_n_s_hashlib __pyx_mstate_global->__pyx_n_s_hashlib -#define __pyx_n_s_hex __pyx_mstate_global->__pyx_n_s_hex -#define __pyx_n_s_hexdigest __pyx_mstate_global->__pyx_n_s_hexdigest -#define __pyx_kp_u_https_pocomacho_ru_solonetbot_co __pyx_mstate_global->__pyx_kp_u_https_pocomacho_ru_solonetbot_co -#define __pyx_kp_u_https_solobot_ru_solonetbot_code __pyx_mstate_global->__pyx_kp_u_https_solobot_ru_solonetbot_code -#define __pyx_n_s_id __pyx_mstate_global->__pyx_n_s_id -#define __pyx_n_s_image_path __pyx_mstate_global->__pyx_n_s_image_path -#define __pyx_n_u_img __pyx_mstate_global->__pyx_n_u_img -#define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import -#define __pyx_n_s_info __pyx_mstate_global->__pyx_n_s_info -#define __pyx_n_s_initializing __pyx_mstate_global->__pyx_n_s_initializing -#define __pyx_n_s_inline_gift_handler __pyx_mstate_global->__pyx_n_s_inline_gift_handler -#define __pyx_n_s_inline_query __pyx_mstate_global->__pyx_n_s_inline_query -#define __pyx_n_s_input_message_content __pyx_mstate_global->__pyx_n_s_input_message_content -#define __pyx_n_s_inspect __pyx_mstate_global->__pyx_n_s_inspect -#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine -#define __pyx_n_s_is_used __pyx_mstate_global->__pyx_n_s_is_used -#define __pyx_n_u_is_used __pyx_mstate_global->__pyx_n_u_is_used -#define __pyx_n_s_is_valid __pyx_mstate_global->__pyx_n_s_is_valid -#define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled -#define __pyx_n_s_items __pyx_mstate_global->__pyx_n_s_items -#define __pyx_n_s_join __pyx_mstate_global->__pyx_n_s_join -#define __pyx_n_s_json __pyx_mstate_global->__pyx_n_s_json -#define __pyx_n_s_logger __pyx_mstate_global->__pyx_n_s_logger -#define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main -#define __pyx_n_s_media_path __pyx_mstate_global->__pyx_n_s_media_path -#define __pyx_n_s_message __pyx_mstate_global->__pyx_n_s_message -#define __pyx_n_s_message_text __pyx_mstate_global->__pyx_n_s_message_text -#define __pyx_n_s_months __pyx_mstate_global->__pyx_n_s_months -#define __pyx_n_s_months_text __pyx_mstate_global->__pyx_n_s_months_text -#define __pyx_n_u_my_gifts __pyx_mstate_global->__pyx_n_u_my_gifts -#define __pyx_kp_u_my_gifts_2 __pyx_mstate_global->__pyx_kp_u_my_gifts_2 -#define __pyx_n_s_my_gifts_handler __pyx_mstate_global->__pyx_n_s_my_gifts_handler -#define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name -#define __pyx_n_s_open __pyx_mstate_global->__pyx_n_s_open -#define __pyx_n_s_os __pyx_mstate_global->__pyx_n_s_os -#define __pyx_n_s_path __pyx_mstate_global->__pyx_n_s_path -#define __pyx_n_s_payload __pyx_mstate_global->__pyx_n_s_payload -#define __pyx_n_s_platform __pyx_mstate_global->__pyx_n_s_platform -#define __pyx_n_s_post __pyx_mstate_global->__pyx_n_s_post -#define __pyx_n_s_price __pyx_mstate_global->__pyx_n_s_price -#define __pyx_n_u_profile __pyx_mstate_global->__pyx_n_u_profile -#define __pyx_n_s_query __pyx_mstate_global->__pyx_n_s_query -#define __pyx_n_s_read __pyx_mstate_global->__pyx_n_s_read -#define __pyx_n_s_recipient __pyx_mstate_global->__pyx_n_s_recipient -#define __pyx_n_u_recipient_tg_id __pyx_mstate_global->__pyx_n_u_recipient_tg_id -#define __pyx_n_s_replace __pyx_mstate_global->__pyx_n_s_replace -#define __pyx_n_s_reply_markup __pyx_mstate_global->__pyx_n_s_reply_markup -#define __pyx_n_s_response __pyx_mstate_global->__pyx_n_s_response -#define __pyx_n_s_result __pyx_mstate_global->__pyx_n_s_result -#define __pyx_n_s_router __pyx_mstate_global->__pyx_n_s_router -#define __pyx_n_s_row __pyx_mstate_global->__pyx_n_s_row -#define __pyx_n_s_selected_months __pyx_mstate_global->__pyx_n_s_selected_months -#define __pyx_n_u_selected_months __pyx_mstate_global->__pyx_n_u_selected_months -#define __pyx_n_s_send __pyx_mstate_global->__pyx_n_s_send -#define __pyx_n_s_session __pyx_mstate_global->__pyx_n_s_session -#define __pyx_n_s_sha256 __pyx_mstate_global->__pyx_n_s_sha256 -#define __pyx_n_s_share_text __pyx_mstate_global->__pyx_n_s_share_text -#define __pyx_n_s_shell __pyx_mstate_global->__pyx_n_s_shell -#define __pyx_n_s_show_alert __pyx_mstate_global->__pyx_n_s_show_alert -#define __pyx_n_s_sleep __pyx_mstate_global->__pyx_n_s_sleep -#define __pyx_kp_u_solonet_sup __pyx_mstate_global->__pyx_kp_u_solonet_sup -#define __pyx_n_s_spec __pyx_mstate_global->__pyx_n_s_spec -#define __pyx_n_s_split __pyx_mstate_global->__pyx_n_s_split -#define __pyx_n_s_start __pyx_mstate_global->__pyx_n_s_start -#define __pyx_n_s_start_menu_handler __pyx_mstate_global->__pyx_n_s_start_menu_handler -#define __pyx_n_s_startswith __pyx_mstate_global->__pyx_n_s_startswith -#define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state -#define __pyx_n_s_status __pyx_mstate_global->__pyx_n_s_status -#define __pyx_n_u_status __pyx_mstate_global->__pyx_n_u_status -#define __pyx_n_s_store_gift_link __pyx_mstate_global->__pyx_n_s_store_gift_link -#define __pyx_n_s_strftime __pyx_mstate_global->__pyx_n_s_strftime -#define __pyx_n_s_strip __pyx_mstate_global->__pyx_n_s_strip -#define __pyx_n_s_subprocess __pyx_mstate_global->__pyx_n_s_subprocess -#define __pyx_n_u_success __pyx_mstate_global->__pyx_n_u_success -#define __pyx_n_s_switch_inline_query __pyx_mstate_global->__pyx_n_s_switch_inline_query -#define __pyx_n_s_system __pyx_mstate_global->__pyx_n_s_system -#define __pyx_n_s_target_message __pyx_mstate_global->__pyx_n_s_target_message -#define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test -#define __pyx_n_s_text __pyx_mstate_global->__pyx_n_s_text -#define __pyx_n_s_tg_id __pyx_mstate_global->__pyx_n_s_tg_id -#define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw -#define __pyx_n_s_timedelta __pyx_mstate_global->__pyx_n_s_timedelta -#define __pyx_n_s_timeout __pyx_mstate_global->__pyx_n_s_timeout -#define __pyx_n_s_title __pyx_mstate_global->__pyx_n_s_title -#define __pyx_n_s_total __pyx_mstate_global->__pyx_n_s_total -#define __pyx_n_s_types __pyx_mstate_global->__pyx_n_s_types -#define __pyx_kp_s_types_CallbackQuery __pyx_mstate_global->__pyx_kp_s_types_CallbackQuery -#define __pyx_n_s_typing __pyx_mstate_global->__pyx_n_s_typing -#define __pyx_n_s_update_balance __pyx_mstate_global->__pyx_n_s_update_balance -#define __pyx_n_s_url __pyx_mstate_global->__pyx_n_s_url -#define __pyx_n_s_urls __pyx_mstate_global->__pyx_n_s_urls -#define __pyx_n_s_user_tg_id __pyx_mstate_global->__pyx_n_s_user_tg_id -#define __pyx_n_s_utcnow __pyx_mstate_global->__pyx_n_s_utcnow -#define __pyx_n_s_uuid __pyx_mstate_global->__pyx_n_s_uuid -#define __pyx_n_s_uuid4 __pyx_mstate_global->__pyx_n_s_uuid4 -#define __pyx_n_s_validate_client_code __pyx_mstate_global->__pyx_n_s_validate_client_code -#define __pyx_n_s_warning __pyx_mstate_global->__pyx_n_s_warning -#define __pyx_kp_u_wmic_cpu_get_ProcessorId __pyx_mstate_global->__pyx_kp_u_wmic_cpu_get_ProcessorId -#define __pyx_int_0 __pyx_mstate_global->__pyx_int_0 -#define __pyx_int_1 __pyx_mstate_global->__pyx_int_1 -#define __pyx_int_2 __pyx_mstate_global->__pyx_int_2 -#define __pyx_int_3 __pyx_mstate_global->__pyx_int_3 -#define __pyx_int_4 __pyx_mstate_global->__pyx_int_4 -#define __pyx_int_5 __pyx_mstate_global->__pyx_int_5 -#define __pyx_int_30 __pyx_mstate_global->__pyx_int_30 -#define __pyx_int_200 __pyx_mstate_global->__pyx_int_200 -#define __pyx_int_404 __pyx_mstate_global->__pyx_int_404 -#define __pyx_int_502 __pyx_mstate_global->__pyx_int_502 -#define __pyx_codeobj_ __pyx_mstate_global->__pyx_codeobj_ -#define __pyx_tuple__2 __pyx_mstate_global->__pyx_tuple__2 -#define __pyx_tuple__23 __pyx_mstate_global->__pyx_tuple__23 -#define __pyx_tuple__31 __pyx_mstate_global->__pyx_tuple__31 -#define __pyx_tuple__36 __pyx_mstate_global->__pyx_tuple__36 -#define __pyx_tuple__38 __pyx_mstate_global->__pyx_tuple__38 -#define __pyx_tuple__39 __pyx_mstate_global->__pyx_tuple__39 -#define __pyx_tuple__45 __pyx_mstate_global->__pyx_tuple__45 -#define __pyx_tuple__46 __pyx_mstate_global->__pyx_tuple__46 -#define __pyx_tuple__47 __pyx_mstate_global->__pyx_tuple__47 -#define __pyx_tuple__48 __pyx_mstate_global->__pyx_tuple__48 -#define __pyx_tuple__49 __pyx_mstate_global->__pyx_tuple__49 -#define __pyx_tuple__50 __pyx_mstate_global->__pyx_tuple__50 -#define __pyx_tuple__51 __pyx_mstate_global->__pyx_tuple__51 -#define __pyx_tuple__52 __pyx_mstate_global->__pyx_tuple__52 -#define __pyx_tuple__53 __pyx_mstate_global->__pyx_tuple__53 -#define __pyx_tuple__54 __pyx_mstate_global->__pyx_tuple__54 -#define __pyx_tuple__55 __pyx_mstate_global->__pyx_tuple__55 -#define __pyx_tuple__56 __pyx_mstate_global->__pyx_tuple__56 -#define __pyx_tuple__57 __pyx_mstate_global->__pyx_tuple__57 -#define __pyx_tuple__59 __pyx_mstate_global->__pyx_tuple__59 -#define __pyx_codeobj__3 __pyx_mstate_global->__pyx_codeobj__3 -#define __pyx_codeobj__14 __pyx_mstate_global->__pyx_codeobj__14 -#define __pyx_codeobj__16 __pyx_mstate_global->__pyx_codeobj__16 -#define __pyx_codeobj__21 __pyx_mstate_global->__pyx_codeobj__21 -#define __pyx_codeobj__25 __pyx_mstate_global->__pyx_codeobj__25 -#define __pyx_codeobj__29 __pyx_mstate_global->__pyx_codeobj__29 -#define __pyx_codeobj__40 __pyx_mstate_global->__pyx_codeobj__40 -#define __pyx_codeobj__58 __pyx_mstate_global->__pyx_codeobj__58 -/* #### Code section: module_code ### */ -static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_4gift_1start_menu_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_start_menu_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \320\272\320\276\320\273\320\261\321\215\320\272\320\260 'gifts'. \320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\320\265\321\202 \320\274\320\265\320\275\321\216 \321\201 \320\272\320\275\320\276\320\277\320\272\320\260\320\274\320\270 '\320\241\320\276\320\267\320\264\320\260\321\202\321\214 \320\277\320\276\320\264\320\260\321\200\320\276\320\272' \320\270 '\320\234\320\276\320\270 \320\277\320\276\320\264\320\260\321\200\320\272\320\270', \320\260 \321\202\320\260\320\272\320\266\320\265 \320\276\321\202\320\277\321\200\320\260\320\262\320\273\321\217\320\265\321\202 \320\270\320\267\320\276\320\261\321\200\320\260\320\266\320\265\320\275\320\270\320\265."); -static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_1start_menu_handler = {"start_menu_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_1start_menu_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_start_menu_handler}; -static PyObject *__pyx_pw_8handlers_8payments_4gift_1start_menu_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("start_menu_handler (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 34, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "start_menu_handler") < 0)) __PYX_ERR(0, 34, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - } - __pyx_v_callback_query = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("start_menu_handler", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 34, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.gift.start_menu_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_4gift_start_menu_handler(__pyx_self, __pyx_v_callback_query); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_4gift_start_menu_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("start_menu_handler", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 34, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_2generator, __pyx_codeobj_, (PyObject *) __pyx_cur_scope, __pyx_n_s_start_menu_handler, __pyx_n_s_start_menu_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.gift.start_menu_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_4gift_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("start_menu_handler", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - case 2: goto __pyx_L6_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 34, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_validate_client_code); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 37, __pyx_L1_error) - __pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1); - } else { - __pyx_t_1 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_is_valid = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_is_valid); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 38, __pyx_L1_error) - __pyx_t_6 = (!__pyx_t_5); - if (__pyx_t_6) { - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u_solonet_sup}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_GIFT); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_8) < 0) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_data, __pyx_n_u_gift) < 0) __PYX_ERR(0, 43, __pyx_L1_error) - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_types); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_MY_GIFTS); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_text, __pyx_t_7) < 0) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_callback_data, __pyx_n_u_my_gifts) < 0) __PYX_ERR(0, 44, __pyx_L1_error) - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_types); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_MAIN_MENU); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_text, __pyx_t_2) < 0) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 45, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_os); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_join); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_image_path = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_target_message, __pyx_t_2) < 0) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_GIFTS_ABOUT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_2) < 0) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_2) < 0) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_media_path, __pyx_cur_scope->__pyx_v_image_path) < 0) __PYX_ERR(0, 50, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 49, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L6_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 49, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 49, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_AddTraceback("start_menu_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_4gift_4my_gifts_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_3my_gifts_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \320\272\320\276\320\273\320\261\321\215\320\272\320\260 '\320\234\320\276\320\270 \320\277\320\276\320\264\320\260\321\200\320\272\320\270'. \320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\320\265\321\202 \321\201\320\277\320\270\321\201\320\276\320\272 \320\277\320\276\320\264\320\260\321\200\320\272\320\276\320\262 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 \321\201 \320\277\320\260\320\263\320\270\320\275\320\260\321\206\320\270\320\265\320\271."); -static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_4my_gifts_handler = {"my_gifts_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_4my_gifts_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_3my_gifts_handler}; -static PyObject *__pyx_pw_8handlers_8payments_4gift_4my_gifts_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("my_gifts_handler (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 57, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 57, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("my_gifts_handler", 1, 2, 2, 1); __PYX_ERR(0, 57, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "my_gifts_handler") < 0)) __PYX_ERR(0, 57, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_session = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("my_gifts_handler", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 57, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.gift.my_gifts_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_4gift_3my_gifts_handler(__pyx_self, __pyx_v_callback_query, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_4gift_3my_gifts_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("my_gifts_handler", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 57, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_5generator1, __pyx_codeobj__3, (PyObject *) __pyx_cur_scope, __pyx_n_s_my_gifts_handler, __pyx_n_s_my_gifts_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.gift.my_gifts_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_4gift_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - Py_ssize_t __pyx_t_5; - int __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *(*__pyx_t_10)(PyObject *); - PyObject *__pyx_t_11 = NULL; - Py_ssize_t __pyx_t_12; - Py_UCS4 __pyx_t_13; - PyObject *__pyx_t_14 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("my_gifts_handler", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L5_resume_from_await; - case 2: goto __pyx_L7_resume_from_await; - case 3: goto __pyx_L13_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 57, __pyx_L1_error) - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_user_tg_id = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_kp_u__4}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_data_parts = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_5 = PyObject_Length(__pyx_cur_scope->__pyx_v_data_parts); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 63, __pyx_L1_error) - __pyx_t_6 = (__pyx_t_5 > 1); - if (__pyx_t_6) { - - __pyx_t_2 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_data_parts, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_current_page = __pyx_t_3; - __pyx_t_3 = 0; - - goto __pyx_L4; - } - - /*else*/ { - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - __pyx_cur_scope->__pyx_v_current_page = __pyx_int_0; - } - __pyx_L4:; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_session, __pyx_n_s_fetch); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_kp_u_SELECT_gift_id_selected_months, __pyx_cur_scope->__pyx_v_user_tg_id}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 68, __pyx_L1_error) - __pyx_t_3 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_3); - } else { - __pyx_t_3 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_gifts = __pyx_t_3; - __pyx_t_3 = 0; - - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_gifts); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 77, __pyx_L1_error) - __pyx_t_7 = (!__pyx_t_6); - if (__pyx_t_7) { - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 78, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 78, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_3; - __pyx_t_3 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_GIFTS_MENU); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_n_u_gifts) < 0) __PYX_ERR(0, 79, __pyx_L1_error) - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_9}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_target_message, __pyx_t_9) < 0) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_NO_GIFTS); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 83, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_t_9) < 0) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L7_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 81, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 81, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_GIFTS_PER_PAGE); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_2 = PyNumber_Multiply(__pyx_cur_scope->__pyx_v_current_page, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_start = __pyx_t_2; - __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_GIFTS_PER_PAGE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 89, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = PyNumber_Add(__pyx_cur_scope->__pyx_v_start, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 89, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_v_end = __pyx_t_9; - __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_gifts, 0, 0, &__pyx_cur_scope->__pyx_v_start, &__pyx_cur_scope->__pyx_v_end, NULL, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_v_gifts_page = __pyx_t_9; - __pyx_t_9 = 0; - - __Pyx_INCREF(__pyx_kp_u_b_b); - __Pyx_GIVEREF(__pyx_kp_u_b_b); - __pyx_cur_scope->__pyx_v_gifts_text = __pyx_kp_u_b_b; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_9; - __pyx_t_9 = 0; - - if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_gifts_page)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_gifts_page)) { - __pyx_t_9 = __pyx_cur_scope->__pyx_v_gifts_page; __Pyx_INCREF(__pyx_t_9); - __pyx_t_5 = 0; - __pyx_t_10 = NULL; - } else { - __pyx_t_5 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_gifts_page); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 95, __pyx_L1_error) - } - for (;;) { - if (likely(!__pyx_t_10)) { - if (likely(PyList_CheckExact(__pyx_t_9))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_9); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 95, __pyx_L1_error) - #endif - if (__pyx_t_5 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(0, 95, __pyx_L1_error) - #else - __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_9, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_9); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 95, __pyx_L1_error) - #endif - if (__pyx_t_5 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(0, 95, __pyx_L1_error) - #else - __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_9, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - #endif - } - } else { - __pyx_t_2 = __pyx_t_10(__pyx_t_9); - if (unlikely(!__pyx_t_2)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 95, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_gift); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_gift, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_selected_months); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_months); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_months, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_7 = (__Pyx_PyInt_BoolEqObjC(__pyx_cur_scope->__pyx_v_months, __pyx_int_1, 1, 0)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 98, __pyx_L1_error) - if (__pyx_t_7) { - __Pyx_INCREF(__pyx_n_u__5); - __pyx_t_2 = __pyx_n_u__5; - } else { - __pyx_t_1 = PyObject_RichCompare(__pyx_int_2, __pyx_cur_scope->__pyx_v_months, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error) - if (__Pyx_PyObject_IsTrue(__pyx_t_1)) { - __Pyx_DECREF(__pyx_t_1); - __pyx_t_1 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_months, __pyx_int_4, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error) - } - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 98, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_n_u__6); - __pyx_t_3 = __pyx_n_u__6; - } else { - __Pyx_INCREF(__pyx_n_u__7); - __pyx_t_3 = __pyx_n_u__7; - } - __pyx_t_2 = __pyx_t_3; - __pyx_t_3 = 0; - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_months_text); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_months_text, ((PyObject*)__pyx_t_2)); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_is_used); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 100, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 100, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_7) { - __Pyx_INCREF(__pyx_n_u__8); - __pyx_t_2 = __pyx_n_u__8; - } else { - __Pyx_INCREF(__pyx_n_u__9); - __pyx_t_2 = __pyx_n_u__9; - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_is_used); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_is_used, ((PyObject*)__pyx_t_2)); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_recipient_tg_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_7) { - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_recipient_tg_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __pyx_t_3; - __pyx_t_3 = 0; - } else { - __Pyx_INCREF(__pyx_kp_u__10); - __pyx_t_2 = __pyx_kp_u__10; - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_recipient); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_recipient, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_expiry_time); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_strftime); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u_d_m_Y_H_M}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_expiry_time); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_expiry_time, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_gift_link); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_gift_link); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_gift_link, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_gift_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_gift_id); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_gift_id, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_GIFTS_TEXT_TEMPLATE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_months, __pyx_cur_scope->__pyx_v_months) < 0) __PYX_ERR(0, 107, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_months_text, __pyx_cur_scope->__pyx_v_months_text) < 0) __PYX_ERR(0, 107, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_expiry_time, __pyx_cur_scope->__pyx_v_expiry_time) < 0) __PYX_ERR(0, 107, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_recipient, __pyx_cur_scope->__pyx_v_recipient) < 0) __PYX_ERR(0, 107, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_is_used, __pyx_cur_scope->__pyx_v_is_used) < 0) __PYX_ERR(0, 107, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_gift_link, __pyx_cur_scope->__pyx_v_gift_link) < 0) __PYX_ERR(0, 107, __pyx_L1_error) - - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_cur_scope->__pyx_v_gifts_text, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_gifts_text); - __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_gifts_text, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 116, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = 0; - __pyx_t_13 = 127; - __Pyx_INCREF(__pyx_kp_u__11); - __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13; - __pyx_t_12 += 18; - __Pyx_GIVEREF(__pyx_kp_u__11); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_kp_u__11); - __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_expiry_time, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13; - __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_14); - __pyx_t_14 = 0; - __Pyx_INCREF(__pyx_kp_u__12); - __pyx_t_12 += 1; - __Pyx_GIVEREF(__pyx_kp_u__12); - PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_kp_u__12); - __pyx_t_14 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_14) < 0) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_12 = 0; - __pyx_t_13 = 127; - __Pyx_INCREF(__pyx_kp_u_delete_gift); - __pyx_t_12 += 12; - __Pyx_GIVEREF(__pyx_kp_u_delete_gift); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_kp_u_delete_gift); - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_gift_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) : __pyx_t_13; - __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_11); - __pyx_t_11 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_12 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_kp_u__4); - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_current_page, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) : __pyx_t_13; - __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_14, 3, __pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyUnicode_Join(__pyx_t_14, 4, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_t_11) < 0) __PYX_ERR(0, 117, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 116, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_11}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_current_page, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 122, __pyx_L1_error) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 122, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_7) { - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BACK); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_1) < 0) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_cur_scope->__pyx_v_current_page, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_my_gifts_2, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_t_1) < 0) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_1}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - } - - __pyx_t_5 = PyObject_Length(__pyx_cur_scope->__pyx_v_gifts); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 126, __pyx_L1_error) - __pyx_t_9 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_2 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_end, __pyx_t_9, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_7) { - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u__13) < 0) __PYX_ERR(0, 128, __pyx_L1_error) - __pyx_t_11 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_current_page, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u_my_gifts_2, __pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_t_11) < 0) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_11}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - } - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_types); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_BACK); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_t_3) < 0) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_callback_data, __pyx_n_u_gifts) < 0) __PYX_ERR(0, 131, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_3}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - __pyx_t_9 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_target_message, __pyx_t_3) < 0) __PYX_ERR(0, 134, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_cur_scope->__pyx_v_gifts_text) < 0) __PYX_ERR(0, 134, __pyx_L1_error) - - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_reply_markup, __pyx_t_3) < 0) __PYX_ERR(0, 134, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L13_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 133, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 133, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("my_gifts_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_4gift_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_4gift_7delete_gift_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_6delete_gift_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \321\203\320\264\320\260\320\273\320\265\320\275\320\270\321\217 \320\277\320\276\320\264\320\260\321\200\320\272\320\260."); -static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_7delete_gift_handler = {"delete_gift_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_7delete_gift_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_6delete_gift_handler}; -static PyObject *__pyx_pw_8handlers_8payments_4gift_7delete_gift_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("delete_gift_handler (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 139, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 139, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("delete_gift_handler", 1, 2, 2, 1); __PYX_ERR(0, 139, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "delete_gift_handler") < 0)) __PYX_ERR(0, 139, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_session = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("delete_gift_handler", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 139, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.gift.delete_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_4gift_6delete_gift_handler(__pyx_self, __pyx_v_callback_query, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_4gift_6delete_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("delete_gift_handler", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 139, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_8generator2, __pyx_codeobj__14, (PyObject *) __pyx_cur_scope, __pyx_n_s_delete_gift_handler, __pyx_n_s_delete_gift_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.gift.delete_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_4gift_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("delete_gift_handler", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - case 2: goto __pyx_L5_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 139, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__4}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_data = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_data, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_gift_id = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_session, __pyx_n_s_execute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id, __pyx_cur_scope->__pyx_v_gift_id}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 146, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 146, __pyx_L1_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 148, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 148, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_MY_GIFTS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_6) < 0) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_data, __pyx_n_u_my_gifts) < 0) __PYX_ERR(0, 149, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_target_message, __pyx_t_6) < 0) __PYX_ERR(0, 152, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__15) < 0) __PYX_ERR(0, 152, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_reply_markup, __pyx_t_6) < 0) __PYX_ERR(0, 152, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 151, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 151, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("delete_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_4gift_10gift_subscription_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_9gift_subscription_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \320\272\320\275\320\276\320\277\320\272\320\270 '\320\237\320\276\320\264\320\260\321\200\320\270\321\202\321\214'. \320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\320\265\321\202 \320\262\320\260\321\200\320\270\320\260\320\275\321\202\321\213 \320\277\320\276\320\264\320\277\320\270\321\201\320\276\320\272."); -static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_10gift_subscription_handler = {"gift_subscription_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_10gift_subscription_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_9gift_subscription_handler}; -static PyObject *__pyx_pw_8handlers_8payments_4gift_10gift_subscription_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("gift_subscription_handler (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 158, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "gift_subscription_handler") < 0)) __PYX_ERR(0, 158, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - } - __pyx_v_callback_query = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("gift_subscription_handler", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 158, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.gift.gift_subscription_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_4gift_9gift_subscription_handler(__pyx_self, __pyx_v_callback_query); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_4gift_9gift_subscription_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("gift_subscription_handler", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 158, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_11generator3, __pyx_codeobj__16, (PyObject *) __pyx_cur_scope, __pyx_n_s_gift_subscription_handler, __pyx_n_s_gift_subscription_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.gift.gift_subscription_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_4gift_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - Py_ssize_t __pyx_t_5; - Py_ssize_t __pyx_t_6; - int __pyx_t_7; - int __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - Py_ssize_t __pyx_t_12; - Py_UCS4 __pyx_t_13; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - int __pyx_t_18; - int __pyx_t_19; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("gift_subscription_handler", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L9_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 158, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (unlikely(__pyx_t_2 == Py_None)) { - PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); - __PYX_ERR(0, 163, __pyx_L1_error) - } - __pyx_t_3 = __Pyx_dict_iterator(__pyx_t_2, 0, __pyx_n_s_items, (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); - __pyx_t_1 = __pyx_t_3; - __pyx_t_3 = 0; - while (1) { - __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_6, &__pyx_t_5, &__pyx_t_3, &__pyx_t_2, NULL, __pyx_t_7); - if (unlikely(__pyx_t_8 == 0)) break; - if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_months); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_months, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_price); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_price, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_types); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = PyTuple_New(7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = 0; - __pyx_t_13 = 127; - __Pyx_INCREF(__pyx_kp_u__17); - __pyx_t_13 = (1114111 > __pyx_t_13) ? 1114111 : __pyx_t_13; - __pyx_t_12 += 2; - __Pyx_GIVEREF(__pyx_kp_u__17); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_kp_u__17); - __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13; - __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_14); - __pyx_t_14 = 0; - __Pyx_INCREF(__pyx_kp_u__18); - __pyx_t_12 += 1; - __Pyx_GIVEREF(__pyx_kp_u__18); - PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_kp_u__18); - __pyx_t_15 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_months, __pyx_kp_u_1, Py_EQ)); if (unlikely((__pyx_t_15 < 0))) __PYX_ERR(0, 166, __pyx_L1_error) - if (__pyx_t_15) { - __Pyx_INCREF(__pyx_n_u__5); - __pyx_t_14 = __pyx_n_u__5; - } else { - __pyx_t_17 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_months); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_19 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_17, __pyx_int_2, 2, 0)); if (unlikely((__pyx_t_19 < 0))) __PYX_ERR(0, 166, __pyx_L1_error) - if (!__pyx_t_19) { - } else { - __pyx_t_18 = __pyx_t_19; - goto __pyx_L6_bool_binop_done; - } - __pyx_t_19 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_17, __pyx_int_3, 3, 0)); if (unlikely((__pyx_t_19 < 0))) __PYX_ERR(0, 166, __pyx_L1_error) - if (!__pyx_t_19) { - } else { - __pyx_t_18 = __pyx_t_19; - goto __pyx_L6_bool_binop_done; - } - __pyx_t_19 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_17, __pyx_int_4, 4, 0)); if (unlikely((__pyx_t_19 < 0))) __PYX_ERR(0, 166, __pyx_L1_error) - __pyx_t_18 = __pyx_t_19; - __pyx_L6_bool_binop_done:; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __pyx_t_19 = __pyx_t_18; - if (__pyx_t_19) { - __Pyx_INCREF(__pyx_n_u__6); - __pyx_t_16 = __pyx_n_u__6; - } else { - __Pyx_INCREF(__pyx_n_u__7); - __pyx_t_16 = __pyx_n_u__7; - } - __pyx_t_14 = __pyx_t_16; - __pyx_t_16 = 0; - } - __pyx_t_16 = __Pyx_PyUnicode_Unicode(__pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) : __pyx_t_13; - __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_16); - __pyx_t_16 = 0; - __Pyx_INCREF(__pyx_kp_u__19); - __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13; - __pyx_t_12 += 4; - __Pyx_GIVEREF(__pyx_kp_u__19); - PyTuple_SET_ITEM(__pyx_t_11, 4, __pyx_kp_u__19); - __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_price, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) : __pyx_t_13; - __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_11, 5, __pyx_t_16); - __pyx_t_16 = 0; - __Pyx_INCREF(__pyx_kp_u__20); - __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13; - __pyx_t_12 += 7; - __Pyx_GIVEREF(__pyx_kp_u__20); - PyTuple_SET_ITEM(__pyx_t_11, 6, __pyx_kp_u__20); - __pyx_t_16 = __Pyx_PyUnicode_Join(__pyx_t_11, 7, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_t_16) < 0) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - - __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u_gift_2, __pyx_t_16); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 167, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_callback_data, __pyx_t_11) < 0) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_11}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_BACK); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_gifts) < 0) __PYX_ERR(0, 171, __pyx_L1_error) - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_9}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 174, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 174, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_target_message, __pyx_t_9) < 0) __PYX_ERR(0, 174, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_GIFT_CHOICE); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 175, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 174, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_t_9) < 0) __PYX_ERR(0, 174, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L9_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 173, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 173, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_AddTraceback("gift_subscription_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_4gift_13confirm_gift_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_12confirm_gift_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\264\320\273\321\217 \320\262\321\213\320\261\320\276\321\200\320\260 \321\201\321\200\320\276\320\272\320\260 \320\277\320\276\320\264\320\277\320\270\321\201\320\272\320\270."); -static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_13confirm_gift_handler = {"confirm_gift_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_13confirm_gift_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_12confirm_gift_handler}; -static PyObject *__pyx_pw_8handlers_8payments_4gift_13confirm_gift_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - CYTHON_UNUSED PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("confirm_gift_handler (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 180, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 180, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("confirm_gift_handler", 1, 2, 2, 1); __PYX_ERR(0, 180, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "confirm_gift_handler") < 0)) __PYX_ERR(0, 180, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_session = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("confirm_gift_handler", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 180, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.gift.confirm_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_4gift_12confirm_gift_handler(__pyx_self, __pyx_v_callback_query, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_4gift_12confirm_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("confirm_gift_handler", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 180, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_14generator4, __pyx_codeobj__21, (PyObject *) __pyx_cur_scope, __pyx_n_s_confirm_gift_handler, __pyx_n_s_confirm_gift_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.gift.confirm_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_4gift_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("confirm_gift_handler", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L5_resume_from_await; - case 2: goto __pyx_L6_resume_from_await; - case 3: goto __pyx_L8_resume_from_await; - case 4: goto __pyx_L9_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 180, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__4}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_selected_months = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_selected_months, Py_None}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_price = __pyx_t_3; - __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_user_tg_id = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_price); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 187, __pyx_L1_error) - __pyx_t_6 = (!__pyx_t_5); - if (__pyx_t_6) { - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_show_alert, Py_True) < 0) __PYX_ERR(0, 188, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__23, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 188, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 188, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_get_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_cur_scope->__pyx_v_user_tg_id}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L6_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 191, __pyx_L1_error) - __pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1); - } else { - __pyx_t_1 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_balance = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_balance, __pyx_cur_scope->__pyx_v_price, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 192, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_6) { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_MAIN_MENU); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_8) < 0) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 194, __pyx_L1_error) - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_target_message, __pyx_t_8) < 0) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_kp_u__24) < 0) __PYX_ERR(0, 197, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_7 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_reply_markup, __pyx_t_8) < 0) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L8_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 196, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 196, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_8; - __pyx_t_8 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_APPLY); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_7) < 0) __PYX_ERR(0, 206, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_selected_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_9 = __Pyx_PyUnicode_Concat(__pyx_kp_u_confirm_gift, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 206, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_t_9) < 0) __PYX_ERR(0, 206, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CANCEL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_7) < 0) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 208, __pyx_L1_error) - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_t_9, __pyx_t_7}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_get_gift_confirmation_text); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_cur_scope->__pyx_v_selected_months, __pyx_cur_scope->__pyx_v_price}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_v_confirmation_text = __pyx_t_8; - __pyx_t_8 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_target_message, __pyx_t_7) < 0) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_cur_scope->__pyx_v_confirmation_text) < 0) __PYX_ERR(0, 214, __pyx_L1_error) - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_reply_markup, __pyx_t_7) < 0) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_7); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L9_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 213, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 213, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_AddTraceback("confirm_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_4gift_16finalize_gift_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_15finalize_gift_handler, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\277\320\276\320\264\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217 \320\277\320\276\320\264\320\260\321\200\320\272\320\260."); -static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_16finalize_gift_handler = {"finalize_gift_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_16finalize_gift_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_15finalize_gift_handler}; -static PyObject *__pyx_pw_8handlers_8payments_4gift_16finalize_gift_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - CYTHON_UNUSED PyObject *__pyx_v_state = 0; - PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("finalize_gift_handler (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 220, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 220, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("finalize_gift_handler", 1, 3, 3, 1); __PYX_ERR(0, 220, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 220, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("finalize_gift_handler", 1, 3, 3, 2); __PYX_ERR(0, 220, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "finalize_gift_handler") < 0)) __PYX_ERR(0, 220, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - __pyx_v_session = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("finalize_gift_handler", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 220, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.gift.finalize_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_4gift_15finalize_gift_handler(__pyx_self, __pyx_v_callback_query, __pyx_v_state, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_4gift_15finalize_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_state, PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("finalize_gift_handler", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 220, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_17generator5, __pyx_codeobj__25, (PyObject *) __pyx_cur_scope, __pyx_n_s_finalize_gift_handler, __pyx_n_s_finalize_gift_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.gift.finalize_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_4gift_17generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_t_12; - int __pyx_t_13; - PyObject *__pyx_t_14 = NULL; - Py_ssize_t __pyx_t_15; - Py_UCS4 __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - int __pyx_t_18; - char const *__pyx_t_19; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("finalize_gift_handler", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L5_resume_from_await; - case 2: goto __pyx_L12_resume_from_await; - case 3: goto __pyx_L13_resume_from_await; - case 4: goto __pyx_L18_resume_from_await; - case 5: goto __pyx_L26_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 220, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 223, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__4}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_selected_months = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_selected_months, Py_None}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 224, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_price = __pyx_t_3; - __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 225, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 225, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_tg_id = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_price); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 227, __pyx_L1_error) - __pyx_t_6 = (!__pyx_t_5); - if (__pyx_t_6) { - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_show_alert, Py_True) < 0) __PYX_ERR(0, 228, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__23, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 228, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 228, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - { - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 232, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyNumber_Negative(__pyx_cur_scope->__pyx_v_price); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 232, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_10, __pyx_cur_scope->__pyx_v_tg_id, __pyx_t_2}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 232, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L12_resume_from_await:; - __pyx_t_7 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_9); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 232, __pyx_L6_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 232, __pyx_L6_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_datetime); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 233, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_utcnow); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 233, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_timedelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 233, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 233, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_selected_months); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 233, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyInt_MultiplyObjC(__pyx_t_10, __pyx_int_30, 30, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 233, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_days, __pyx_t_11) < 0) __PYX_ERR(0, 233, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 233, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 233, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_expiry_time = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_uuid); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 234, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_uuid4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 234, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_hex); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 234, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_gift_id = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_get_gift_link); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_11 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_cur_scope->__pyx_v_tg_id, __pyx_cur_scope->__pyx_v_gift_id}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 235, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_gift_link = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 236, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_gift_link, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u__26, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 236, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_store_gift_link); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 238, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_selected_months); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 238, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[7] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_gift_id, __pyx_cur_scope->__pyx_v_tg_id, __pyx_t_2, __pyx_cur_scope->__pyx_v_expiry_time, __pyx_cur_scope->__pyx_v_gift_link, __pyx_cur_scope->__pyx_v_session}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_4, 6+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 238, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L13_resume_from_await:; - __pyx_t_7 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_9); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 238, __pyx_L6_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 238, __pyx_L6_error) - } - } - - __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_selected_months, __pyx_kp_u_1, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 241, __pyx_L6_error) - if (__pyx_t_6) { - __Pyx_INCREF(__pyx_n_u__5); - __pyx_t_3 = __pyx_n_u__5; - } else { - __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_selected_months); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 241, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_2, 2, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 241, __pyx_L6_error) - if (!__pyx_t_12) { - } else { - __pyx_t_5 = __pyx_t_12; - goto __pyx_L14_bool_binop_done; - } - __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_3, 3, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 241, __pyx_L6_error) - if (!__pyx_t_12) { - } else { - __pyx_t_5 = __pyx_t_12; - goto __pyx_L14_bool_binop_done; - } - __pyx_t_12 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_4, 4, 0)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 241, __pyx_L6_error) - __pyx_t_5 = __pyx_t_12; - __pyx_L14_bool_binop_done:; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_12 = __pyx_t_5; - if (__pyx_t_12) { - __Pyx_INCREF(__pyx_n_u__6); - __pyx_t_11 = __pyx_n_u__6; - } else { - __Pyx_INCREF(__pyx_n_u__7); - __pyx_t_11 = __pyx_n_u__7; - } - __pyx_t_3 = __pyx_t_11; - __pyx_t_11 = 0; - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_months_text = ((PyObject*)__pyx_t_3); - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_GIFTS_TEXT_TEMPLATE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 243, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 243, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_months, __pyx_cur_scope->__pyx_v_selected_months) < 0) __PYX_ERR(0, 244, __pyx_L6_error) - - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_months_text, __pyx_cur_scope->__pyx_v_months_text) < 0) __PYX_ERR(0, 244, __pyx_L6_error) - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_expiry_time, __pyx_n_s_strftime); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_kp_u_d_m_Y_H_M}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_expiry_time, __pyx_t_2) < 0) __PYX_ERR(0, 244, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_recipient, __pyx_kp_u__10) < 0) __PYX_ERR(0, 244, __pyx_L6_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_is_used, __pyx_n_u__9) < 0) __PYX_ERR(0, 244, __pyx_L6_error) - - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_gift_link, __pyx_cur_scope->__pyx_v_gift_link) < 0) __PYX_ERR(0, 244, __pyx_L6_error) - - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 243, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_message_text = __pyx_t_2; - __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 252, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 252, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_2; - __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_INLINE_MODE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 253, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 253, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_6) { - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_button); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 254, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_SHARE_GIFT); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 254, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 254, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_n_u_gift_3, __pyx_cur_scope->__pyx_v_gift_id); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 254, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_switch_inline_query, __pyx_t_11) < 0) __PYX_ERR(0, 254, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 254, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - goto __pyx_L17; - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 256, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 256, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 257, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_months, __pyx_cur_scope->__pyx_v_selected_months) < 0) __PYX_ERR(0, 257, __pyx_L6_error) - - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_months_text, __pyx_cur_scope->__pyx_v_months_text) < 0) __PYX_ERR(0, 257, __pyx_L6_error) - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_expiry_time, __pyx_n_s_strftime); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_kp_u_d_m_Y_H_M}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 259, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_expiry_time, __pyx_t_2) < 0) __PYX_ERR(0, 257, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_gift_link, __pyx_cur_scope->__pyx_v_gift_link) < 0) __PYX_ERR(0, 257, __pyx_L6_error) - - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 256, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_share_text = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_button); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 262, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_SHARE_GIFT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_t_3) < 0) __PYX_ERR(0, 262, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_switch_inline_query, __pyx_cur_scope->__pyx_v_share_text) < 0) __PYX_ERR(0, 262, __pyx_L6_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_L17:; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_button); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 263, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_MAIN_MENU); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_t_2) < 0) __PYX_ERR(0, 263, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 263, __pyx_L6_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_adjust); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 264, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_int_1}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 266, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - - __pyx_t_11 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 267, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_target_message, __pyx_t_3) < 0) __PYX_ERR(0, 267, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_cur_scope->__pyx_v_message_text) < 0) __PYX_ERR(0, 267, __pyx_L6_error) - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_reply_markup, __pyx_t_3) < 0) __PYX_ERR(0, 267, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 266, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L18_resume_from_await:; - __pyx_t_7 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_9); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 266, __pyx_L6_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 266, __pyx_L6_error) - } - } - - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L11_try_end; - __pyx_L6_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_13 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_13) { - __Pyx_AddTraceback("handlers.payments.gift.finalize_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_11, &__pyx_t_2) < 0) __PYX_ERR(0, 272, __pyx_L8_except_error) - __Pyx_XGOTREF(__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_v_e = __pyx_t_11; - /*try:*/ { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 273, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 274, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 274, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = 0; - __pyx_t_16 = 127; - __Pyx_INCREF(__pyx_kp_u__27); - __pyx_t_16 = (65535 > __pyx_t_16) ? 65535 : __pyx_t_16; - __pyx_t_15 += 31; - __Pyx_GIVEREF(__pyx_kp_u__27); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_kp_u__27); - __pyx_t_17 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 274, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_17); - __pyx_t_16 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17) > __pyx_t_16) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17) : __pyx_t_16; - __pyx_t_15 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_17); - __pyx_t_17 = 0; - __Pyx_INCREF(__pyx_kp_u__28); - __pyx_t_16 = (65535 > __pyx_t_16) ? 65535 : __pyx_t_16; - __pyx_t_15 += 30; - __Pyx_GIVEREF(__pyx_kp_u__28); - PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_kp_u__28); - __pyx_t_17 = __Pyx_PyUnicode_Join(__pyx_t_14, 3, __pyx_t_15, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 274, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_17) < 0) __PYX_ERR(0, 274, __pyx_L24_error) - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 273, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_17); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L26_resume_from_await:; - __pyx_t_2 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_3); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_11); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 273, __pyx_L24_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 273, __pyx_L24_error) - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L25; - } - __pyx_L24_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22) < 0)) __Pyx_ErrFetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_25); - __pyx_t_13 = __pyx_lineno; __pyx_t_18 = __pyx_clineno; __pyx_t_19 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_24, __pyx_t_25); - } - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ErrRestore(__pyx_t_20, __pyx_t_21, __pyx_t_22); - __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; - __pyx_lineno = __pyx_t_13; __pyx_clineno = __pyx_t_18; __pyx_filename = __pyx_t_19; - goto __pyx_L8_except_error; - } - __pyx_L25:; - } - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L7_exception_handled; - } - goto __pyx_L8_except_error; - - __pyx_L8_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L7_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L11_try_end:; - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_AddTraceback("finalize_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_4gift_20generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_4gift_19inline_gift_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_18inline_gift_handler, "\320\230\320\275\320\273\320\260\320\271\320\275-\321\200\320\265\320\266\320\270\320\274 \320\264\320\273\321\217 \320\276\321\202\320\277\321\200\320\260\320\262\320\272\320\270 \320\277\320\276\320\264\320\260\321\200\320\272\320\260 \321\201 \320\272\320\275\320\276\320\277\320\272\320\276\320\271 '\360\237\216\201 \320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214 \320\277\320\276\320\264\320\260\321\200\320\276\320\272'."); -static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_19inline_gift_handler = {"inline_gift_handler", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_4gift_19inline_gift_handler, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_4gift_18inline_gift_handler}; -static PyObject *__pyx_pw_8handlers_8payments_4gift_19inline_gift_handler(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_inline_query = 0; - PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("inline_gift_handler (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_inline_query,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_inline_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 280, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 280, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("inline_gift_handler", 1, 2, 2, 1); __PYX_ERR(0, 280, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "inline_gift_handler") < 0)) __PYX_ERR(0, 280, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_inline_query = values[0]; - __pyx_v_session = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("inline_gift_handler", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 280, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.gift.inline_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_4gift_18inline_gift_handler(__pyx_self, __pyx_v_inline_query, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_4gift_18inline_gift_handler(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_inline_query, PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("inline_gift_handler", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 280, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_inline_query = __pyx_v_inline_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_inline_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_inline_query); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_20generator6, __pyx_codeobj__29, (PyObject *) __pyx_cur_scope, __pyx_n_s_inline_gift_handler, __pyx_n_s_inline_gift_handler, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.gift.inline_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_4gift_20generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - unsigned int __pyx_t_7; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - Py_ssize_t __pyx_t_12; - Py_UCS4 __pyx_t_13; - int __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - char const *__pyx_t_18; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("inline_gift_handler", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L10_resume_from_await; - case 2: goto __pyx_L12_resume_from_await; - case 3: goto __pyx_L13_resume_from_await; - case 4: goto __pyx_L21_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 280, __pyx_L1_error) - - { - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_inline_query, __pyx_n_s_query); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 284, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_replace); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 284, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 284, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_gift_id = __pyx_t_4; - __pyx_t_4 = 0; - - __Pyx_INCREF(__pyx_kp_u_SELECT_gift_link_selected_month); - __Pyx_GIVEREF(__pyx_kp_u_SELECT_gift_link_selected_month); - __pyx_cur_scope->__pyx_v_query = __pyx_kp_u_SELECT_gift_link_selected_month; - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_session, __pyx_n_s_fetchrow); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 291, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_query, __pyx_cur_scope->__pyx_v_gift_id}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 291, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L10_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 291, __pyx_L4_error) - __pyx_t_4 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_4); - } else { - __pyx_t_4 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_4) < 0) __PYX_ERR(0, 291, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_gift = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_gift); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 293, __pyx_L4_error) - __pyx_t_9 = (!__pyx_t_8); - if (__pyx_t_9) { - - __Pyx_XDECREF(__pyx_r); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_inline_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 294, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 294, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_6}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L12_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 294, __pyx_L4_error) - __pyx_t_4 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_4); - } else { - __pyx_t_4 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_4) < 0) __PYX_ERR(0, 294, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - } - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L8_try_return; - - } - - __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_gift_link); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 296, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_gift_link = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_selected_months); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 297, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_months = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_gift, __pyx_n_u_expiry_time); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 298, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_strftime); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 298, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_kp_u_d_m_Y_H_M}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_expiry_time = __pyx_t_4; - __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_SHARE_TEXT_TEMPLATE); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 300, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 300, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 301, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_months, __pyx_cur_scope->__pyx_v_months) < 0) __PYX_ERR(0, 301, __pyx_L4_error) - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_expiry_time, __pyx_cur_scope->__pyx_v_expiry_time) < 0) __PYX_ERR(0, 301, __pyx_L4_error) - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_gift_link, __pyx_cur_scope->__pyx_v_gift_link) < 0) __PYX_ERR(0, 301, __pyx_L4_error) - - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 300, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_message_text = __pyx_t_5; - __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 304, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 304, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_5; - __pyx_t_5 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 305, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 305, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_kp_u__32) < 0) __PYX_ERR(0, 305, __pyx_L4_error) - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_url, __pyx_cur_scope->__pyx_v_gift_link) < 0) __PYX_ERR(0, 305, __pyx_L4_error) - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 305, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_11}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 305, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_InlineQueryResultArticle); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 307, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - - __pyx_t_4 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 308, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_id, __pyx_cur_scope->__pyx_v_gift_id) < 0) __PYX_ERR(0, 308, __pyx_L4_error) - - __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 309, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = 0; - __pyx_t_13 = 127; - __Pyx_INCREF(__pyx_kp_u_VPN); - __pyx_t_13 = (1114111 > __pyx_t_13) ? 1114111 : __pyx_t_13; - __pyx_t_12 += 9; - __Pyx_GIVEREF(__pyx_kp_u_VPN); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_kp_u_VPN); - __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_months, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 309, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_13; - __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_10); - __pyx_t_10 = 0; - __Pyx_INCREF(__pyx_kp_u__33); - __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13; - __pyx_t_12 += 8; - __Pyx_GIVEREF(__pyx_kp_u__33); - PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_kp_u__33); - __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 309, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_title, __pyx_t_10) < 0) __PYX_ERR(0, 308, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_expiry_time, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 310, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u__34, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 310, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_description, __pyx_t_11) < 0) __PYX_ERR(0, 308, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_InputTextMessageContent); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 311, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_11); - - __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 312, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_message_text, __pyx_cur_scope->__pyx_v_message_text) < 0) __PYX_ERR(0, 312, __pyx_L4_error) - - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 311, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_input_message_content, __pyx_t_6) < 0) __PYX_ERR(0, 308, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 314, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 314, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_reply_markup, __pyx_t_6) < 0) __PYX_ERR(0, 308, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 307, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_result = __pyx_t_6; - __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_inline_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 317, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 317, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_result); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_result); - if (__Pyx_PyList_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_result)) __PYX_ERR(0, 317, __pyx_L4_error); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 317, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4)) __PYX_ERR(0, 317, __pyx_L4_error); - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 317, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_cache_time, __pyx_int_1) < 0) __PYX_ERR(0, 317, __pyx_L4_error) - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 317, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L13_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 317, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 317, __pyx_L4_error) - } - } - - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L9_try_end; - __pyx_L4_error:; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_14 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_14) { - __Pyx_AddTraceback("handlers.payments.gift.inline_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_4, &__pyx_t_5) < 0) __PYX_ERR(0, 319, __pyx_L6_except_error) - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_e = __pyx_t_4; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_logger); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 320, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_error); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 320, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 320, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_16 = __Pyx_PyUnicode_Concat(__pyx_kp_u__35, __pyx_t_11); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 320, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_15))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_15); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_15, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_16}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_15, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 320, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_inline_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 321, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = PyList_New(0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 321, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_11 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_15))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_15); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_15, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_16}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_15, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 321, __pyx_L19_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_4; - __Pyx_XGIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_5; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L21_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - __pyx_t_4 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_4); - __pyx_t_5 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_5); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_10); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 321, __pyx_L19_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 321, __pyx_L19_error) - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L20; - } - __pyx_L19_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_22, &__pyx_t_23, &__pyx_t_24); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21) < 0)) __Pyx_ErrFetch(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __pyx_t_14 = __pyx_lineno; __pyx_t_17 = __pyx_clineno; __pyx_t_18 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24); - } - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_ErrRestore(__pyx_t_19, __pyx_t_20, __pyx_t_21); - __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; - __pyx_lineno = __pyx_t_14; __pyx_clineno = __pyx_t_17; __pyx_filename = __pyx_t_18; - goto __pyx_L6_except_error; - } - __pyx_L20:; - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L5_exception_handled; - } - goto __pyx_L6_except_error; - - __pyx_L6_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_return:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L0; - __pyx_L5_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_L9_try_end:; - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_AddTraceback("inline_gift_handler", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_4gift_22get_hardware_id(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_21get_hardware_id, "\n \320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217 \321\203\320\275\320\270\320\272\320\260\320\273\321\214\320\275\320\276\320\263\320\276 \320\270\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\260 \321\203\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260 \320\275\320\260 \320\276\321\201\320\275\320\276\320\262\320\265 hardware-\320\270\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270.\n "); -static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_22get_hardware_id = {"get_hardware_id", (PyCFunction)__pyx_pw_8handlers_8payments_4gift_22get_hardware_id, METH_NOARGS, __pyx_doc_8handlers_8payments_4gift_21get_hardware_id}; -static PyObject *__pyx_pw_8handlers_8payments_4gift_22get_hardware_id(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("get_hardware_id (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_8handlers_8payments_4gift_21get_hardware_id(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_4gift_21get_hardware_id(CYTHON_UNUSED PyObject *__pyx_self) { - PyObject *__pyx_v_result = NULL; - PyObject *__pyx_v_f = NULL; - PyObject *__pyx_v_hardware_id = NULL; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - unsigned int __pyx_t_7; - int __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - int __pyx_t_18; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("get_hardware_id", 1); - - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_platform); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 329, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_system); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 329, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 329, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_t_4, __pyx_n_u_Windows, Py_EQ)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 329, __pyx_L3_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_subprocess); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 330, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_check_output); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 330, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 330, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_shell, Py_True) < 0) __PYX_ERR(0, 330, __pyx_L3_error) - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__36, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 330, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_decode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 330, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 330, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 330, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_kp_u__37}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 330, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_6, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 330, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 330, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 330, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_v_result = __pyx_t_4; - __pyx_t_4 = 0; - - goto __pyx_L9; - } - - /*else*/ { - /*with:*/ { - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 332, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_exit); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 332, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_4, __pyx_n_s_enter); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 332, __pyx_L10_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 332, __pyx_L10_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_t_9 = __pyx_t_6; - __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /*try:*/ { - { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ExceptionSave(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_15); - /*try:*/ { - __pyx_v_f = __pyx_t_9; - __pyx_t_9 = 0; - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 333, __pyx_L14_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 333, __pyx_L14_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 333, __pyx_L14_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 333, __pyx_L14_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_v_result = __pyx_t_9; - __pyx_t_9 = 0; - - } - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - goto __pyx_L19_try_end; - __pyx_L14_error:; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - /*except:*/ { - __Pyx_AddTraceback("handlers.payments.gift.get_hardware_id", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_9, &__pyx_t_6, &__pyx_t_4) < 0) __PYX_ERR(0, 332, __pyx_L16_except_error) - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_Pack(3, __pyx_t_9, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 332, __pyx_L16_except_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_5, NULL); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 332, __pyx_L16_except_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (__pyx_t_8 < 0) __PYX_ERR(0, 332, __pyx_L16_except_error) - __pyx_t_17 = (!__pyx_t_8); - if (unlikely(__pyx_t_17)) { - __Pyx_GIVEREF(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_4); - __Pyx_ErrRestoreWithState(__pyx_t_9, __pyx_t_6, __pyx_t_4); - __pyx_t_9 = 0; __pyx_t_6 = 0; __pyx_t_4 = 0; - __PYX_ERR(0, 332, __pyx_L16_except_error) - } - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L15_exception_handled; - } - __pyx_L16_except_error:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - goto __pyx_L3_error; - __pyx_L15_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_ExceptionReset(__pyx_t_13, __pyx_t_14, __pyx_t_15); - __pyx_L19_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_12) { - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_tuple__39, NULL); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 332, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - goto __pyx_L13; - } - __pyx_L13:; - } - goto __pyx_L23; - __pyx_L10_error:; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L3_error; - __pyx_L23:; - } - } - __pyx_L9:; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_hashlib); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 335, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_sha256); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 335, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_v_result)) { __Pyx_RaiseUnboundLocalError("result"); __PYX_ERR(0, 335, __pyx_L3_error) } - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_encode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 335, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 335, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __pyx_t_11 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_9}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 335, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_hexdigest); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 335, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 335, __pyx_L3_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_v_hardware_id = __pyx_t_4; - __pyx_t_4 = 0; - - __Pyx_XDECREF(__pyx_r); - __Pyx_INCREF(__pyx_v_hardware_id); - __pyx_r = __pyx_v_hardware_id; - goto __pyx_L7_try_return; - - } - __pyx_L3_error:; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_18 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_18) { - __Pyx_AddTraceback("handlers.payments.gift.get_hardware_id", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 337, __pyx_L5_except_error) - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_6); - - __Pyx_XDECREF(__pyx_r); - __pyx_r = Py_None; __Pyx_INCREF(Py_None); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L6_except_return; - } - goto __pyx_L5_except_error; - - __pyx_L5_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L7_try_return:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L0; - __pyx_L6_except_return:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L0; - } - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_AddTraceback("handlers.payments.gift.get_hardware_id", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __pyx_L0:; - __Pyx_XDECREF(__pyx_v_result); - __Pyx_XDECREF(__pyx_v_f); - __Pyx_XDECREF(__pyx_v_hardware_id); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_4gift_25generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_4gift_24validate_client_code(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_4gift_23validate_client_code, "\n \320\237\321\200\320\276\320\262\320\265\321\200\321\217\320\265\321\202 \320\272\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271 \320\272\320\276\320\264 \320\277\320\276 \320\264\320\262\321\203\320\274 \321\201\320\265\321\200\320\262\320\265\321\200\320\260\320\274.\n \n \342\234\205 \320\243\321\201\320\277\320\265\321\205:\n - \321\205\320\276\321\202\321\217 \320\261\321\213 \320\276\320\264\320\270\320\275 \321\201\320\265\321\200\320\262\320\265\321\200 \320\264\320\260\320\273 \"success\"\n - \320\270\320\273\320\270 \320\276\320\261\320\260 \321\201\320\265\321\200\320\262\320\265\321\200\320\260 \320\275\320\265\320\264\320\276\321\201\321\202\321\203\320\277\320\275\321\213 (\321\202\320\260\320\271\320\274\320\260\321\203\321\202\321\213, \320\276\321\210\320\270\320\261\320\272\320\270 \321\201\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\321\217, 502, 404)\n \n \342\235\214 \320\236\321\210\320\270\320\261\320\272\320\260:\n - \321\205\320\276\321\202\321\217 \320\261\321\213 \320\276\320\264\320\270\320\275 \321\201\320\265\321\200\320\262\320\265\321\200 \320\262\320\265\321\200\320\275\321\203\320\273 \"error\" (\320\275\320\265\320\262\320\265\321\200\320\275\321\213\320\271 \320\272\320\276\320\264)\n "); -static PyMethodDef __pyx_mdef_8handlers_8payments_4gift_24validate_client_code = {"validate_client_code", (PyCFunction)__pyx_pw_8handlers_8payments_4gift_24validate_client_code, METH_NOARGS, __pyx_doc_8handlers_8payments_4gift_23validate_client_code}; -static PyObject *__pyx_pw_8handlers_8payments_4gift_24validate_client_code(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) { - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("validate_client_code (wrapper)", 0); - __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs); - __pyx_r = __pyx_pf_8handlers_8payments_4gift_23validate_client_code(__pyx_self); - - /* function exit code */ - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_4gift_23validate_client_code(CYTHON_UNUSED PyObject *__pyx_self) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("validate_client_code", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 343, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_4gift_25generator7, __pyx_codeobj__40, (PyObject *) __pyx_cur_scope, __pyx_n_s_validate_client_code, __pyx_n_s_validate_client_code, __pyx_n_s_handlers_payments_gift); if (unlikely(!gen)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.gift.validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_4gift_25generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - int __pyx_t_5; - int __pyx_t_6; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - Py_ssize_t __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - PyObject *__pyx_t_26 = NULL; - PyObject *__pyx_t_27 = NULL; - PyObject *__pyx_t_28 = NULL; - PyObject *__pyx_t_29 = NULL; - PyObject *__pyx_t_30 = NULL; - PyObject *__pyx_t_31 = NULL; - int __pyx_t_32; - int __pyx_t_33; - char const *__pyx_t_34; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("validate_client_code", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L12_resume_from_await; - case 2: goto __pyx_L33_resume_from_await; - case 3: goto __pyx_L48_resume_from_await; - case 4: goto __pyx_L55_resume_from_await; - case 5: goto __pyx_L56_resume_from_await; - case 6: goto __pyx_L57_resume_from_await; - case 7: goto __pyx_L58_resume_from_await; - case 8: goto __pyx_L66_resume_from_await; - case 9: goto __pyx_L67_resume_from_await; - case 10: goto __pyx_L68_resume_from_await; - case 11: goto __pyx_L82_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 343, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_get_hardware_id); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 354, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_hardware_id = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_hardware_id); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 355, __pyx_L1_error) - __pyx_t_6 = (!__pyx_t_5); - if (__pyx_t_6) { - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__41}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 356, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_False); - goto __pyx_L0; - - } - - __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 359, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_kp_u_https_pocomacho_ru_solonetbot_co); - __Pyx_GIVEREF(__pyx_kp_u_https_pocomacho_ru_solonetbot_co); - if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_https_pocomacho_ru_solonetbot_co)) __PYX_ERR(0, 359, __pyx_L1_error); - __Pyx_INCREF(__pyx_kp_u_https_solobot_ru_solonetbot_code); - __Pyx_GIVEREF(__pyx_kp_u_https_solobot_ru_solonetbot_code); - if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u_https_solobot_ru_solonetbot_code)) __PYX_ERR(0, 359, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_urls = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CLIENT_CODE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 363, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_code, __pyx_t_3) < 0) __PYX_ERR(0, 363, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_u_hardware_id, __pyx_cur_scope->__pyx_v_hardware_id) < 0) __PYX_ERR(0, 363, __pyx_L1_error) - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_payload = ((PyObject*)__pyx_t_1); - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_aiohttp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_ClientTimeout); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_total, __pyx_int_5) < 0) __PYX_ERR(0, 364, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 364, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_timeout = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_cur_scope->__pyx_v_all_failed = 1; - - { - __Pyx_ExceptionSave(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - /*try:*/ { - - /*with:*/ { - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_aiohttp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_ClientSession); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 368, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_timeout, __pyx_cur_scope->__pyx_v_timeout) < 0) __PYX_ERR(0, 368, __pyx_L5_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 368, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_10 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_aexit); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 368, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_aenter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 368, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_11 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L12_resume_from_await:; - __pyx_t_3 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_3); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_10); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 368, __pyx_L11_error) - __pyx_t_2 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_2); - } else { - __pyx_t_2 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_2) < 0) __PYX_ERR(0, 368, __pyx_L11_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_t_1 = __pyx_t_2; - __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /*try:*/ { - { - __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_14); - /*try:*/ { - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_session = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = __pyx_cur_scope->__pyx_v_urls; __Pyx_INCREF(__pyx_t_1); - __pyx_t_15 = 0; - for (;;) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 369, __pyx_L16_error) - #endif - if (__pyx_t_15 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_15); __Pyx_INCREF(__pyx_t_3); __pyx_t_15++; if (unlikely((0 < 0))) __PYX_ERR(0, 369, __pyx_L16_error) - #else - __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 369, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_url); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_url, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - - { - __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - /*try:*/ { - - /*with:*/ { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_session, __pyx_n_s_post); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 371, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 371, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_url); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_url); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_url)) __PYX_ERR(0, 371, __pyx_L24_error); - __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 371, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_json, __pyx_cur_scope->__pyx_v_payload) < 0) __PYX_ERR(0, 371, __pyx_L24_error) - __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_11); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 371, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_20 = __Pyx_PyObject_LookupSpecial(__pyx_t_19, __pyx_n_s_aexit); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 371, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_19, __pyx_n_s_aenter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 371, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 371, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_6 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_7 = __pyx_t_14; - __pyx_cur_scope->__pyx_t_8 = __pyx_t_15; - __Pyx_XGIVEREF(__pyx_t_16); - __pyx_cur_scope->__pyx_t_9 = __pyx_t_16; - __Pyx_XGIVEREF(__pyx_t_17); - __pyx_cur_scope->__pyx_t_10 = __pyx_t_17; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_11 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_19); - __pyx_cur_scope->__pyx_t_12 = __pyx_t_19; - __Pyx_XGIVEREF(__pyx_t_20); - __pyx_cur_scope->__pyx_t_13 = __pyx_t_20; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L33_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_13 = __pyx_cur_scope->__pyx_t_6; - __pyx_cur_scope->__pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_7; - __pyx_cur_scope->__pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_8; - __pyx_t_16 = __pyx_cur_scope->__pyx_t_9; - __pyx_cur_scope->__pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_17 = __pyx_cur_scope->__pyx_t_10; - __pyx_cur_scope->__pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_t_17); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_11; - __pyx_cur_scope->__pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_19 = __pyx_cur_scope->__pyx_t_12; - __pyx_cur_scope->__pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_t_19); - __pyx_t_20 = __pyx_cur_scope->__pyx_t_13; - __pyx_cur_scope->__pyx_t_13 = 0; - __Pyx_XGOTREF(__pyx_t_20); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 371, __pyx_L32_error) - __pyx_t_11 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_11); - } else { - __pyx_t_11 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_11) < 0) __PYX_ERR(0, 371, __pyx_L32_error) - __Pyx_GOTREF(__pyx_t_11); - } - __pyx_t_2 = __pyx_t_11; - __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - /*try:*/ { - { - __Pyx_ExceptionSave(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - /*try:*/ { - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_response); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_response, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_status); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 372, __pyx_L39_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_200, 0xC8, 0)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 372, __pyx_L39_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_6) { - - __pyx_cur_scope->__pyx_v_all_failed = 0; - - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_json); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 374, __pyx_L39_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_11 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_19, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 374, __pyx_L39_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_6 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_7 = __pyx_t_14; - __pyx_cur_scope->__pyx_t_8 = __pyx_t_15; - __Pyx_XGIVEREF(__pyx_t_16); - __pyx_cur_scope->__pyx_t_9 = __pyx_t_16; - __Pyx_XGIVEREF(__pyx_t_17); - __pyx_cur_scope->__pyx_t_10 = __pyx_t_17; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_11 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_20); - __pyx_cur_scope->__pyx_t_12 = __pyx_t_20; - __Pyx_XGIVEREF(__pyx_t_21); - __pyx_cur_scope->__pyx_t_13 = __pyx_t_21; - __Pyx_XGIVEREF(__pyx_t_22); - __pyx_cur_scope->__pyx_t_14 = __pyx_t_22; - __Pyx_XGIVEREF(__pyx_t_23); - __pyx_cur_scope->__pyx_t_15 = __pyx_t_23; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L48_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_13 = __pyx_cur_scope->__pyx_t_6; - __pyx_cur_scope->__pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_7; - __pyx_cur_scope->__pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_8; - __pyx_t_16 = __pyx_cur_scope->__pyx_t_9; - __pyx_cur_scope->__pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_17 = __pyx_cur_scope->__pyx_t_10; - __pyx_cur_scope->__pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_t_17); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_11; - __pyx_cur_scope->__pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_20 = __pyx_cur_scope->__pyx_t_12; - __pyx_cur_scope->__pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_21 = __pyx_cur_scope->__pyx_t_13; - __pyx_cur_scope->__pyx_t_13 = 0; - __Pyx_XGOTREF(__pyx_t_21); - __pyx_t_22 = __pyx_cur_scope->__pyx_t_14; - __pyx_cur_scope->__pyx_t_14 = 0; - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_23 = __pyx_cur_scope->__pyx_t_15; - __pyx_cur_scope->__pyx_t_15 = 0; - __Pyx_XGOTREF(__pyx_t_23); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 374, __pyx_L39_error) - __pyx_t_2 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_2); - } else { - __pyx_t_2 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_2) < 0) __PYX_ERR(0, 374, __pyx_L39_error) - __Pyx_GOTREF(__pyx_t_2); - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_data); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_data, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 375, __pyx_L39_error) - __Pyx_GOTREF(__pyx_t_19); - __pyx_t_11 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_n_u_status}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_19, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 375, __pyx_L39_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_status); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_status, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - - __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_status, __pyx_n_u_success, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 376, __pyx_L39_error) - if (__pyx_t_6) { - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_True); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L43_try_return; - - } - - __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_status, __pyx_n_u_error, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 378, __pyx_L39_error) - if (__pyx_t_6) { - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_False); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L43_try_return; - - } - - goto __pyx_L47; - } - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_response, __pyx_n_s_status); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 380, __pyx_L39_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_502, 0x1F6, 0)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 380, __pyx_L39_error) - if (!__pyx_t_5) { - } else { - __pyx_t_6 = __pyx_t_5; - goto __pyx_L50_bool_binop_done; - } - __pyx_t_5 = (__Pyx_PyInt_BoolEqObjC(__pyx_t_2, __pyx_int_404, 0x194, 0)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 380, __pyx_L39_error) - __pyx_t_6 = __pyx_t_5; - __pyx_L50_bool_binop_done:; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_5 = __pyx_t_6; - if (__pyx_t_5) { - - goto __pyx_L45_try_continue; - - } - - /*else*/ { - __pyx_cur_scope->__pyx_v_all_failed = 0; - } - __pyx_L47:; - - } - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; - goto __pyx_L46_try_end; - __pyx_L39_error:; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - /*except:*/ { - __Pyx_AddTraceback("handlers.payments.gift.validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_19, &__pyx_t_11) < 0) __PYX_ERR(0, 371, __pyx_L41_except_error) - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_3 = PyTuple_Pack(3, __pyx_t_2, __pyx_t_19, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 371, __pyx_L41_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_24 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_t_3, NULL); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 371, __pyx_L41_except_error) - __Pyx_GOTREF(__pyx_t_24); - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_24); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_6 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_7 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_9 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_10 = __pyx_t_14; - __pyx_cur_scope->__pyx_t_8 = __pyx_t_15; - __Pyx_XGIVEREF(__pyx_t_16); - __pyx_cur_scope->__pyx_t_11 = __pyx_t_16; - __Pyx_XGIVEREF(__pyx_t_17); - __pyx_cur_scope->__pyx_t_12 = __pyx_t_17; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_13 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_19); - __pyx_cur_scope->__pyx_t_14 = __pyx_t_19; - __Pyx_XGIVEREF(__pyx_t_20); - __pyx_cur_scope->__pyx_t_15 = __pyx_t_20; - __Pyx_XGIVEREF(__pyx_t_21); - __pyx_cur_scope->__pyx_t_16 = __pyx_t_21; - __Pyx_XGIVEREF(__pyx_t_22); - __pyx_cur_scope->__pyx_t_17 = __pyx_t_22; - __Pyx_XGIVEREF(__pyx_t_23); - __pyx_cur_scope->__pyx_t_18 = __pyx_t_23; - __Pyx_XGIVEREF(__pyx_t_24); - __pyx_cur_scope->__pyx_t_19 = __pyx_t_24; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L55_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_6; - __pyx_cur_scope->__pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_7; - __pyx_cur_scope->__pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_13 = __pyx_cur_scope->__pyx_t_9; - __pyx_cur_scope->__pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_10; - __pyx_cur_scope->__pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_8; - __pyx_t_16 = __pyx_cur_scope->__pyx_t_11; - __pyx_cur_scope->__pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_17 = __pyx_cur_scope->__pyx_t_12; - __pyx_cur_scope->__pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_t_17); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_13; - __pyx_cur_scope->__pyx_t_13 = 0; - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_19 = __pyx_cur_scope->__pyx_t_14; - __pyx_cur_scope->__pyx_t_14 = 0; - __Pyx_XGOTREF(__pyx_t_19); - __pyx_t_20 = __pyx_cur_scope->__pyx_t_15; - __pyx_cur_scope->__pyx_t_15 = 0; - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_21 = __pyx_cur_scope->__pyx_t_16; - __pyx_cur_scope->__pyx_t_16 = 0; - __Pyx_XGOTREF(__pyx_t_21); - __pyx_t_22 = __pyx_cur_scope->__pyx_t_17; - __pyx_cur_scope->__pyx_t_17 = 0; - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_23 = __pyx_cur_scope->__pyx_t_18; - __pyx_cur_scope->__pyx_t_18 = 0; - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_24 = __pyx_cur_scope->__pyx_t_19; - __pyx_cur_scope->__pyx_t_19 = 0; - __Pyx_XGOTREF(__pyx_t_24); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 371, __pyx_L41_except_error) - __pyx_t_3 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_3); - } else { - __pyx_t_3 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 371, __pyx_L41_except_error) - __Pyx_GOTREF(__pyx_t_3); - } - __pyx_t_24 = __pyx_t_3; - __pyx_t_3 = 0; - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_24); - __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; - if (__pyx_t_5 < 0) __PYX_ERR(0, 371, __pyx_L41_except_error) - __pyx_t_6 = (!__pyx_t_5); - if (unlikely(__pyx_t_6)) { - __Pyx_GIVEREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestoreWithState(__pyx_t_2, __pyx_t_19, __pyx_t_11); - __pyx_t_2 = 0; __pyx_t_19 = 0; __pyx_t_11 = 0; - __PYX_ERR(0, 371, __pyx_L41_except_error) - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L40_exception_handled; - } - __pyx_L41_except_error:; - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); - goto __pyx_L24_error; - __pyx_L45_try_continue:; - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); - goto __pyx_L34_continue; - __pyx_L43_try_return:; - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); - goto __pyx_L36_return; - __pyx_L40_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); - __pyx_L46_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_20) { - __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_tuple__39, NULL); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 371, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_23); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_6 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_7 = __pyx_t_14; - __pyx_cur_scope->__pyx_t_8 = __pyx_t_15; - __Pyx_XGIVEREF(__pyx_t_16); - __pyx_cur_scope->__pyx_t_9 = __pyx_t_16; - __Pyx_XGIVEREF(__pyx_t_17); - __pyx_cur_scope->__pyx_t_10 = __pyx_t_17; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_11 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_20); - __pyx_cur_scope->__pyx_t_12 = __pyx_t_20; - __Pyx_XGIVEREF(__pyx_t_23); - __pyx_cur_scope->__pyx_t_13 = __pyx_t_23; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L56_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_13 = __pyx_cur_scope->__pyx_t_6; - __pyx_cur_scope->__pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_7; - __pyx_cur_scope->__pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_8; - __pyx_t_16 = __pyx_cur_scope->__pyx_t_9; - __pyx_cur_scope->__pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_17 = __pyx_cur_scope->__pyx_t_10; - __pyx_cur_scope->__pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_t_17); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_11; - __pyx_cur_scope->__pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_20 = __pyx_cur_scope->__pyx_t_12; - __pyx_cur_scope->__pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_23 = __pyx_cur_scope->__pyx_t_13; - __pyx_cur_scope->__pyx_t_13 = 0; - __Pyx_XGOTREF(__pyx_t_23); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 371, __pyx_L24_error) - __pyx_t_11 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_11); - } else { - __pyx_t_11 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_11) < 0) __PYX_ERR(0, 371, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_11); - } - __pyx_t_23 = __pyx_t_11; - __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - } - goto __pyx_L38; - } - __pyx_L34_continue: { - if (__pyx_t_20) { - __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_tuple__39, NULL); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 371, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_23); - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_23); - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_6 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_7 = __pyx_t_14; - __pyx_cur_scope->__pyx_t_8 = __pyx_t_15; - __Pyx_XGIVEREF(__pyx_t_16); - __pyx_cur_scope->__pyx_t_9 = __pyx_t_16; - __Pyx_XGIVEREF(__pyx_t_17); - __pyx_cur_scope->__pyx_t_10 = __pyx_t_17; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_11 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_20); - __pyx_cur_scope->__pyx_t_12 = __pyx_t_20; - __Pyx_XGIVEREF(__pyx_t_23); - __pyx_cur_scope->__pyx_t_13 = __pyx_t_23; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 6; - return __pyx_r; - __pyx_L57_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_13 = __pyx_cur_scope->__pyx_t_6; - __pyx_cur_scope->__pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_7; - __pyx_cur_scope->__pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_8; - __pyx_t_16 = __pyx_cur_scope->__pyx_t_9; - __pyx_cur_scope->__pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_17 = __pyx_cur_scope->__pyx_t_10; - __pyx_cur_scope->__pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_t_17); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_11; - __pyx_cur_scope->__pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_20 = __pyx_cur_scope->__pyx_t_12; - __pyx_cur_scope->__pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_23 = __pyx_cur_scope->__pyx_t_13; - __pyx_cur_scope->__pyx_t_13 = 0; - __Pyx_XGOTREF(__pyx_t_23); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 371, __pyx_L24_error) - __pyx_t_11 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_11); - } else { - __pyx_t_11 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_11) < 0) __PYX_ERR(0, 371, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_11); - } - __pyx_t_23 = __pyx_t_11; - __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; - } - goto __pyx_L30_try_continue; - } - __pyx_L36_return: { - __Pyx_PyThreadState_assign - __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_24, &__pyx_t_25, &__pyx_t_26); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21) < 0)) __Pyx_ErrFetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_26); - __pyx_t_27 = __pyx_r; - __pyx_r = 0; - if (__pyx_t_20) { - __pyx_t_28 = __Pyx_PyObject_Call(__pyx_t_20, __pyx_tuple__39, NULL); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 371, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_28); - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_28); - __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_6 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_7 = __pyx_t_14; - __pyx_cur_scope->__pyx_t_8 = __pyx_t_15; - __Pyx_XGIVEREF(__pyx_t_16); - __pyx_cur_scope->__pyx_t_9 = __pyx_t_16; - __Pyx_XGIVEREF(__pyx_t_17); - __pyx_cur_scope->__pyx_t_10 = __pyx_t_17; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_11 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_20); - __pyx_cur_scope->__pyx_t_12 = __pyx_t_20; - __Pyx_XGIVEREF(__pyx_t_21); - __pyx_cur_scope->__pyx_t_13 = __pyx_t_21; - __Pyx_XGIVEREF(__pyx_t_22); - __pyx_cur_scope->__pyx_t_14 = __pyx_t_22; - __Pyx_XGIVEREF(__pyx_t_23); - __pyx_cur_scope->__pyx_t_15 = __pyx_t_23; - __Pyx_XGIVEREF(__pyx_t_24); - __pyx_cur_scope->__pyx_t_16 = __pyx_t_24; - __Pyx_XGIVEREF(__pyx_t_25); - __pyx_cur_scope->__pyx_t_17 = __pyx_t_25; - __Pyx_XGIVEREF(__pyx_t_26); - __pyx_cur_scope->__pyx_t_18 = __pyx_t_26; - __Pyx_XGIVEREF(__pyx_t_27); - __pyx_cur_scope->__pyx_t_19 = __pyx_t_27; - __Pyx_XGIVEREF(__pyx_t_28); - __pyx_cur_scope->__pyx_t_20 = __pyx_t_28; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 7; - return __pyx_r; - __pyx_L58_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_13 = __pyx_cur_scope->__pyx_t_6; - __pyx_cur_scope->__pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_7; - __pyx_cur_scope->__pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_8; - __pyx_t_16 = __pyx_cur_scope->__pyx_t_9; - __pyx_cur_scope->__pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_17 = __pyx_cur_scope->__pyx_t_10; - __pyx_cur_scope->__pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_t_17); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_11; - __pyx_cur_scope->__pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_20 = __pyx_cur_scope->__pyx_t_12; - __pyx_cur_scope->__pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_21 = __pyx_cur_scope->__pyx_t_13; - __pyx_cur_scope->__pyx_t_13 = 0; - __Pyx_XGOTREF(__pyx_t_21); - __pyx_t_22 = __pyx_cur_scope->__pyx_t_14; - __pyx_cur_scope->__pyx_t_14 = 0; - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_23 = __pyx_cur_scope->__pyx_t_15; - __pyx_cur_scope->__pyx_t_15 = 0; - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_24 = __pyx_cur_scope->__pyx_t_16; - __pyx_cur_scope->__pyx_t_16 = 0; - __Pyx_XGOTREF(__pyx_t_24); - __pyx_t_25 = __pyx_cur_scope->__pyx_t_17; - __pyx_cur_scope->__pyx_t_17 = 0; - __Pyx_XGOTREF(__pyx_t_25); - __pyx_t_26 = __pyx_cur_scope->__pyx_t_18; - __pyx_cur_scope->__pyx_t_18 = 0; - __Pyx_XGOTREF(__pyx_t_26); - __pyx_t_27 = __pyx_cur_scope->__pyx_t_19; - __pyx_cur_scope->__pyx_t_19 = 0; - __Pyx_XGOTREF(__pyx_t_27); - __pyx_t_28 = __pyx_cur_scope->__pyx_t_20; - __pyx_cur_scope->__pyx_t_20 = 0; - __Pyx_XGOTREF(__pyx_t_28); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 371, __pyx_L24_error) - __pyx_t_11 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_11); - } else { - __pyx_t_11 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_11) < 0) __PYX_ERR(0, 371, __pyx_L24_error) - __Pyx_GOTREF(__pyx_t_11); - } - __pyx_t_28 = __pyx_t_11; - __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; - } - __pyx_r = __pyx_t_27; - __pyx_t_27 = 0; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_25, __pyx_t_26); - } - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_ErrRestore(__pyx_t_23, __pyx_t_22, __pyx_t_21); - __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; - goto __pyx_L28_try_return; - } - __pyx_L38:; - } - goto __pyx_L59; - __pyx_L32_error:; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - goto __pyx_L24_error; - __pyx_L59:; - } - - } - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - goto __pyx_L31_try_end; - __pyx_L24_error:; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_ErrFetch(&__pyx_t_11, &__pyx_t_19, &__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 384, __pyx_L26_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_29 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_TimeoutError); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 384, __pyx_L26_except_error) - __Pyx_GOTREF(__pyx_t_29); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_aiohttp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 384, __pyx_L26_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_30 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ClientConnectorError); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 384, __pyx_L26_except_error) - __Pyx_GOTREF(__pyx_t_30); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_aiohttp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 384, __pyx_L26_except_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_ClientResponseError); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 384, __pyx_L26_except_error) - __Pyx_GOTREF(__pyx_t_31); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_32 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_11, __pyx_t_29) || __Pyx_PyErr_GivenExceptionMatches(__pyx_t_11, __pyx_t_30) || __Pyx_PyErr_GivenExceptionMatches(__pyx_t_11, __pyx_t_31); - __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; - __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0; - __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; - __Pyx_ErrRestore(__pyx_t_11, __pyx_t_19, __pyx_t_2); - __pyx_t_11 = 0; __pyx_t_19 = 0; __pyx_t_2 = 0; - if (__pyx_t_32) { - __Pyx_AddTraceback("handlers.payments.gift.validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_19, &__pyx_t_11) < 0) __PYX_ERR(0, 384, __pyx_L26_except_error) - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_11); - - goto __pyx_L60_except_continue; - __pyx_L60_except_continue:; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - goto __pyx_L30_try_continue; - } - goto __pyx_L26_except_error; - - __pyx_L26_except_error:; - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); - goto __pyx_L16_error; - __pyx_L30_try_continue:; - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); - goto __pyx_L22_continue; - __pyx_L28_try_return:; - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); - goto __pyx_L20_try_return; - __pyx_L31_try_end:; - } - - __pyx_L22_continue:; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - } - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L21_try_end; - __pyx_L16_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; - __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; - /*except:*/ { - __Pyx_AddTraceback("handlers.payments.gift.validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_11, &__pyx_t_19) < 0) __PYX_ERR(0, 368, __pyx_L18_except_error) - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_19); - __pyx_t_2 = PyTuple_Pack(3, __pyx_t_1, __pyx_t_11, __pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_2, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 368, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_18); - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_18); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_6 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_7 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_9 = __pyx_t_14; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_10 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_19); - __pyx_cur_scope->__pyx_t_11 = __pyx_t_19; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 8; - return __pyx_r; - __pyx_L66_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_6; - __pyx_cur_scope->__pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_13 = __pyx_cur_scope->__pyx_t_7; - __pyx_cur_scope->__pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_9; - __pyx_cur_scope->__pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_10; - __pyx_cur_scope->__pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_19 = __pyx_cur_scope->__pyx_t_11; - __pyx_cur_scope->__pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_t_19); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 368, __pyx_L18_except_error) - __pyx_t_2 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_2); - } else { - __pyx_t_2 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_2) < 0) __PYX_ERR(0, 368, __pyx_L18_except_error) - __Pyx_GOTREF(__pyx_t_2); - } - __pyx_t_18 = __pyx_t_2; - __pyx_t_2 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_18); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - if (__pyx_t_6 < 0) __PYX_ERR(0, 368, __pyx_L18_except_error) - __pyx_t_5 = (!__pyx_t_6); - if (unlikely(__pyx_t_5)) { - __Pyx_GIVEREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ErrRestoreWithState(__pyx_t_1, __pyx_t_11, __pyx_t_19); - __pyx_t_1 = 0; __pyx_t_11 = 0; __pyx_t_19 = 0; - __PYX_ERR(0, 368, __pyx_L18_except_error) - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - goto __pyx_L17_exception_handled; - } - __pyx_L18_except_error:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L5_error; - __pyx_L20_try_return:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - goto __pyx_L13_return; - __pyx_L17_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14); - __pyx_L21_try_end:; - } - } - /*finally:*/ { - /*normal exit:*/{ - if (__pyx_t_10) { - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__39, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 368, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_14; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 9; - return __pyx_r; - __pyx_L67_resume_from_await:; - __pyx_t_7 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_14); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 368, __pyx_L5_error) - __pyx_t_19 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_19); - } else { - __pyx_t_19 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_19) < 0) __PYX_ERR(0, 368, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_19); - } - __pyx_t_14 = __pyx_t_19; - __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - goto __pyx_L15; - } - __pyx_L13_return: { - __Pyx_PyThreadState_assign - __pyx_t_14 = 0; __pyx_t_13 = 0; __pyx_t_12 = 0; __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_17, &__pyx_t_16); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_14, &__pyx_t_13, &__pyx_t_12) < 0)) __Pyx_ErrFetch(&__pyx_t_14, &__pyx_t_13, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_20 = __pyx_r; - __pyx_r = 0; - if (__pyx_t_10) { - __pyx_t_26 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_tuple__39, NULL); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 368, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_26); - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_26); - __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_t_13); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_13; - __Pyx_XGIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_t_6 = __pyx_t_14; - __Pyx_XGIVEREF(__pyx_t_16); - __pyx_cur_scope->__pyx_t_7 = __pyx_t_16; - __Pyx_XGIVEREF(__pyx_t_17); - __pyx_cur_scope->__pyx_t_9 = __pyx_t_17; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_10 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_20); - __pyx_cur_scope->__pyx_t_11 = __pyx_t_20; - __Pyx_XGIVEREF(__pyx_t_26); - __pyx_cur_scope->__pyx_t_12 = __pyx_t_26; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 10; - return __pyx_r; - __pyx_L68_resume_from_await:; - __pyx_t_7 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_12); - __pyx_t_13 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_14 = __pyx_cur_scope->__pyx_t_6; - __pyx_cur_scope->__pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_t_14); - __pyx_t_16 = __pyx_cur_scope->__pyx_t_7; - __pyx_cur_scope->__pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_17 = __pyx_cur_scope->__pyx_t_9; - __pyx_cur_scope->__pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_t_17); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_10; - __pyx_cur_scope->__pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_20 = __pyx_cur_scope->__pyx_t_11; - __pyx_cur_scope->__pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_26 = __pyx_cur_scope->__pyx_t_12; - __pyx_cur_scope->__pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_t_26); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 368, __pyx_L5_error) - __pyx_t_19 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_19); - } else { - __pyx_t_19 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_19) < 0) __PYX_ERR(0, 368, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_19); - } - __pyx_t_26 = __pyx_t_19; - __pyx_t_19 = 0; - __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; - } - __pyx_r = __pyx_t_20; - __pyx_t_20 = 0; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_17, __pyx_t_16); - } - __Pyx_XGIVEREF(__pyx_t_14); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ErrRestore(__pyx_t_14, __pyx_t_13, __pyx_t_12); - __pyx_t_14 = 0; __pyx_t_13 = 0; __pyx_t_12 = 0; __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; - goto __pyx_L9_try_return; - } - __pyx_L15:; - } - goto __pyx_L69; - __pyx_L11_error:; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L5_error; - __pyx_L69:; - } - - } - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L10_try_end; - __pyx_L5_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; - __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; - - __pyx_t_32 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_32) { - __Pyx_AddTraceback("handlers.payments.gift.validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_19, &__pyx_t_11, &__pyx_t_1) < 0) __PYX_ERR(0, 386, __pyx_L7_except_error) - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_v_e = __pyx_t_11; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_31, __pyx_n_s_logger); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 387, __pyx_L75_error) - __Pyx_GOTREF(__pyx_t_31); - __pyx_t_30 = __Pyx_PyObject_GetAttrStr(__pyx_t_31, __pyx_n_s_warning); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 387, __pyx_L75_error) - __Pyx_GOTREF(__pyx_t_30); - __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; - __pyx_t_31 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 387, __pyx_L75_error) - __Pyx_GOTREF(__pyx_t_31); - __pyx_t_29 = __Pyx_PyUnicode_Concat(__pyx_kp_u__42, __pyx_t_31); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 387, __pyx_L75_error) - __Pyx_GOTREF(__pyx_t_29); - __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0; - __pyx_t_31 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_30))) { - __pyx_t_31 = PyMethod_GET_SELF(__pyx_t_30); - if (likely(__pyx_t_31)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_30); - __Pyx_INCREF(__pyx_t_31); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_30, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_31, __pyx_t_29}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_30, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; - __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 387, __pyx_L75_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L76; - } - __pyx_L75_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_10 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_30); __pyx_t_30 = 0; - __Pyx_XDECREF(__pyx_t_31); __pyx_t_31 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_12, &__pyx_t_13); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_16, &__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_32 = __pyx_lineno; __pyx_t_33 = __pyx_clineno; __pyx_t_34 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_12, __pyx_t_13); - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_ErrRestore(__pyx_t_10, __pyx_t_16, __pyx_t_17); - __pyx_t_10 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - __pyx_lineno = __pyx_t_32; __pyx_clineno = __pyx_t_33; __pyx_filename = __pyx_t_34; - goto __pyx_L7_except_error; - } - __pyx_L76:; - } - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L6_exception_handled; - } - goto __pyx_L7_except_error; - - __pyx_L7_except_error:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L1_error; - __pyx_L9_try_return:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - goto __pyx_L0; - __pyx_L6_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_ExceptionReset(__pyx_t_7, __pyx_t_8, __pyx_t_9); - __pyx_L10_try_end:; - } - - if (__pyx_cur_scope->__pyx_v_all_failed) { - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 390, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_sleep); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 390, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_19); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_19))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_19); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_19, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_int_3}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_19, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 390, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 11; - return __pyx_r; - __pyx_L82_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 390, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 390, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_True); - goto __pyx_L0; - - } - - /*else*/ { - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(Py_False); - goto __pyx_L0; - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_19); - __Pyx_XDECREF(__pyx_t_29); - __Pyx_XDECREF(__pyx_t_30); - __Pyx_XDECREF(__pyx_t_31); - __Pyx_AddTraceback("validate_client_code", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler[8]; -static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler(PyObject *o) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_image_path); - Py_CLEAR(p->__pyx_v_is_valid); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler)))) { - __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_image_path) { - e = (*v)(p->__pyx_v_image_path, a); if (e) return e; - } - if (p->__pyx_v_is_valid) { - e = (*v)(p->__pyx_v_is_valid, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler_spec = { - "handlers.payments.gift.__pyx_scope_struct__start_menu_handler", - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.gift.""__pyx_scope_struct__start_menu_handler", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler[8]; -static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler(PyObject *o) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_current_page); - Py_CLEAR(p->__pyx_v_data_parts); - Py_CLEAR(p->__pyx_v_end); - Py_CLEAR(p->__pyx_v_expiry_time); - Py_CLEAR(p->__pyx_v_gift); - Py_CLEAR(p->__pyx_v_gift_id); - Py_CLEAR(p->__pyx_v_gift_link); - Py_CLEAR(p->__pyx_v_gifts); - Py_CLEAR(p->__pyx_v_gifts_page); - Py_CLEAR(p->__pyx_v_gifts_text); - Py_CLEAR(p->__pyx_v_is_used); - Py_CLEAR(p->__pyx_v_months); - Py_CLEAR(p->__pyx_v_months_text); - Py_CLEAR(p->__pyx_v_recipient); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_v_start); - Py_CLEAR(p->__pyx_v_user_tg_id); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler)))) { - __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_current_page) { - e = (*v)(p->__pyx_v_current_page, a); if (e) return e; - } - if (p->__pyx_v_data_parts) { - e = (*v)(p->__pyx_v_data_parts, a); if (e) return e; - } - if (p->__pyx_v_end) { - e = (*v)(p->__pyx_v_end, a); if (e) return e; - } - if (p->__pyx_v_expiry_time) { - e = (*v)(p->__pyx_v_expiry_time, a); if (e) return e; - } - if (p->__pyx_v_gift) { - e = (*v)(p->__pyx_v_gift, a); if (e) return e; - } - if (p->__pyx_v_gift_id) { - e = (*v)(p->__pyx_v_gift_id, a); if (e) return e; - } - if (p->__pyx_v_gift_link) { - e = (*v)(p->__pyx_v_gift_link, a); if (e) return e; - } - if (p->__pyx_v_gifts) { - e = (*v)(p->__pyx_v_gifts, a); if (e) return e; - } - if (p->__pyx_v_gifts_page) { - e = (*v)(p->__pyx_v_gifts_page, a); if (e) return e; - } - if (p->__pyx_v_gifts_text) { - e = (*v)(p->__pyx_v_gifts_text, a); if (e) return e; - } - if (p->__pyx_v_months) { - e = (*v)(p->__pyx_v_months, a); if (e) return e; - } - if (p->__pyx_v_recipient) { - e = (*v)(p->__pyx_v_recipient, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_v_start) { - e = (*v)(p->__pyx_v_start, a); if (e) return e; - } - if (p->__pyx_v_user_tg_id) { - e = (*v)(p->__pyx_v_user_tg_id, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler_spec = { - "handlers.payments.gift.__pyx_scope_struct_1_my_gifts_handler", - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.gift.""__pyx_scope_struct_1_my_gifts_handler", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler[8]; -static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler(PyObject *o) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_data); - Py_CLEAR(p->__pyx_v_gift_id); - Py_CLEAR(p->__pyx_v_session); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler)))) { - __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_data) { - e = (*v)(p->__pyx_v_data, a); if (e) return e; - } - if (p->__pyx_v_gift_id) { - e = (*v)(p->__pyx_v_gift_id, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler_spec = { - "handlers.payments.gift.__pyx_scope_struct_2_delete_gift_handler", - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.gift.""__pyx_scope_struct_2_delete_gift_handler", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler[8]; -static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler(PyObject *o) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_months); - Py_CLEAR(p->__pyx_v_price); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler)))) { - __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_months) { - e = (*v)(p->__pyx_v_months, a); if (e) return e; - } - if (p->__pyx_v_price) { - e = (*v)(p->__pyx_v_price, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler_spec = { - "handlers.payments.gift.__pyx_scope_struct_3_gift_subscription_handler", - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.gift.""__pyx_scope_struct_3_gift_subscription_handler", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler[8]; -static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler(PyObject *o) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_balance); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_confirmation_text); - Py_CLEAR(p->__pyx_v_price); - Py_CLEAR(p->__pyx_v_selected_months); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_v_user_tg_id); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler)))) { - __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler *)o; - if (p->__pyx_v_balance) { - e = (*v)(p->__pyx_v_balance, a); if (e) return e; - } - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_confirmation_text) { - e = (*v)(p->__pyx_v_confirmation_text, a); if (e) return e; - } - if (p->__pyx_v_price) { - e = (*v)(p->__pyx_v_price, a); if (e) return e; - } - if (p->__pyx_v_selected_months) { - e = (*v)(p->__pyx_v_selected_months, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_v_user_tg_id) { - e = (*v)(p->__pyx_v_user_tg_id, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler_spec = { - "handlers.payments.gift.__pyx_scope_struct_4_confirm_gift_handler", - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.gift.""__pyx_scope_struct_4_confirm_gift_handler", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler[8]; -static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler(PyObject *o) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_expiry_time); - Py_CLEAR(p->__pyx_v_gift_id); - Py_CLEAR(p->__pyx_v_gift_link); - Py_CLEAR(p->__pyx_v_message_text); - Py_CLEAR(p->__pyx_v_months_text); - Py_CLEAR(p->__pyx_v_price); - Py_CLEAR(p->__pyx_v_selected_months); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_v_share_text); - Py_CLEAR(p->__pyx_v_state); - Py_CLEAR(p->__pyx_v_tg_id); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - Py_CLEAR(p->__pyx_t_3); - Py_CLEAR(p->__pyx_t_4); - Py_CLEAR(p->__pyx_t_5); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler)))) { - __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_expiry_time) { - e = (*v)(p->__pyx_v_expiry_time, a); if (e) return e; - } - if (p->__pyx_v_gift_link) { - e = (*v)(p->__pyx_v_gift_link, a); if (e) return e; - } - if (p->__pyx_v_message_text) { - e = (*v)(p->__pyx_v_message_text, a); if (e) return e; - } - if (p->__pyx_v_price) { - e = (*v)(p->__pyx_v_price, a); if (e) return e; - } - if (p->__pyx_v_selected_months) { - e = (*v)(p->__pyx_v_selected_months, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_v_share_text) { - e = (*v)(p->__pyx_v_share_text, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - if (p->__pyx_v_tg_id) { - e = (*v)(p->__pyx_v_tg_id, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - if (p->__pyx_t_3) { - e = (*v)(p->__pyx_t_3, a); if (e) return e; - } - if (p->__pyx_t_4) { - e = (*v)(p->__pyx_t_4, a); if (e) return e; - } - if (p->__pyx_t_5) { - e = (*v)(p->__pyx_t_5, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler_spec = { - "handlers.payments.gift.__pyx_scope_struct_5_finalize_gift_handler", - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.gift.""__pyx_scope_struct_5_finalize_gift_handler", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler[8]; -static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler(PyObject *o) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_expiry_time); - Py_CLEAR(p->__pyx_v_gift); - Py_CLEAR(p->__pyx_v_gift_id); - Py_CLEAR(p->__pyx_v_gift_link); - Py_CLEAR(p->__pyx_v_inline_query); - Py_CLEAR(p->__pyx_v_message_text); - Py_CLEAR(p->__pyx_v_months); - Py_CLEAR(p->__pyx_v_query); - Py_CLEAR(p->__pyx_v_result); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - Py_CLEAR(p->__pyx_t_3); - Py_CLEAR(p->__pyx_t_4); - Py_CLEAR(p->__pyx_t_5); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler)))) { - __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_expiry_time) { - e = (*v)(p->__pyx_v_expiry_time, a); if (e) return e; - } - if (p->__pyx_v_gift) { - e = (*v)(p->__pyx_v_gift, a); if (e) return e; - } - if (p->__pyx_v_gift_id) { - e = (*v)(p->__pyx_v_gift_id, a); if (e) return e; - } - if (p->__pyx_v_gift_link) { - e = (*v)(p->__pyx_v_gift_link, a); if (e) return e; - } - if (p->__pyx_v_inline_query) { - e = (*v)(p->__pyx_v_inline_query, a); if (e) return e; - } - if (p->__pyx_v_message_text) { - e = (*v)(p->__pyx_v_message_text, a); if (e) return e; - } - if (p->__pyx_v_months) { - e = (*v)(p->__pyx_v_months, a); if (e) return e; - } - if (p->__pyx_v_result) { - e = (*v)(p->__pyx_v_result, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - if (p->__pyx_t_3) { - e = (*v)(p->__pyx_t_3, a); if (e) return e; - } - if (p->__pyx_t_4) { - e = (*v)(p->__pyx_t_4, a); if (e) return e; - } - if (p->__pyx_t_5) { - e = (*v)(p->__pyx_t_5, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler_spec = { - "handlers.payments.gift.__pyx_scope_struct_6_inline_gift_handler", - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.gift.""__pyx_scope_struct_6_inline_gift_handler", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code *__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code[8]; -static int __pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code[--__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code(PyObject *o) { - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_data); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_hardware_id); - Py_CLEAR(p->__pyx_v_payload); - Py_CLEAR(p->__pyx_v_response); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_v_status); - Py_CLEAR(p->__pyx_v_timeout); - Py_CLEAR(p->__pyx_v_url); - Py_CLEAR(p->__pyx_v_urls); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - Py_CLEAR(p->__pyx_t_3); - Py_CLEAR(p->__pyx_t_4); - Py_CLEAR(p->__pyx_t_5); - Py_CLEAR(p->__pyx_t_6); - Py_CLEAR(p->__pyx_t_7); - Py_CLEAR(p->__pyx_t_9); - Py_CLEAR(p->__pyx_t_10); - Py_CLEAR(p->__pyx_t_11); - Py_CLEAR(p->__pyx_t_12); - Py_CLEAR(p->__pyx_t_13); - Py_CLEAR(p->__pyx_t_14); - Py_CLEAR(p->__pyx_t_15); - Py_CLEAR(p->__pyx_t_16); - Py_CLEAR(p->__pyx_t_17); - Py_CLEAR(p->__pyx_t_18); - Py_CLEAR(p->__pyx_t_19); - Py_CLEAR(p->__pyx_t_20); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code)))) { - __pyx_freelist_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code[__pyx_freecount_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code++] = ((struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code *p = (struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code *)o; - if (p->__pyx_v_data) { - e = (*v)(p->__pyx_v_data, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_hardware_id) { - e = (*v)(p->__pyx_v_hardware_id, a); if (e) return e; - } - if (p->__pyx_v_payload) { - e = (*v)(p->__pyx_v_payload, a); if (e) return e; - } - if (p->__pyx_v_response) { - e = (*v)(p->__pyx_v_response, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_v_status) { - e = (*v)(p->__pyx_v_status, a); if (e) return e; - } - if (p->__pyx_v_timeout) { - e = (*v)(p->__pyx_v_timeout, a); if (e) return e; - } - if (p->__pyx_v_url) { - e = (*v)(p->__pyx_v_url, a); if (e) return e; - } - if (p->__pyx_v_urls) { - e = (*v)(p->__pyx_v_urls, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - if (p->__pyx_t_3) { - e = (*v)(p->__pyx_t_3, a); if (e) return e; - } - if (p->__pyx_t_4) { - e = (*v)(p->__pyx_t_4, a); if (e) return e; - } - if (p->__pyx_t_5) { - e = (*v)(p->__pyx_t_5, a); if (e) return e; - } - if (p->__pyx_t_6) { - e = (*v)(p->__pyx_t_6, a); if (e) return e; - } - if (p->__pyx_t_7) { - e = (*v)(p->__pyx_t_7, a); if (e) return e; - } - if (p->__pyx_t_9) { - e = (*v)(p->__pyx_t_9, a); if (e) return e; - } - if (p->__pyx_t_10) { - e = (*v)(p->__pyx_t_10, a); if (e) return e; - } - if (p->__pyx_t_11) { - e = (*v)(p->__pyx_t_11, a); if (e) return e; - } - if (p->__pyx_t_12) { - e = (*v)(p->__pyx_t_12, a); if (e) return e; - } - if (p->__pyx_t_13) { - e = (*v)(p->__pyx_t_13, a); if (e) return e; - } - if (p->__pyx_t_14) { - e = (*v)(p->__pyx_t_14, a); if (e) return e; - } - if (p->__pyx_t_15) { - e = (*v)(p->__pyx_t_15, a); if (e) return e; - } - if (p->__pyx_t_16) { - e = (*v)(p->__pyx_t_16, a); if (e) return e; - } - if (p->__pyx_t_17) { - e = (*v)(p->__pyx_t_17, a); if (e) return e; - } - if (p->__pyx_t_18) { - e = (*v)(p->__pyx_t_18, a); if (e) return e; - } - if (p->__pyx_t_19) { - e = (*v)(p->__pyx_t_19, a); if (e) return e; - } - if (p->__pyx_t_20) { - e = (*v)(p->__pyx_t_20, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code_spec = { - "handlers.payments.gift.__pyx_scope_struct_7_validate_client_code", - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.gift.""__pyx_scope_struct_7_validate_client_code", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif -/* #### Code section: pystring_table ### */ - -static int __Pyx_CreateStringTabAndInitStrings(void) { - __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_u_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 1, 0, 0}, - {&__pyx_kp_u_21U68SOLOBOT, __pyx_k_21U68SOLOBOT, sizeof(__pyx_k_21U68SOLOBOT), 0, 1, 0, 0}, - {&__pyx_n_s_APPLY, __pyx_k_APPLY, sizeof(__pyx_k_APPLY), 0, 0, 1, 1}, - {&__pyx_n_s_Any, __pyx_k_Any, sizeof(__pyx_k_Any), 0, 0, 1, 1}, - {&__pyx_n_s_BACK, __pyx_k_BACK, sizeof(__pyx_k_BACK), 0, 0, 1, 1}, - {&__pyx_n_s_CANCEL, __pyx_k_CANCEL, sizeof(__pyx_k_CANCEL), 0, 0, 1, 1}, - {&__pyx_n_s_CLIENT_CODE, __pyx_k_CLIENT_CODE, sizeof(__pyx_k_CLIENT_CODE), 0, 0, 1, 1}, - {&__pyx_n_u_CRYPTOSALE, __pyx_k_CRYPTOSALE, sizeof(__pyx_k_CRYPTOSALE), 0, 1, 0, 1}, - {&__pyx_n_s_ClientConnectorError, __pyx_k_ClientConnectorError, sizeof(__pyx_k_ClientConnectorError), 0, 0, 1, 1}, - {&__pyx_n_s_ClientResponseError, __pyx_k_ClientResponseError, sizeof(__pyx_k_ClientResponseError), 0, 0, 1, 1}, - {&__pyx_n_s_ClientSession, __pyx_k_ClientSession, sizeof(__pyx_k_ClientSession), 0, 0, 1, 1}, - {&__pyx_n_s_ClientTimeout, __pyx_k_ClientTimeout, sizeof(__pyx_k_ClientTimeout), 0, 0, 1, 1}, - {&__pyx_kp_u_DELETE_FROM_gifts_WHERE_gift_id, __pyx_k_DELETE_FROM_gifts_WHERE_gift_id, sizeof(__pyx_k_DELETE_FROM_gifts_WHERE_gift_id), 0, 1, 0, 0}, - {&__pyx_n_s_F, __pyx_k_F, sizeof(__pyx_k_F), 0, 0, 1, 1}, - {&__pyx_n_s_FSMContext, __pyx_k_FSMContext, sizeof(__pyx_k_FSMContext), 0, 0, 1, 1}, - {&__pyx_n_s_GIFT, __pyx_k_GIFT, sizeof(__pyx_k_GIFT), 0, 0, 1, 1}, - {&__pyx_n_s_GIFTS_ABOUT, __pyx_k_GIFTS_ABOUT, sizeof(__pyx_k_GIFTS_ABOUT), 0, 0, 1, 1}, - {&__pyx_n_s_GIFTS_MENU, __pyx_k_GIFTS_MENU, sizeof(__pyx_k_GIFTS_MENU), 0, 0, 1, 1}, - {&__pyx_n_s_GIFTS_PER_PAGE, __pyx_k_GIFTS_PER_PAGE, sizeof(__pyx_k_GIFTS_PER_PAGE), 0, 0, 1, 1}, - {&__pyx_n_s_GIFTS_TEXT_TEMPLATE, __pyx_k_GIFTS_TEXT_TEMPLATE, sizeof(__pyx_k_GIFTS_TEXT_TEMPLATE), 0, 0, 1, 1}, - {&__pyx_n_s_GIFT_CHOICE, __pyx_k_GIFT_CHOICE, sizeof(__pyx_k_GIFT_CHOICE), 0, 0, 1, 1}, - {&__pyx_n_u_HASHHASHYOOKASSA, __pyx_k_HASHHASHYOOKASSA, sizeof(__pyx_k_HASHHASHYOOKASSA), 0, 1, 0, 1}, - {&__pyx_n_s_INLINE_MODE, __pyx_k_INLINE_MODE, sizeof(__pyx_k_INLINE_MODE), 0, 0, 1, 1}, - {&__pyx_n_s_InlineKeyboardBuilder, __pyx_k_InlineKeyboardBuilder, sizeof(__pyx_k_InlineKeyboardBuilder), 0, 0, 1, 1}, - {&__pyx_n_s_InlineKeyboardButton, __pyx_k_InlineKeyboardButton, sizeof(__pyx_k_InlineKeyboardButton), 0, 0, 1, 1}, - {&__pyx_n_s_InlineQuery, __pyx_k_InlineQuery, sizeof(__pyx_k_InlineQuery), 0, 0, 1, 1}, - {&__pyx_n_s_InlineQueryResultArticle, __pyx_k_InlineQueryResultArticle, sizeof(__pyx_k_InlineQueryResultArticle), 0, 0, 1, 1}, - {&__pyx_n_s_InputTextMessageContent, __pyx_k_InputTextMessageContent, sizeof(__pyx_k_InputTextMessageContent), 0, 0, 1, 1}, - {&__pyx_n_s_MAIN_MENU, __pyx_k_MAIN_MENU, sizeof(__pyx_k_MAIN_MENU), 0, 0, 1, 1}, - {&__pyx_n_s_MY_GIFTS, __pyx_k_MY_GIFTS, sizeof(__pyx_k_MY_GIFTS), 0, 0, 1, 1}, - {&__pyx_n_s_NO_GIFTS, __pyx_k_NO_GIFTS, sizeof(__pyx_k_NO_GIFTS), 0, 0, 1, 1}, - {&__pyx_kp_u_None, __pyx_k_None, sizeof(__pyx_k_None), 0, 1, 0, 0}, - {&__pyx_n_s_PROJECTMANECONGIGURE, __pyx_k_PROJECTMANECONGIGURE, sizeof(__pyx_k_PROJECTMANECONGIGURE), 0, 0, 1, 1}, - {&__pyx_n_s_RENEWAL_PRICES, __pyx_k_RENEWAL_PRICES, sizeof(__pyx_k_RENEWAL_PRICES), 0, 0, 1, 1}, - {&__pyx_n_s_Router, __pyx_k_Router, sizeof(__pyx_k_Router), 0, 0, 1, 1}, - {&__pyx_kp_u_SELECT_gift_id_selected_months, __pyx_k_SELECT_gift_id_selected_months, sizeof(__pyx_k_SELECT_gift_id_selected_months), 0, 1, 0, 0}, - {&__pyx_kp_u_SELECT_gift_link_selected_month, __pyx_k_SELECT_gift_link_selected_month, sizeof(__pyx_k_SELECT_gift_link_selected_month), 0, 1, 0, 0}, - {&__pyx_n_s_SHARE_GIFT, __pyx_k_SHARE_GIFT, sizeof(__pyx_k_SHARE_GIFT), 0, 0, 1, 1}, - {&__pyx_n_s_SHARE_TEXT_TEMPLATE, __pyx_k_SHARE_TEXT_TEMPLATE, sizeof(__pyx_k_SHARE_TEXT_TEMPLATE), 0, 0, 1, 1}, - {&__pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE, __pyx_k_SHARE_TEXT_TEMPLATE_NOT_INLINE, sizeof(__pyx_k_SHARE_TEXT_TEMPLATE_NOT_INLINE), 0, 0, 1, 1}, - {&__pyx_n_s_STARS_ROUTER, __pyx_k_STARS_ROUTER, sizeof(__pyx_k_STARS_ROUTER), 0, 0, 1, 1}, - {&__pyx_n_s_TimeoutError, __pyx_k_TimeoutError, sizeof(__pyx_k_TimeoutError), 0, 0, 1, 1}, - {&__pyx_kp_u_VPN, __pyx_k_VPN, sizeof(__pyx_k_VPN), 0, 1, 0, 0}, - {&__pyx_n_u_Windows, __pyx_k_Windows, sizeof(__pyx_k_Windows), 0, 1, 0, 1}, - {&__pyx_n_s_YOOKASSA_HASH, __pyx_k_YOOKASSA_HASH, sizeof(__pyx_k_YOOKASSA_HASH), 0, 0, 1, 1}, - {&__pyx_kp_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0}, - {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0}, - {&__pyx_kp_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0}, - {&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0}, - {&__pyx_kp_u__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0}, - {&__pyx_kp_u__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 1, 0, 0}, - {&__pyx_kp_u__18, __pyx_k__18, sizeof(__pyx_k__18), 0, 1, 0, 0}, - {&__pyx_kp_u__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 1, 0, 0}, - {&__pyx_kp_u__20, __pyx_k__20, sizeof(__pyx_k__20), 0, 1, 0, 0}, - {&__pyx_kp_u__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 1, 0, 0}, - {&__pyx_kp_u__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 1, 0, 0}, - {&__pyx_kp_u__26, __pyx_k__26, sizeof(__pyx_k__26), 0, 1, 0, 0}, - {&__pyx_kp_u__27, __pyx_k__27, sizeof(__pyx_k__27), 0, 1, 0, 0}, - {&__pyx_kp_u__28, __pyx_k__28, sizeof(__pyx_k__28), 0, 1, 0, 0}, - {&__pyx_kp_u__30, __pyx_k__30, sizeof(__pyx_k__30), 0, 1, 0, 0}, - {&__pyx_kp_u__32, __pyx_k__32, sizeof(__pyx_k__32), 0, 1, 0, 0}, - {&__pyx_kp_u__33, __pyx_k__33, sizeof(__pyx_k__33), 0, 1, 0, 0}, - {&__pyx_kp_u__34, __pyx_k__34, sizeof(__pyx_k__34), 0, 1, 0, 0}, - {&__pyx_kp_u__35, __pyx_k__35, sizeof(__pyx_k__35), 0, 1, 0, 0}, - {&__pyx_kp_u__37, __pyx_k__37, sizeof(__pyx_k__37), 0, 1, 0, 0}, - {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0}, - {&__pyx_kp_u__41, __pyx_k__41, sizeof(__pyx_k__41), 0, 1, 0, 0}, - {&__pyx_kp_u__42, __pyx_k__42, sizeof(__pyx_k__42), 0, 1, 0, 0}, - {&__pyx_n_s__43, __pyx_k__43, sizeof(__pyx_k__43), 0, 0, 1, 1}, - {&__pyx_kp_u__44, __pyx_k__44, sizeof(__pyx_k__44), 0, 1, 0, 0}, - {&__pyx_n_u__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 1, 0, 1}, - {&__pyx_n_u__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0, 1}, - {&__pyx_n_s__60, __pyx_k__60, sizeof(__pyx_k__60), 0, 0, 1, 1}, - {&__pyx_n_u__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 1, 0, 1}, - {&__pyx_n_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 1}, - {&__pyx_n_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 1}, - {&__pyx_n_s_adjust, __pyx_k_adjust, sizeof(__pyx_k_adjust), 0, 0, 1, 1}, - {&__pyx_n_s_aenter, __pyx_k_aenter, sizeof(__pyx_k_aenter), 0, 0, 1, 1}, - {&__pyx_n_s_aexit, __pyx_k_aexit, sizeof(__pyx_k_aexit), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram, __pyx_k_aiogram, sizeof(__pyx_k_aiogram), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_fsm_context, __pyx_k_aiogram_fsm_context, sizeof(__pyx_k_aiogram_fsm_context), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_types, __pyx_k_aiogram_types, sizeof(__pyx_k_aiogram_types), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_utils_keyboard, __pyx_k_aiogram_utils_keyboard, sizeof(__pyx_k_aiogram_utils_keyboard), 0, 0, 1, 1}, - {&__pyx_n_s_aiohttp, __pyx_k_aiohttp, sizeof(__pyx_k_aiohttp), 0, 0, 1, 1}, - {&__pyx_n_s_all_failed, __pyx_k_all_failed, sizeof(__pyx_k_all_failed), 0, 0, 1, 1}, - {&__pyx_n_s_answer, __pyx_k_answer, sizeof(__pyx_k_answer), 0, 0, 1, 1}, - {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, - {&__pyx_n_s_as_markup, __pyx_k_as_markup, sizeof(__pyx_k_as_markup), 0, 0, 1, 1}, - {&__pyx_n_s_asyncio, __pyx_k_asyncio, sizeof(__pyx_k_asyncio), 0, 0, 1, 1}, - {&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1}, - {&__pyx_n_s_asyncio_tasks, __pyx_k_asyncio_tasks, sizeof(__pyx_k_asyncio_tasks), 0, 0, 1, 1}, - {&__pyx_n_s_asyncpg, __pyx_k_asyncpg, sizeof(__pyx_k_asyncpg), 0, 0, 1, 1}, - {&__pyx_kp_s_asyncpg_Connection, __pyx_k_asyncpg_Connection, sizeof(__pyx_k_asyncpg_Connection), 0, 0, 1, 0}, - {&__pyx_n_s_await, __pyx_k_await, sizeof(__pyx_k_await), 0, 0, 1, 1}, - {&__pyx_kp_u_b_b, __pyx_k_b_b, sizeof(__pyx_k_b_b), 0, 1, 0, 0}, - {&__pyx_n_s_balance, __pyx_k_balance, sizeof(__pyx_k_balance), 0, 0, 1, 1}, - {&__pyx_n_s_builder, __pyx_k_builder, sizeof(__pyx_k_builder), 0, 0, 1, 1}, - {&__pyx_n_s_button, __pyx_k_button, sizeof(__pyx_k_button), 0, 0, 1, 1}, - {&__pyx_n_s_cache_time, __pyx_k_cache_time, sizeof(__pyx_k_cache_time), 0, 0, 1, 1}, - {&__pyx_n_s_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 0, 1, 1}, - {&__pyx_n_s_callback_query, __pyx_k_callback_query, sizeof(__pyx_k_callback_query), 0, 0, 1, 1}, - {&__pyx_n_s_check_output, __pyx_k_check_output, sizeof(__pyx_k_check_output), 0, 0, 1, 1}, - {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, - {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, - {&__pyx_n_u_code, __pyx_k_code, sizeof(__pyx_k_code), 0, 1, 0, 1}, - {&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1}, - {&__pyx_kp_u_confirm_gift, __pyx_k_confirm_gift, sizeof(__pyx_k_confirm_gift), 0, 1, 0, 0}, - {&__pyx_n_s_confirm_gift_handler, __pyx_k_confirm_gift_handler, sizeof(__pyx_k_confirm_gift_handler), 0, 0, 1, 1}, - {&__pyx_n_s_confirmation_text, __pyx_k_confirmation_text, sizeof(__pyx_k_confirmation_text), 0, 0, 1, 1}, - {&__pyx_n_s_current_page, __pyx_k_current_page, sizeof(__pyx_k_current_page), 0, 0, 1, 1}, - {&__pyx_kp_u_d_m_Y_H_M, __pyx_k_d_m_Y_H_M, sizeof(__pyx_k_d_m_Y_H_M), 0, 1, 0, 0}, - {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, - {&__pyx_n_s_data_parts, __pyx_k_data_parts, sizeof(__pyx_k_data_parts), 0, 0, 1, 1}, - {&__pyx_n_s_database, __pyx_k_database, sizeof(__pyx_k_database), 0, 0, 1, 1}, - {&__pyx_n_s_datetime, __pyx_k_datetime, sizeof(__pyx_k_datetime), 0, 0, 1, 1}, - {&__pyx_n_s_days, __pyx_k_days, sizeof(__pyx_k_days), 0, 0, 1, 1}, - {&__pyx_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1}, - {&__pyx_kp_u_delete_gift, __pyx_k_delete_gift, sizeof(__pyx_k_delete_gift), 0, 1, 0, 0}, - {&__pyx_n_s_delete_gift_handler, __pyx_k_delete_gift_handler, sizeof(__pyx_k_delete_gift_handler), 0, 0, 1, 1}, - {&__pyx_n_s_description, __pyx_k_description, sizeof(__pyx_k_description), 0, 0, 1, 1}, - {&__pyx_kp_u_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0, 0}, - {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1}, - {&__pyx_n_s_edit_or_send_message, __pyx_k_edit_or_send_message, sizeof(__pyx_k_edit_or_send_message), 0, 0, 1, 1}, - {&__pyx_kp_u_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0, 0}, - {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1}, - {&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1}, - {&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1}, - {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1}, - {&__pyx_n_u_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 1, 0, 1}, - {&__pyx_kp_u_etc_machine_id, __pyx_k_etc_machine_id, sizeof(__pyx_k_etc_machine_id), 0, 1, 0, 0}, - {&__pyx_n_s_execute, __pyx_k_execute, sizeof(__pyx_k_execute), 0, 0, 1, 1}, - {&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, - {&__pyx_n_s_expiry_time, __pyx_k_expiry_time, sizeof(__pyx_k_expiry_time), 0, 0, 1, 1}, - {&__pyx_n_u_expiry_time, __pyx_k_expiry_time, sizeof(__pyx_k_expiry_time), 0, 1, 0, 1}, - {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1}, - {&__pyx_n_s_fetch, __pyx_k_fetch, sizeof(__pyx_k_fetch), 0, 0, 1, 1}, - {&__pyx_n_s_fetchrow, __pyx_k_fetchrow, sizeof(__pyx_k_fetchrow), 0, 0, 1, 1}, - {&__pyx_n_s_finalize_gift_handler, __pyx_k_finalize_gift_handler, sizeof(__pyx_k_finalize_gift_handler), 0, 0, 1, 1}, - {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, - {&__pyx_n_s_from_user, __pyx_k_from_user, sizeof(__pyx_k_from_user), 0, 0, 1, 1}, - {&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0}, - {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1}, - {&__pyx_n_s_get_balance, __pyx_k_get_balance, sizeof(__pyx_k_get_balance), 0, 0, 1, 1}, - {&__pyx_n_s_get_gift_confirmation_text, __pyx_k_get_gift_confirmation_text, sizeof(__pyx_k_get_gift_confirmation_text), 0, 0, 1, 1}, - {&__pyx_n_s_get_gift_link, __pyx_k_get_gift_link, sizeof(__pyx_k_get_gift_link), 0, 0, 1, 1}, - {&__pyx_n_s_get_hardware_id, __pyx_k_get_hardware_id, sizeof(__pyx_k_get_hardware_id), 0, 0, 1, 1}, - {&__pyx_n_s_gift, __pyx_k_gift, sizeof(__pyx_k_gift), 0, 0, 1, 1}, - {&__pyx_n_u_gift, __pyx_k_gift, sizeof(__pyx_k_gift), 0, 1, 0, 1}, - {&__pyx_kp_u_gift_2, __pyx_k_gift_2, sizeof(__pyx_k_gift_2), 0, 1, 0, 0}, - {&__pyx_n_u_gift_3, __pyx_k_gift_3, sizeof(__pyx_k_gift_3), 0, 1, 0, 1}, - {&__pyx_n_s_gift_id, __pyx_k_gift_id, sizeof(__pyx_k_gift_id), 0, 0, 1, 1}, - {&__pyx_n_u_gift_id, __pyx_k_gift_id, sizeof(__pyx_k_gift_id), 0, 1, 0, 1}, - {&__pyx_n_s_gift_link, __pyx_k_gift_link, sizeof(__pyx_k_gift_link), 0, 0, 1, 1}, - {&__pyx_n_u_gift_link, __pyx_k_gift_link, sizeof(__pyx_k_gift_link), 0, 1, 0, 1}, - {&__pyx_n_s_gift_subscription_handler, __pyx_k_gift_subscription_handler, sizeof(__pyx_k_gift_subscription_handler), 0, 0, 1, 1}, - {&__pyx_n_s_gifts, __pyx_k_gifts, sizeof(__pyx_k_gifts), 0, 0, 1, 1}, - {&__pyx_n_u_gifts, __pyx_k_gifts, sizeof(__pyx_k_gifts), 0, 1, 0, 1}, - {&__pyx_kp_u_gifts_jpg, __pyx_k_gifts_jpg, sizeof(__pyx_k_gifts_jpg), 0, 1, 0, 0}, - {&__pyx_n_s_gifts_page, __pyx_k_gifts_page, sizeof(__pyx_k_gifts_page), 0, 0, 1, 1}, - {&__pyx_n_s_gifts_text, __pyx_k_gifts_text, sizeof(__pyx_k_gifts_text), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_buttons, __pyx_k_handlers_buttons, sizeof(__pyx_k_handlers_buttons), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_gift, __pyx_k_handlers_payments_gift, sizeof(__pyx_k_handlers_payments_gift), 0, 0, 1, 1}, - {&__pyx_kp_s_handlers_payments_gift_py, __pyx_k_handlers_payments_gift_py, sizeof(__pyx_k_handlers_payments_gift_py), 0, 0, 1, 0}, - {&__pyx_n_s_handlers_texts, __pyx_k_handlers_texts, sizeof(__pyx_k_handlers_texts), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_utils, __pyx_k_handlers_utils, sizeof(__pyx_k_handlers_utils), 0, 0, 1, 1}, - {&__pyx_n_s_hardware_id, __pyx_k_hardware_id, sizeof(__pyx_k_hardware_id), 0, 0, 1, 1}, - {&__pyx_n_u_hardware_id, __pyx_k_hardware_id, sizeof(__pyx_k_hardware_id), 0, 1, 0, 1}, - {&__pyx_n_s_hashlib, __pyx_k_hashlib, sizeof(__pyx_k_hashlib), 0, 0, 1, 1}, - {&__pyx_n_s_hex, __pyx_k_hex, sizeof(__pyx_k_hex), 0, 0, 1, 1}, - {&__pyx_n_s_hexdigest, __pyx_k_hexdigest, sizeof(__pyx_k_hexdigest), 0, 0, 1, 1}, - {&__pyx_kp_u_https_pocomacho_ru_solonetbot_co, __pyx_k_https_pocomacho_ru_solonetbot_co, sizeof(__pyx_k_https_pocomacho_ru_solonetbot_co), 0, 1, 0, 0}, - {&__pyx_kp_u_https_solobot_ru_solonetbot_code, __pyx_k_https_solobot_ru_solonetbot_code, sizeof(__pyx_k_https_solobot_ru_solonetbot_code), 0, 1, 0, 0}, - {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1}, - {&__pyx_n_s_image_path, __pyx_k_image_path, sizeof(__pyx_k_image_path), 0, 0, 1, 1}, - {&__pyx_n_u_img, __pyx_k_img, sizeof(__pyx_k_img), 0, 1, 0, 1}, - {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, - {&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1}, - {&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1}, - {&__pyx_n_s_inline_gift_handler, __pyx_k_inline_gift_handler, sizeof(__pyx_k_inline_gift_handler), 0, 0, 1, 1}, - {&__pyx_n_s_inline_query, __pyx_k_inline_query, sizeof(__pyx_k_inline_query), 0, 0, 1, 1}, - {&__pyx_n_s_input_message_content, __pyx_k_input_message_content, sizeof(__pyx_k_input_message_content), 0, 0, 1, 1}, - {&__pyx_n_s_inspect, __pyx_k_inspect, sizeof(__pyx_k_inspect), 0, 0, 1, 1}, - {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1}, - {&__pyx_n_s_is_used, __pyx_k_is_used, sizeof(__pyx_k_is_used), 0, 0, 1, 1}, - {&__pyx_n_u_is_used, __pyx_k_is_used, sizeof(__pyx_k_is_used), 0, 1, 0, 1}, - {&__pyx_n_s_is_valid, __pyx_k_is_valid, sizeof(__pyx_k_is_valid), 0, 0, 1, 1}, - {&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0}, - {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1}, - {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1}, - {&__pyx_n_s_json, __pyx_k_json, sizeof(__pyx_k_json), 0, 0, 1, 1}, - {&__pyx_n_s_logger, __pyx_k_logger, sizeof(__pyx_k_logger), 0, 0, 1, 1}, - {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, - {&__pyx_n_s_media_path, __pyx_k_media_path, sizeof(__pyx_k_media_path), 0, 0, 1, 1}, - {&__pyx_n_s_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 0, 1, 1}, - {&__pyx_n_s_message_text, __pyx_k_message_text, sizeof(__pyx_k_message_text), 0, 0, 1, 1}, - {&__pyx_n_s_months, __pyx_k_months, sizeof(__pyx_k_months), 0, 0, 1, 1}, - {&__pyx_n_s_months_text, __pyx_k_months_text, sizeof(__pyx_k_months_text), 0, 0, 1, 1}, - {&__pyx_n_u_my_gifts, __pyx_k_my_gifts, sizeof(__pyx_k_my_gifts), 0, 1, 0, 1}, - {&__pyx_kp_u_my_gifts_2, __pyx_k_my_gifts_2, sizeof(__pyx_k_my_gifts_2), 0, 1, 0, 0}, - {&__pyx_n_s_my_gifts_handler, __pyx_k_my_gifts_handler, sizeof(__pyx_k_my_gifts_handler), 0, 0, 1, 1}, - {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, - {&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1}, - {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1}, - {&__pyx_n_s_path, __pyx_k_path, sizeof(__pyx_k_path), 0, 0, 1, 1}, - {&__pyx_n_s_payload, __pyx_k_payload, sizeof(__pyx_k_payload), 0, 0, 1, 1}, - {&__pyx_n_s_platform, __pyx_k_platform, sizeof(__pyx_k_platform), 0, 0, 1, 1}, - {&__pyx_n_s_post, __pyx_k_post, sizeof(__pyx_k_post), 0, 0, 1, 1}, - {&__pyx_n_s_price, __pyx_k_price, sizeof(__pyx_k_price), 0, 0, 1, 1}, - {&__pyx_n_u_profile, __pyx_k_profile, sizeof(__pyx_k_profile), 0, 1, 0, 1}, - {&__pyx_n_s_query, __pyx_k_query, sizeof(__pyx_k_query), 0, 0, 1, 1}, - {&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 0, 0, 1, 1}, - {&__pyx_n_s_recipient, __pyx_k_recipient, sizeof(__pyx_k_recipient), 0, 0, 1, 1}, - {&__pyx_n_u_recipient_tg_id, __pyx_k_recipient_tg_id, sizeof(__pyx_k_recipient_tg_id), 0, 1, 0, 1}, - {&__pyx_n_s_replace, __pyx_k_replace, sizeof(__pyx_k_replace), 0, 0, 1, 1}, - {&__pyx_n_s_reply_markup, __pyx_k_reply_markup, sizeof(__pyx_k_reply_markup), 0, 0, 1, 1}, - {&__pyx_n_s_response, __pyx_k_response, sizeof(__pyx_k_response), 0, 0, 1, 1}, - {&__pyx_n_s_result, __pyx_k_result, sizeof(__pyx_k_result), 0, 0, 1, 1}, - {&__pyx_n_s_router, __pyx_k_router, sizeof(__pyx_k_router), 0, 0, 1, 1}, - {&__pyx_n_s_row, __pyx_k_row, sizeof(__pyx_k_row), 0, 0, 1, 1}, - {&__pyx_n_s_selected_months, __pyx_k_selected_months, sizeof(__pyx_k_selected_months), 0, 0, 1, 1}, - {&__pyx_n_u_selected_months, __pyx_k_selected_months, sizeof(__pyx_k_selected_months), 0, 1, 0, 1}, - {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1}, - {&__pyx_n_s_session, __pyx_k_session, sizeof(__pyx_k_session), 0, 0, 1, 1}, - {&__pyx_n_s_sha256, __pyx_k_sha256, sizeof(__pyx_k_sha256), 0, 0, 1, 1}, - {&__pyx_n_s_share_text, __pyx_k_share_text, sizeof(__pyx_k_share_text), 0, 0, 1, 1}, - {&__pyx_n_s_shell, __pyx_k_shell, sizeof(__pyx_k_shell), 0, 0, 1, 1}, - {&__pyx_n_s_show_alert, __pyx_k_show_alert, sizeof(__pyx_k_show_alert), 0, 0, 1, 1}, - {&__pyx_n_s_sleep, __pyx_k_sleep, sizeof(__pyx_k_sleep), 0, 0, 1, 1}, - {&__pyx_kp_u_solonet_sup, __pyx_k_solonet_sup, sizeof(__pyx_k_solonet_sup), 0, 1, 0, 0}, - {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1}, - {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1}, - {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1}, - {&__pyx_n_s_start_menu_handler, __pyx_k_start_menu_handler, sizeof(__pyx_k_start_menu_handler), 0, 0, 1, 1}, - {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1}, - {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1}, - {&__pyx_n_s_status, __pyx_k_status, sizeof(__pyx_k_status), 0, 0, 1, 1}, - {&__pyx_n_u_status, __pyx_k_status, sizeof(__pyx_k_status), 0, 1, 0, 1}, - {&__pyx_n_s_store_gift_link, __pyx_k_store_gift_link, sizeof(__pyx_k_store_gift_link), 0, 0, 1, 1}, - {&__pyx_n_s_strftime, __pyx_k_strftime, sizeof(__pyx_k_strftime), 0, 0, 1, 1}, - {&__pyx_n_s_strip, __pyx_k_strip, sizeof(__pyx_k_strip), 0, 0, 1, 1}, - {&__pyx_n_s_subprocess, __pyx_k_subprocess, sizeof(__pyx_k_subprocess), 0, 0, 1, 1}, - {&__pyx_n_u_success, __pyx_k_success, sizeof(__pyx_k_success), 0, 1, 0, 1}, - {&__pyx_n_s_switch_inline_query, __pyx_k_switch_inline_query, sizeof(__pyx_k_switch_inline_query), 0, 0, 1, 1}, - {&__pyx_n_s_system, __pyx_k_system, sizeof(__pyx_k_system), 0, 0, 1, 1}, - {&__pyx_n_s_target_message, __pyx_k_target_message, sizeof(__pyx_k_target_message), 0, 0, 1, 1}, - {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, - {&__pyx_n_s_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 0, 1, 1}, - {&__pyx_n_s_tg_id, __pyx_k_tg_id, sizeof(__pyx_k_tg_id), 0, 0, 1, 1}, - {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1}, - {&__pyx_n_s_timedelta, __pyx_k_timedelta, sizeof(__pyx_k_timedelta), 0, 0, 1, 1}, - {&__pyx_n_s_timeout, __pyx_k_timeout, sizeof(__pyx_k_timeout), 0, 0, 1, 1}, - {&__pyx_n_s_title, __pyx_k_title, sizeof(__pyx_k_title), 0, 0, 1, 1}, - {&__pyx_n_s_total, __pyx_k_total, sizeof(__pyx_k_total), 0, 0, 1, 1}, - {&__pyx_n_s_types, __pyx_k_types, sizeof(__pyx_k_types), 0, 0, 1, 1}, - {&__pyx_kp_s_types_CallbackQuery, __pyx_k_types_CallbackQuery, sizeof(__pyx_k_types_CallbackQuery), 0, 0, 1, 0}, - {&__pyx_n_s_typing, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1}, - {&__pyx_n_s_update_balance, __pyx_k_update_balance, sizeof(__pyx_k_update_balance), 0, 0, 1, 1}, - {&__pyx_n_s_url, __pyx_k_url, sizeof(__pyx_k_url), 0, 0, 1, 1}, - {&__pyx_n_s_urls, __pyx_k_urls, sizeof(__pyx_k_urls), 0, 0, 1, 1}, - {&__pyx_n_s_user_tg_id, __pyx_k_user_tg_id, sizeof(__pyx_k_user_tg_id), 0, 0, 1, 1}, - {&__pyx_n_s_utcnow, __pyx_k_utcnow, sizeof(__pyx_k_utcnow), 0, 0, 1, 1}, - {&__pyx_n_s_uuid, __pyx_k_uuid, sizeof(__pyx_k_uuid), 0, 0, 1, 1}, - {&__pyx_n_s_uuid4, __pyx_k_uuid4, sizeof(__pyx_k_uuid4), 0, 0, 1, 1}, - {&__pyx_n_s_validate_client_code, __pyx_k_validate_client_code, sizeof(__pyx_k_validate_client_code), 0, 0, 1, 1}, - {&__pyx_n_s_warning, __pyx_k_warning, sizeof(__pyx_k_warning), 0, 0, 1, 1}, - {&__pyx_kp_u_wmic_cpu_get_ProcessorId, __pyx_k_wmic_cpu_get_ProcessorId, sizeof(__pyx_k_wmic_cpu_get_ProcessorId), 0, 1, 0, 0}, - {0, 0, 0, 0, 0, 0, 0} - }; - return __Pyx_InitStrings(__pyx_string_tab); -} -/* #### Code section: cached_builtins ### */ -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_n_s_open); if (!__pyx_builtin_open) __PYX_ERR(0, 332, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: cached_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - __pyx_tuple__2 = PyTuple_Pack(2, __pyx_n_u_img, __pyx_kp_u_gifts_jpg); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__2); - __Pyx_GIVEREF(__pyx_tuple__2); - - __pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_u__22); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 188, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__23); - __Pyx_GIVEREF(__pyx_tuple__23); - - __pyx_tuple__31 = PyTuple_Pack(2, __pyx_n_u_gift_3, __pyx_kp_u__30); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 284, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__31); - __Pyx_GIVEREF(__pyx_tuple__31); - - __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_u_wmic_cpu_get_ProcessorId); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 330, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__36); - __Pyx_GIVEREF(__pyx_tuple__36); - - __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_u_etc_machine_id); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__38); - __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_tuple__39 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 332, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__39); - __Pyx_GIVEREF(__pyx_tuple__39); - - __pyx_tuple__45 = PyTuple_Pack(4, __pyx_n_s_callback_query, __pyx_n_s_is_valid, __pyx_n_s_builder, __pyx_n_s_image_path); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__45); - __Pyx_GIVEREF(__pyx_tuple__45); - __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_start_menu_handler, 34, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 34, __pyx_L1_error) - - __pyx_tuple__46 = PyTuple_Pack(1, __pyx_n_u_my_gifts); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__46); - __Pyx_GIVEREF(__pyx_tuple__46); - __pyx_tuple__47 = PyTuple_Pack(19, __pyx_n_s_callback_query, __pyx_n_s_session, __pyx_n_s_user_tg_id, __pyx_n_s_data_parts, __pyx_n_s_current_page, __pyx_n_s_gifts, __pyx_n_s_builder, __pyx_n_s_start, __pyx_n_s_end, __pyx_n_s_gifts_page, __pyx_n_s_gifts_text, __pyx_n_s_gift, __pyx_n_s_months, __pyx_n_s_months_text, __pyx_n_s_is_used, __pyx_n_s_recipient, __pyx_n_s_expiry_time, __pyx_n_s_gift_link, __pyx_n_s_gift_id); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__47); - __Pyx_GIVEREF(__pyx_tuple__47); - __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 19, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_my_gifts_handler, 57, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 57, __pyx_L1_error) - - __pyx_tuple__48 = PyTuple_Pack(1, __pyx_kp_u_delete_gift); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__48); - __Pyx_GIVEREF(__pyx_tuple__48); - __pyx_tuple__49 = PyTuple_Pack(5, __pyx_n_s_callback_query, __pyx_n_s_session, __pyx_n_s_data, __pyx_n_s_gift_id, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__49); - __Pyx_GIVEREF(__pyx_tuple__49); - __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_delete_gift_handler, 139, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 139, __pyx_L1_error) - - __pyx_tuple__50 = PyTuple_Pack(4, __pyx_n_s_callback_query, __pyx_n_s_builder, __pyx_n_s_months, __pyx_n_s_price); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__50); - __Pyx_GIVEREF(__pyx_tuple__50); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_gift_subscription_handler, 158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 158, __pyx_L1_error) - - __pyx_tuple__51 = PyTuple_Pack(1, __pyx_kp_u_gift_2); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__51); - __Pyx_GIVEREF(__pyx_tuple__51); - __pyx_tuple__52 = PyTuple_Pack(8, __pyx_n_s_callback_query, __pyx_n_s_session, __pyx_n_s_selected_months, __pyx_n_s_price, __pyx_n_s_user_tg_id, __pyx_n_s_balance, __pyx_n_s_builder, __pyx_n_s_confirmation_text); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__52); - __Pyx_GIVEREF(__pyx_tuple__52); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_confirm_gift_handler, 180, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 180, __pyx_L1_error) - - __pyx_tuple__53 = PyTuple_Pack(1, __pyx_kp_u_confirm_gift); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__53); - __Pyx_GIVEREF(__pyx_tuple__53); - __pyx_tuple__54 = PyTuple_Pack(14, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session, __pyx_n_s_selected_months, __pyx_n_s_price, __pyx_n_s_tg_id, __pyx_n_s_expiry_time, __pyx_n_s_gift_id, __pyx_n_s_gift_link, __pyx_n_s_months_text, __pyx_n_s_message_text, __pyx_n_s_builder, __pyx_n_s_share_text, __pyx_n_s_e); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__54); - __Pyx_GIVEREF(__pyx_tuple__54); - __pyx_codeobj__25 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_finalize_gift_handler, 220, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__25)) __PYX_ERR(0, 220, __pyx_L1_error) - - __pyx_tuple__55 = PyTuple_Pack(1, __pyx_n_u_gift_3); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__55); - __Pyx_GIVEREF(__pyx_tuple__55); - __pyx_tuple__56 = PyTuple_Pack(12, __pyx_n_s_inline_query, __pyx_n_s_session, __pyx_n_s_gift_id, __pyx_n_s_query, __pyx_n_s_gift, __pyx_n_s_gift_link, __pyx_n_s_months, __pyx_n_s_expiry_time, __pyx_n_s_message_text, __pyx_n_s_builder, __pyx_n_s_result, __pyx_n_s_e); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__56); - __Pyx_GIVEREF(__pyx_tuple__56); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_inline_gift_handler, 280, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 280, __pyx_L1_error) - - __pyx_tuple__57 = PyTuple_Pack(3, __pyx_n_s_result, __pyx_n_s_f, __pyx_n_s_hardware_id); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 324, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__57); - __Pyx_GIVEREF(__pyx_tuple__57); - __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_get_hardware_id, 324, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 324, __pyx_L1_error) - - __pyx_tuple__59 = PyTuple_Pack(11, __pyx_n_s_hardware_id, __pyx_n_s_urls, __pyx_n_s_payload, __pyx_n_s_timeout, __pyx_n_s_all_failed, __pyx_n_s_session, __pyx_n_s_url, __pyx_n_s_response, __pyx_n_s_data, __pyx_n_s_status, __pyx_n_s_e); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__59); - __Pyx_GIVEREF(__pyx_tuple__59); - __pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_gift_py, __pyx_n_s_validate_client_code, 343, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} -/* #### Code section: init_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) { - if (__Pyx_CreateStringTabAndInitStrings() < 0) __PYX_ERR(0, 1, __pyx_L1_error); - __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_30 = PyInt_FromLong(30); if (unlikely(!__pyx_int_30)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_200 = PyInt_FromLong(200); if (unlikely(!__pyx_int_200)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_404 = PyInt_FromLong(404); if (unlikely(!__pyx_int_404)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_502 = PyInt_FromLong(502); if (unlikely(!__pyx_int_502)) __PYX_ERR(0, 1, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: init_globals ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { - return 0; -} -/* #### Code section: init_module ### */ - -static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ - -static int __Pyx_modinit_global_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_init_code(void) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); - /*--- Type init code ---*/ - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler)) __PYX_ERR(0, 34, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler) < 0) __PYX_ERR(0, 34, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler) < 0) __PYX_ERR(0, 34, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct__start_menu_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler)) __PYX_ERR(0, 57, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler) < 0) __PYX_ERR(0, 57, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler) < 0) __PYX_ERR(0, 57, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_1_my_gifts_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler)) __PYX_ERR(0, 139, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler) < 0) __PYX_ERR(0, 139, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler) < 0) __PYX_ERR(0, 139, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_2_delete_gift_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler)) __PYX_ERR(0, 158, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler) < 0) __PYX_ERR(0, 158, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler) < 0) __PYX_ERR(0, 158, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_3_gift_subscription_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler)) __PYX_ERR(0, 180, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler) < 0) __PYX_ERR(0, 180, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler) < 0) __PYX_ERR(0, 180, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_4_confirm_gift_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler)) __PYX_ERR(0, 220, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler) < 0) __PYX_ERR(0, 220, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler) < 0) __PYX_ERR(0, 220, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_5_finalize_gift_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler)) __PYX_ERR(0, 280, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler) < 0) __PYX_ERR(0, 280, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler) < 0) __PYX_ERR(0, 280, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_6_inline_gift_handler->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code)) __PYX_ERR(0, 343, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code_spec, __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code) < 0) __PYX_ERR(0, 343, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code = &__pyx_type_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code) < 0) __PYX_ERR(0, 343, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code->tp_dictoffset && __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_4gift___pyx_scope_struct_7_validate_client_code->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_type_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); - /*--- Type import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - - -#if PY_MAJOR_VERSION >= 3 -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec_gift(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec_gift}, - {0, NULL} -}; -#endif - -#ifdef __cplusplus -namespace { - struct PyModuleDef __pyx_moduledef = - #else - static struct PyModuleDef __pyx_moduledef = - #endif - { - PyModuleDef_HEAD_INIT, - "gift", - 0, /* m_doc */ - #if CYTHON_PEP489_MULTI_PHASE_INIT - 0, /* m_size */ - #elif CYTHON_USE_MODULE_STATE - sizeof(__pyx_mstate), /* m_size */ - #else - -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - #if CYTHON_USE_MODULE_STATE - __pyx_m_traverse, /* m_traverse */ - __pyx_m_clear, /* m_clear */ - NULL /* m_free */ - #else - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ - #endif - }; - #ifdef __cplusplus -} /* anonymous namespace */ -#endif -#endif - -#ifndef CYTHON_NO_PYINIT_EXPORT -#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#elif PY_MAJOR_VERSION < 3 -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" void -#else -#define __Pyx_PyMODINIT_FUNC void -#endif -#else -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * -#else -#define __Pyx_PyMODINIT_FUNC PyObject * -#endif -#endif - - -#if PY_MAJOR_VERSION < 3 -__Pyx_PyMODINIT_FUNC initgift(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC initgift(void) -#else -__Pyx_PyMODINIT_FUNC PyInit_gift(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit_gift(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - #if PY_VERSION_HEX >= 0x030700A1 - static PY_INT64_T main_interpreter_id = -1; - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return (unlikely(current_id == -1)) ? -1 : 0; - } else if (unlikely(main_interpreter_id != current_id)) - #else - static PyInterpreterState *main_interpreter = NULL; - PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; - if (!main_interpreter) { - main_interpreter = current_interpreter; - } else if (unlikely(main_interpreter != current_interpreter)) - #endif - { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *module, const char* from_name, const char* to_name, int allow_none) -#else -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) -#endif -{ - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { -#if CYTHON_COMPILING_IN_LIMITED_API - result = PyModule_AddObject(module, to_name, value); -#else - result = PyDict_SetItemString(moddict, to_name, value); -#endif - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - CYTHON_UNUSED_VAR(def); - if (__Pyx_check_single_interpreter()) - return NULL; - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; -#if CYTHON_COMPILING_IN_LIMITED_API - moddict = module; -#else - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; -#endif - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec_gift(PyObject *__pyx_pyinit_module) -#endif -#endif -{ - int stringtab_initialized = 0; - #if CYTHON_USE_MODULE_STATE - int pystate_addmodule_run = 0; - #endif - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module 'gift' has already been imported. Re-initialisation is not supported."); - return -1; - } - #elif PY_MAJOR_VERSION >= 3 - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_m = __pyx_pyinit_module; - Py_INCREF(__pyx_m); - #else - #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4("gift", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #elif CYTHON_USE_MODULE_STATE - __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) - { - int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef); - __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "gift" pseudovariable */ - if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - pystate_addmodule_run = 1; - } - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #endif - CYTHON_UNUSED_VAR(__pyx_t_1); - __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_d); - __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if CYTHON_REFNANNY -__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); -if (!__Pyx_RefNanny) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); -} -#endif - __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_gift(void)", 0); - if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pxy_PyFrame_Initialize_Offsets - __Pxy_PyFrame_Initialize_Offsets(); - #endif - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pyx_CyFunction_USED - if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_FusedFunction_USED - if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Coroutine_USED - if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Generator_USED - if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_StopAsyncIteration_USED - if (__pyx_StopAsyncIteration_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ - #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS - PyEval_InitThreads(); - #endif - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - stringtab_initialized = 1; - if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) - if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - if (__pyx_module_is_main_handlers__payments__gift) { - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - } - #if PY_MAJOR_VERSION >= 3 - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "handlers.payments.gift")) { - if (unlikely((PyDict_SetItemString(modules, "handlers.payments.gift", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #endif - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_global_init_code(); - (void)__Pyx_modinit_variable_export_code(); - (void)__Pyx_modinit_function_export_code(); - if (unlikely((__Pyx_modinit_type_init_code() < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_type_import_code(); - (void)__Pyx_modinit_variable_import_code(); - (void)__Pyx_modinit_function_import_code(); - /*--- Execution code ---*/ - #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - - __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_hashlib, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_hashlib, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_os, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_2) < 0) __PYX_ERR(0, 2, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_platform, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_platform, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_subprocess, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_subprocess, __pyx_t_2) < 0) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_uuid, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_uuid, __pyx_t_2) < 0) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_datetime); - __Pyx_GIVEREF(__pyx_n_s_datetime); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_datetime)) __PYX_ERR(0, 6, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_timedelta); - __Pyx_GIVEREF(__pyx_n_s_timedelta); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_timedelta)) __PYX_ERR(0, 6, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_datetime, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_datetime); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_datetime, __pyx_t_2) < 0) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_timedelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_timedelta, __pyx_t_2) < 0) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_Any); - __Pyx_GIVEREF(__pyx_n_s_Any); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_Any)) __PYX_ERR(0, 7, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Any); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Any, __pyx_t_3) < 0) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_aiohttp, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_aiohttp, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_F); - __Pyx_GIVEREF(__pyx_n_s_F); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_F)) __PYX_ERR(0, 10, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_Router); - __Pyx_GIVEREF(__pyx_n_s_Router); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_Router)) __PYX_ERR(0, 10, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_types); - __Pyx_GIVEREF(__pyx_n_s_types); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_types)) __PYX_ERR(0, 10, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_F, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Router, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_types, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_FSMContext); - __Pyx_GIVEREF(__pyx_n_s_FSMContext); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_FSMContext)) __PYX_ERR(0, 11, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_fsm_context, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_FSMContext); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_FSMContext, __pyx_t_3) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardButton); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardButton); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_InlineKeyboardButton)) __PYX_ERR(0, 12, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_InlineQuery); - __Pyx_GIVEREF(__pyx_n_s_InlineQuery); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_InlineQuery)) __PYX_ERR(0, 12, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_InlineQueryResultArticle); - __Pyx_GIVEREF(__pyx_n_s_InlineQueryResultArticle); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_InlineQueryResultArticle)) __PYX_ERR(0, 12, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_InputTextMessageContent); - __Pyx_GIVEREF(__pyx_n_s_InputTextMessageContent); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_InputTextMessageContent)) __PYX_ERR(0, 12, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_types, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardButton, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineQuery); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineQuery, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineQueryResultArticle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineQueryResultArticle, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InputTextMessageContent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InputTextMessageContent, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardBuilder); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardBuilder); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_InlineKeyboardBuilder)) __PYX_ERR(0, 13, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_utils_keyboard, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardBuilder, __pyx_t_3) < 0) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_CLIENT_CODE); - __Pyx_GIVEREF(__pyx_n_s_CLIENT_CODE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_CLIENT_CODE)) __PYX_ERR(0, 15, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_RENEWAL_PRICES); - __Pyx_GIVEREF(__pyx_n_s_RENEWAL_PRICES); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_RENEWAL_PRICES)) __PYX_ERR(0, 15, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_GIFTS_PER_PAGE); - __Pyx_GIVEREF(__pyx_n_s_GIFTS_PER_PAGE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_GIFTS_PER_PAGE)) __PYX_ERR(0, 15, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_INLINE_MODE); - __Pyx_GIVEREF(__pyx_n_s_INLINE_MODE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_INLINE_MODE)) __PYX_ERR(0, 15, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_config, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_CLIENT_CODE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_CLIENT_CODE, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_RENEWAL_PRICES); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_RENEWAL_PRICES, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_GIFTS_PER_PAGE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_GIFTS_PER_PAGE, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_INLINE_MODE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_INLINE_MODE, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_get_balance); - __Pyx_GIVEREF(__pyx_n_s_get_balance); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_get_balance)) __PYX_ERR(0, 16, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_store_gift_link); - __Pyx_GIVEREF(__pyx_n_s_store_gift_link); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_store_gift_link)) __PYX_ERR(0, 16, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_update_balance); - __Pyx_GIVEREF(__pyx_n_s_update_balance); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_update_balance)) __PYX_ERR(0, 16, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_database, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_balance, __pyx_t_3) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_store_gift_link); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_store_gift_link, __pyx_t_3) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_update_balance, __pyx_t_3) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_MAIN_MENU); - __Pyx_GIVEREF(__pyx_n_s_MAIN_MENU); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_MAIN_MENU)) __PYX_ERR(0, 18, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_BACK); - __Pyx_GIVEREF(__pyx_n_s_BACK); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_BACK)) __PYX_ERR(0, 18, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_GIFTS_MENU); - __Pyx_GIVEREF(__pyx_n_s_GIFTS_MENU); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_GIFTS_MENU)) __PYX_ERR(0, 18, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_GIFT); - __Pyx_GIVEREF(__pyx_n_s_GIFT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_GIFT)) __PYX_ERR(0, 18, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_MY_GIFTS); - __Pyx_GIVEREF(__pyx_n_s_MY_GIFTS); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_s_MY_GIFTS)) __PYX_ERR(0, 18, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_APPLY); - __Pyx_GIVEREF(__pyx_n_s_APPLY); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 5, __pyx_n_s_APPLY)) __PYX_ERR(0, 18, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_CANCEL); - __Pyx_GIVEREF(__pyx_n_s_CANCEL); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 6, __pyx_n_s_CANCEL)) __PYX_ERR(0, 18, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_SHARE_GIFT); - __Pyx_GIVEREF(__pyx_n_s_SHARE_GIFT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 7, __pyx_n_s_SHARE_GIFT)) __PYX_ERR(0, 18, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_buttons, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_MAIN_MENU); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAIN_MENU, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_BACK); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_BACK, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_GIFTS_MENU); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_GIFTS_MENU, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_GIFT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_GIFT, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_MY_GIFTS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_MY_GIFTS, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_APPLY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_APPLY, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_CANCEL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_CANCEL, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_SHARE_GIFT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_SHARE_GIFT, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_GIFTS_TEXT_TEMPLATE); - __Pyx_GIVEREF(__pyx_n_s_GIFTS_TEXT_TEMPLATE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_GIFTS_TEXT_TEMPLATE)) __PYX_ERR(0, 20, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_get_gift_link); - __Pyx_GIVEREF(__pyx_n_s_get_gift_link); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_get_gift_link)) __PYX_ERR(0, 20, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_SHARE_TEXT_TEMPLATE); - __Pyx_GIVEREF(__pyx_n_s_SHARE_TEXT_TEMPLATE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_SHARE_TEXT_TEMPLATE)) __PYX_ERR(0, 20, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE); - __Pyx_GIVEREF(__pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE)) __PYX_ERR(0, 20, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_get_gift_confirmation_text); - __Pyx_GIVEREF(__pyx_n_s_get_gift_confirmation_text); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 4, __pyx_n_s_get_gift_confirmation_text)) __PYX_ERR(0, 20, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_GIFT_CHOICE); - __Pyx_GIVEREF(__pyx_n_s_GIFT_CHOICE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 5, __pyx_n_s_GIFT_CHOICE)) __PYX_ERR(0, 20, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_GIFTS_ABOUT); - __Pyx_GIVEREF(__pyx_n_s_GIFTS_ABOUT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 6, __pyx_n_s_GIFTS_ABOUT)) __PYX_ERR(0, 20, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_NO_GIFTS); - __Pyx_GIVEREF(__pyx_n_s_NO_GIFTS); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 7, __pyx_n_s_NO_GIFTS)) __PYX_ERR(0, 20, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_texts, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_GIFTS_TEXT_TEMPLATE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_GIFTS_TEXT_TEMPLATE, __pyx_t_3) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_gift_link); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_gift_link, __pyx_t_3) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_SHARE_TEXT_TEMPLATE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_SHARE_TEXT_TEMPLATE, __pyx_t_3) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_SHARE_TEXT_TEMPLATE_NOT_INLINE, __pyx_t_3) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_gift_confirmation_text); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_gift_confirmation_text, __pyx_t_3) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_GIFT_CHOICE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_GIFT_CHOICE, __pyx_t_3) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_GIFTS_ABOUT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_GIFTS_ABOUT, __pyx_t_3) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_NO_GIFTS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_NO_GIFTS, __pyx_t_3) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_logger); - __Pyx_GIVEREF(__pyx_n_s_logger); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_logger)) __PYX_ERR(0, 21, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_logger, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_ImportDottedModule(__pyx_n_s_asyncpg, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_asyncpg, __pyx_t_3) < 0) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_edit_or_send_message); - __Pyx_GIVEREF(__pyx_n_s_edit_or_send_message); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_edit_or_send_message)) __PYX_ERR(0, 24, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_utils, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_edit_or_send_message, __pyx_t_3) < 0) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_router, __pyx_t_3) < 0) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PROJECTMANECONGIGURE, __pyx_n_u_CRYPTOSALE) < 0) __PYX_ERR(0, 29, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_d, __pyx_n_s_STARS_ROUTER, __pyx_kp_u_21U68SOLOBOT) < 0) __PYX_ERR(0, 30, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_d, __pyx_n_s_YOOKASSA_HASH, __pyx_n_u_HASHHASHYOOKASSA) < 0) __PYX_ERR(0, 31, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_n_u_gifts, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 34, __pyx_L1_error) - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_1start_menu_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_start_menu_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_start_menu_handler, __pyx_t_3) < 0) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 57, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 57, __pyx_L1_error) - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_4my_gifts_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_my_gifts_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_my_gifts_handler, __pyx_t_4) < 0) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_router); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_startswith); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__48, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 139, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 139, __pyx_L1_error) - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_7delete_gift_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_delete_gift_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_delete_gift_handler, __pyx_t_3) < 0) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, __pyx_n_u_gift, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 158, __pyx_L1_error) - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_10gift_subscription_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_gift_subscription_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_gift_subscription_handler, __pyx_t_3) < 0) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__51, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 180, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 180, __pyx_L1_error) - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_13confirm_gift_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_confirm_gift_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__21)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_confirm_gift_handler, __pyx_t_4) < 0) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_router); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_startswith); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__53, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 220, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 220, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 220, __pyx_L1_error) - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_16finalize_gift_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_finalize_gift_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__25)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_finalize_gift_handler, __pyx_t_3) < 0) __PYX_ERR(0, 220, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_inline_query); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_query); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__55, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_inline_query, __pyx_n_s_InlineQuery) < 0) __PYX_ERR(0, 280, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_session, __pyx_kp_s_asyncpg_Connection) < 0) __PYX_ERR(0, 280, __pyx_L1_error) - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_19inline_gift_handler, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_inline_gift_handler, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_inline_gift_handler, __pyx_t_4) < 0) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_22get_hardware_id, 0, __pyx_n_s_get_hardware_id, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__58)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 324, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_hardware_id, __pyx_t_4) < 0) __PYX_ERR(0, 324, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_ImportDottedModule(__pyx_n_s_aiohttp, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 340, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_aiohttp, __pyx_t_4) < 0) __PYX_ERR(0, 340, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_patch_asyncio(__Pyx_ImportDottedModule(__pyx_n_s_asyncio, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 341, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_asyncio, __pyx_t_4) < 0) __PYX_ERR(0, 341, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_4gift_24validate_client_code, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_validate_client_code, NULL, __pyx_n_s_handlers_payments_gift, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_validate_client_code, __pyx_t_4) < 0) __PYX_ERR(0, 343, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_4) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - if (__pyx_m) { - if (__pyx_d && stringtab_initialized) { - __Pyx_AddTraceback("init handlers.payments.gift", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - #if !CYTHON_USE_MODULE_STATE - Py_CLEAR(__pyx_m); - #else - Py_DECREF(__pyx_m); - if (pystate_addmodule_run) { - PyObject *tp, *value, *tb; - PyErr_Fetch(&tp, &value, &tb); - PyState_RemoveModule(&__pyx_moduledef); - PyErr_Restore(tp, value, tb); - } - #endif - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init handlers.payments.gift"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #elif PY_MAJOR_VERSION >= 3 - return __pyx_m; - #else - return; - #endif -} -/* #### Code section: cleanup_globals ### */ -/* #### Code section: cleanup_module ### */ -/* #### Code section: main_method ### */ -/* #### Code section: utility_code_pragmas ### */ -#ifdef _MSC_VER -#pragma warning( push ) -/* Warning 4127: conditional expression is constant - * Cython uses constant conditional expressions to allow in inline functions to be optimized at - * compile-time, so this warning is not useful - */ -#pragma warning( disable : 4127 ) -#endif - - - -/* #### Code section: utility_code_def ### */ - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* PyErrExceptionMatches */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i= 0x030C00A6 - PyObject *current_exception = tstate->current_exception; - if (unlikely(!current_exception)) return 0; - exc_type = (PyObject*) Py_TYPE(current_exception); - if (exc_type == err) return 1; -#else - exc_type = tstate->curexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; -#endif - #if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(exc_type); - #endif - if (unlikely(PyTuple_Check(err))) { - result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - } else { - result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err); - } - #if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(exc_type); - #endif - return result; -} -#endif - -/* PyErrFetchRestore */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject *tmp_value; - assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value))); - if (value) { - #if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb)) - #endif - PyException_SetTraceback(value, tb); - } - tmp_value = tstate->current_exception; - tstate->current_exception = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#endif -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject* exc_value; - exc_value = tstate->current_exception; - tstate->current_exception = 0; - *value = exc_value; - *type = NULL; - *tb = NULL; - if (exc_value) { - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - #if CYTHON_COMPILING_IN_CPYTHON - *tb = ((PyBaseExceptionObject*) exc_value)->traceback; - Py_XINCREF(*tb); - #else - *tb = PyException_GetTraceback(exc_value); - #endif - } -#else - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#endif -} -#endif - -/* PyObjectGetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_getattr)) - return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); -#endif - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* PyObjectGetAttrStrNoError */ -#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1 -static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) - __Pyx_PyErr_Clear(); -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { - PyObject *result; -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - (void) PyObject_GetOptionalAttr(obj, attr_name, &result); - return result; -#else -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { - return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); - } -#endif - result = __Pyx_PyObject_GetAttrStr(obj, attr_name); - if (unlikely(!result)) { - __Pyx_PyObject_GetAttrStr_ClearAttributeError(); - } - return result; -#endif -} - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_b, name); - if (unlikely(!result) && !PyErr_Occurred()) { - PyErr_Format(PyExc_NameError, -#if PY_MAJOR_VERSION >= 3 - "name '%U' is not defined", name); -#else - "name '%.200s' is not defined", PyString_AS_STRING(name)); -#endif - } - return result; -} - -/* TupleAndListFromArray */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) { - PyObject *v; - Py_ssize_t i; - for (i = 0; i < length; i++) { - v = dest[i] = src[i]; - Py_INCREF(v); - } -} -static CYTHON_INLINE PyObject * -__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - Py_INCREF(__pyx_empty_tuple); - return __pyx_empty_tuple; - } - res = PyTuple_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n); - return res; -} -static CYTHON_INLINE PyObject * -__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - return PyList_New(0); - } - res = PyList_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n); - return res; -} -#endif - -/* BytesEquals */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else - if (s1 == s2) { - return (equals == Py_EQ); - } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { - const char *ps1, *ps2; - Py_ssize_t length = PyBytes_GET_SIZE(s1); - if (length != PyBytes_GET_SIZE(s2)) - return (equals == Py_NE); - ps1 = PyBytes_AS_STRING(s1); - ps2 = PyBytes_AS_STRING(s2); - if (ps1[0] != ps2[0]) { - return (equals == Py_NE); - } else if (length == 1) { - return (equals == Py_EQ); - } else { - int result; -#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) - Py_hash_t hash1, hash2; - hash1 = ((PyBytesObject*)s1)->ob_shash; - hash2 = ((PyBytesObject*)s2)->ob_shash; - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - return (equals == Py_NE); - } -#endif - result = memcmp(ps1, ps2, (size_t)length); - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { - return (equals == Py_NE); - } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { - return (equals == Py_NE); - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -#endif -} - -/* UnicodeEquals */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else -#if PY_MAJOR_VERSION < 3 - PyObject* owned_ref = NULL; -#endif - int s1_is_unicode, s2_is_unicode; - if (s1 == s2) { - goto return_eq; - } - s1_is_unicode = PyUnicode_CheckExact(s1); - s2_is_unicode = PyUnicode_CheckExact(s2); -#if PY_MAJOR_VERSION < 3 - if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { - owned_ref = PyUnicode_FromObject(s2); - if (unlikely(!owned_ref)) - return -1; - s2 = owned_ref; - s2_is_unicode = 1; - } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { - owned_ref = PyUnicode_FromObject(s1); - if (unlikely(!owned_ref)) - return -1; - s1 = owned_ref; - s1_is_unicode = 1; - } else if (((!s2_is_unicode) & (!s1_is_unicode))) { - return __Pyx_PyBytes_Equals(s1, s2, equals); - } -#endif - if (s1_is_unicode & s2_is_unicode) { - Py_ssize_t length; - int kind; - void *data1, *data2; - if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) - return -1; - length = __Pyx_PyUnicode_GET_LENGTH(s1); - if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { - goto return_ne; - } -#if CYTHON_USE_UNICODE_INTERNALS - { - Py_hash_t hash1, hash2; - #if CYTHON_PEP393_ENABLED - hash1 = ((PyASCIIObject*)s1)->hash; - hash2 = ((PyASCIIObject*)s2)->hash; - #else - hash1 = ((PyUnicodeObject*)s1)->hash; - hash2 = ((PyUnicodeObject*)s2)->hash; - #endif - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - goto return_ne; - } - } -#endif - kind = __Pyx_PyUnicode_KIND(s1); - if (kind != __Pyx_PyUnicode_KIND(s2)) { - goto return_ne; - } - data1 = __Pyx_PyUnicode_DATA(s1); - data2 = __Pyx_PyUnicode_DATA(s2); - if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { - goto return_ne; - } else if (length == 1) { - goto return_eq; - } else { - int result = memcmp(data1, data2, (size_t)(length * kind)); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & s2_is_unicode) { - goto return_ne; - } else if ((s2 == Py_None) & s1_is_unicode) { - goto return_ne; - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -return_eq: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ); -return_ne: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_NE); -#endif -} - -/* fastcall */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s) -{ - Py_ssize_t i, n = PyTuple_GET_SIZE(kwnames); - for (i = 0; i < n; i++) - { - if (s == PyTuple_GET_ITEM(kwnames, i)) return kwvalues[i]; - } - for (i = 0; i < n; i++) - { - int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ); - if (unlikely(eq != 0)) { - if (unlikely(eq < 0)) return NULL; - return kwvalues[i]; - } - } - return NULL; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 -CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) { - Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames); - PyObject *dict; - dict = PyDict_New(); - if (unlikely(!dict)) - return NULL; - for (i=0; i= 3 - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, - PyString_AsString(kw_name)); - #endif -} - -/* ParseKeywords */ -static int __Pyx_ParseOptionalKeywords( - PyObject *kwds, - PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject *key = 0, *value = 0; - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; - int kwds_is_tuple = CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds)); - while (1) { - Py_XDECREF(key); key = NULL; - Py_XDECREF(value); value = NULL; - if (kwds_is_tuple) { - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(kwds); -#else - size = PyTuple_Size(kwds); - if (size < 0) goto bad; -#endif - if (pos >= size) break; -#if CYTHON_AVOID_BORROWED_REFS - key = __Pyx_PySequence_ITEM(kwds, pos); - if (!key) goto bad; -#elif CYTHON_ASSUME_SAFE_MACROS - key = PyTuple_GET_ITEM(kwds, pos); -#else - key = PyTuple_GetItem(kwds, pos); - if (!key) goto bad; -#endif - value = kwvalues[pos]; - pos++; - } - else - { - if (!PyDict_Next(kwds, &pos, &key, &value)) break; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - } - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(value); - Py_DECREF(key); -#endif - key = NULL; - value = NULL; - continue; - } -#if !CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - Py_INCREF(value); - name = first_kw_arg; - #if PY_MAJOR_VERSION < 3 - if (likely(PyString_Check(key))) { - while (*name) { - if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) - && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - if ((**argname == key) || ( - (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) - && _PyString_Eq(**argname, key))) { - goto arg_passed_twice; - } - argname++; - } - } - } else - #endif - if (likely(PyUnicode_Check(key))) { - while (*name) { - int cmp = ( - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**name, key) - ); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - int cmp = (**argname == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**argname, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - argname++; - } - } - } else - goto invalid_keyword_type; - if (kwds2) { - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else { - goto invalid_keyword; - } - } - Py_XDECREF(key); - Py_XDECREF(value); - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -invalid_keyword: - #if PY_MAJOR_VERSION < 3 - PyErr_Format(PyExc_TypeError, - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - PyErr_Format(PyExc_TypeError, - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif -bad: - Py_XDECREF(key); - Py_XDECREF(value); - return -1; -} - -/* RaiseArgTupleInvalid */ -static void __Pyx_RaiseArgtupleInvalid( - const char* func_name, - int exact, - Py_ssize_t num_min, - Py_ssize_t num_max, - Py_ssize_t num_found) -{ - Py_ssize_t num_expected; - const char *more_or_less; - if (num_found < num_min) { - num_expected = num_min; - more_or_less = "at least"; - } else { - num_expected = num_max; - more_or_less = "at most"; - } - if (exact) { - more_or_less = "exactly"; - } - PyErr_Format(PyExc_TypeError, - "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", - func_name, more_or_less, num_expected, - (num_expected == 1) ? "" : "s", num_found); -} - -/* PyDictVersioning */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ -#if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if !CYTHON_AVOID_BORROWED_REFS -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000 - result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } else if (unlikely(PyErr_Occurred())) { - return NULL; - } -#elif CYTHON_COMPILING_IN_LIMITED_API - if (unlikely(!__pyx_m)) { - return NULL; - } - result = PyObject_GetAttr(__pyx_m, name); - if (likely(result)) { - return result; - } -#else - result = PyDict_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } -#endif -#else - result = PyObject_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyErr_Clear(); -#endif - return __Pyx_GetBuiltinName(name); -} - -/* PyFunctionFastCall */ -#if CYTHON_FAST_PYCALL && !CYTHON_VECTORCALL -static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, - PyObject *globals) { - PyFrameObject *f; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject **fastlocals; - Py_ssize_t i; - PyObject *result; - assert(globals != NULL); - /* XXX Perhaps we should create a specialized - PyFrame_New() that doesn't take locals, but does - take builtins without sanity checking them. - */ - assert(tstate != NULL); - f = PyFrame_New(tstate, co, globals, NULL); - if (f == NULL) { - return NULL; - } - fastlocals = __Pyx_PyFrame_GetLocalsplus(f); - for (i = 0; i < na; i++) { - Py_INCREF(*args); - fastlocals[i] = *args++; - } - result = PyEval_EvalFrameEx(f,0); - ++tstate->recursion_depth; - Py_DECREF(f); - --tstate->recursion_depth; - return result; -} -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { - PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); - PyObject *globals = PyFunction_GET_GLOBALS(func); - PyObject *argdefs = PyFunction_GET_DEFAULTS(func); - PyObject *closure; -#if PY_MAJOR_VERSION >= 3 - PyObject *kwdefs; -#endif - PyObject *kwtuple, **k; - PyObject **d; - Py_ssize_t nd; - Py_ssize_t nk; - PyObject *result; - assert(kwargs == NULL || PyDict_Check(kwargs)); - nk = kwargs ? PyDict_Size(kwargs) : 0; - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) { - return NULL; - } - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) { - return NULL; - } - #endif - if ( -#if PY_MAJOR_VERSION >= 3 - co->co_kwonlyargcount == 0 && -#endif - likely(kwargs == NULL || nk == 0) && - co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { - if (argdefs == NULL && co->co_argcount == nargs) { - result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); - goto done; - } - else if (nargs == 0 && argdefs != NULL - && co->co_argcount == Py_SIZE(argdefs)) { - /* function called with no arguments, but all parameters have - a default value: use default values as arguments .*/ - args = &PyTuple_GET_ITEM(argdefs, 0); - result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); - goto done; - } - } - if (kwargs != NULL) { - Py_ssize_t pos, i; - kwtuple = PyTuple_New(2 * nk); - if (kwtuple == NULL) { - result = NULL; - goto done; - } - k = &PyTuple_GET_ITEM(kwtuple, 0); - pos = i = 0; - while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { - Py_INCREF(k[i]); - Py_INCREF(k[i+1]); - i += 2; - } - nk = i / 2; - } - else { - kwtuple = NULL; - k = NULL; - } - closure = PyFunction_GET_CLOSURE(func); -#if PY_MAJOR_VERSION >= 3 - kwdefs = PyFunction_GET_KW_DEFAULTS(func); -#endif - if (argdefs != NULL) { - d = &PyTuple_GET_ITEM(argdefs, 0); - nd = Py_SIZE(argdefs); - } - else { - d = NULL; - nd = 0; - } -#if PY_MAJOR_VERSION >= 3 - result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, kwdefs, closure); -#else - result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, closure); -#endif - Py_XDECREF(kwtuple); -done: - Py_LeaveRecursiveCall(); - return result; -} -#endif - -/* PyObjectCall */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = Py_TYPE(func)->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallMethO */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func); - self = __Pyx_CyOrPyCFunction_GET_SELF(func); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectFastCall */ -#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API -static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) { - PyObject *argstuple; - PyObject *result = 0; - size_t i; - argstuple = PyTuple_New((Py_ssize_t)nargs); - if (unlikely(!argstuple)) return NULL; - for (i = 0; i < nargs; i++) { - Py_INCREF(args[i]); - if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad; - } - result = __Pyx_PyObject_Call(func, argstuple, kwargs); - bad: - Py_DECREF(argstuple); - return result; -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) { - Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs); -#if CYTHON_COMPILING_IN_CPYTHON - if (nargs == 0 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS)) - return __Pyx_PyObject_CallMethO(func, NULL); - } - else if (nargs == 1 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O)) - return __Pyx_PyObject_CallMethO(func, args[0]); - } -#endif - #if PY_VERSION_HEX < 0x030800B1 - #if CYTHON_FAST_PYCCALL - if (PyCFunction_Check(func)) { - if (kwargs) { - return _PyCFunction_FastCallDict(func, args, nargs, kwargs); - } else { - return _PyCFunction_FastCallKeywords(func, args, nargs, NULL); - } - } - #if PY_VERSION_HEX >= 0x030700A1 - if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) { - return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL); - } - #endif - #endif - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs); - } - #endif - #endif - if (kwargs == NULL) { - #if CYTHON_VECTORCALL - #if PY_VERSION_HEX < 0x03090000 - vectorcallfunc f = _PyVectorcall_Function(func); - #else - vectorcallfunc f = PyVectorcall_Function(func); - #endif - if (f) { - return f(func, args, (size_t)nargs, NULL); - } - #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL - if (__Pyx_CyFunction_CheckExact(func)) { - __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func); - if (f) return f(func, args, (size_t)nargs, NULL); - } - #endif - } - if (nargs == 0) { - return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs); - } - #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API - return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs); - #else - return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs); - #endif -} - -/* FixUpExtensionType */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) { -#if PY_VERSION_HEX > 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - CYTHON_UNUSED_VAR(spec); - CYTHON_UNUSED_VAR(type); -#else - const PyType_Slot *slot = spec->slots; - while (slot && slot->slot && slot->slot != Py_tp_members) - slot++; - if (slot && slot->slot == Py_tp_members) { - int changed = 0; -#if !(PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON) - const -#endif - PyMemberDef *memb = (PyMemberDef*) slot->pfunc; - while (memb && memb->name) { - if (memb->name[0] == '_' && memb->name[1] == '_') { -#if PY_VERSION_HEX < 0x030900b1 - if (strcmp(memb->name, "__weaklistoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_weaklistoffset = memb->offset; - changed = 1; - } - else if (strcmp(memb->name, "__dictoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_dictoffset = memb->offset; - changed = 1; - } -#if CYTHON_METH_FASTCALL - else if (strcmp(memb->name, "__vectorcalloffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); -#if PY_VERSION_HEX >= 0x030800b4 - type->tp_vectorcall_offset = memb->offset; -#else - type->tp_print = (printfunc) memb->offset; -#endif - changed = 1; - } -#endif -#else - if ((0)); -#endif -#if PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON - else if (strcmp(memb->name, "__module__") == 0) { - PyObject *descr; - assert(memb->type == T_OBJECT); - assert(memb->flags == 0 || memb->flags == READONLY); - descr = PyDescr_NewMember(type, memb); - if (unlikely(!descr)) - return -1; - if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) { - Py_DECREF(descr); - return -1; - } - Py_DECREF(descr); - changed = 1; - } -#endif - } - memb++; - } - if (changed) - PyType_Modified(type); - } -#endif - return 0; -} -#endif - -/* FetchSharedCythonModule */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void) { - return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME); -} - -/* FetchCommonType */ -static int __Pyx_VerifyCachedType(PyObject *cached_type, - const char *name, - Py_ssize_t basicsize, - Py_ssize_t expected_basicsize) { - if (!PyType_Check(cached_type)) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s is not a type object", name); - return -1; - } - if (basicsize != expected_basicsize) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s has the wrong size, try recompiling", - name); - return -1; - } - return 0; -} -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { - PyObject* abi_module; - const char* object_name; - PyTypeObject *cached_type = NULL; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - object_name = strrchr(type->tp_name, '.'); - object_name = object_name ? object_name+1 : type->tp_name; - cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - if (__Pyx_VerifyCachedType( - (PyObject *)cached_type, - object_name, - cached_type->tp_basicsize, - type->tp_basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - if (PyType_Ready(type) < 0) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0) - goto bad; - Py_INCREF(type); - cached_type = type; -done: - Py_DECREF(abi_module); - return cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#else -static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) { - PyObject *abi_module, *cached_type = NULL; - const char* object_name = strrchr(spec->name, '.'); - object_name = object_name ? object_name+1 : spec->name; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - cached_type = PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - Py_ssize_t basicsize; -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *py_basicsize; - py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__"); - if (unlikely(!py_basicsize)) goto bad; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = 0; - if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; -#else - basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1; -#endif - if (__Pyx_VerifyCachedType( - cached_type, - object_name, - basicsize, - spec->basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - CYTHON_UNUSED_VAR(module); - cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases); - if (unlikely(!cached_type)) goto bad; - if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad; -done: - Py_DECREF(abi_module); - assert(cached_type == NULL || PyType_Check(cached_type)); - return (PyTypeObject *) cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#endif - -/* RaiseException */ -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - __Pyx_PyThreadState_declare - CYTHON_UNUSED_VAR(cause); - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_PyThreadState_assign - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; -} -#else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { - #if PY_VERSION_HEX >= 0x030C00A6 - PyException_SetTraceback(value, tb); - #elif CYTHON_FAST_THREAD_STATE - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} -#endif - -/* GetTopmostException */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - PyObject *exc_value = exc_info->exc_value; - if (exc_value == NULL || exc_value == Py_None) { - *value = NULL; - *type = NULL; - *tb = NULL; - } else { - *value = exc_value; - Py_INCREF(*value); - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - *tb = PyException_GetTraceback(exc_value); - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #endif -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - PyObject *tmp_value = exc_info->exc_value; - exc_info->exc_value = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); - #else - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); - #endif -} -#endif - -/* SwapException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_value = exc_info->exc_value; - exc_info->exc_value = *value; - if (tmp_value == NULL || tmp_value == Py_None) { - Py_XDECREF(tmp_value); - tmp_value = NULL; - tmp_type = NULL; - tmp_tb = NULL; - } else { - tmp_type = (PyObject*) Py_TYPE(tmp_value); - Py_INCREF(tmp_type); - #if CYTHON_COMPILING_IN_CPYTHON - tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback; - Py_XINCREF(tmp_tb); - #else - tmp_tb = PyException_GetTraceback(tmp_value); - #endif - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = *type; - exc_info->exc_value = *value; - exc_info->exc_traceback = *tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = *type; - tstate->exc_value = *value; - tstate->exc_traceback = *tb; - #endif - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); - PyErr_SetExcInfo(*type, *value, *tb); - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#endif - -/* PyObjectCall2Args */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args[3] = {NULL, arg1, arg2}; - return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectCallOneArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *args[2] = {NULL, arg}; - return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectGetMethod */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { - PyObject *attr; -#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP - __Pyx_TypeName type_name; - PyTypeObject *tp = Py_TYPE(obj); - PyObject *descr; - descrgetfunc f = NULL; - PyObject **dictptr, *dict; - int meth_found = 0; - assert (*method == NULL); - if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; - } - if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { - return 0; - } - descr = _PyType_Lookup(tp, name); - if (likely(descr != NULL)) { - Py_INCREF(descr); -#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR - if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR)) -#elif PY_MAJOR_VERSION >= 3 - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type))) - #endif -#else - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr))) - #endif -#endif - { - meth_found = 1; - } else { - f = Py_TYPE(descr)->tp_descr_get; - if (f != NULL && PyDescr_IsData(descr)) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - } - } - dictptr = _PyObject_GetDictPtr(obj); - if (dictptr != NULL && (dict = *dictptr) != NULL) { - Py_INCREF(dict); - attr = __Pyx_PyDict_GetItemStr(dict, name); - if (attr != NULL) { - Py_INCREF(attr); - Py_DECREF(dict); - Py_XDECREF(descr); - goto try_unpack; - } - Py_DECREF(dict); - } - if (meth_found) { - *method = descr; - return 1; - } - if (f != NULL) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - if (likely(descr != NULL)) { - *method = descr; - return 0; - } - type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return 0; -#else - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; -#endif -try_unpack: -#if CYTHON_UNPACK_METHODS - if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { - PyObject *function = PyMethod_GET_FUNCTION(attr); - Py_INCREF(function); - Py_DECREF(attr); - *method = function; - return 1; - } -#endif - *method = attr; - return 0; -} - -/* PyObjectCallMethod1 */ -#if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2) -static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { - PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); - Py_DECREF(method); - return result; -} -#endif -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { -#if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2 - PyObject *args[2] = {obj, arg}; - (void) __Pyx_PyObject_GetMethod; - (void) __Pyx_PyObject_CallOneArg; - (void) __Pyx_PyObject_Call2Args; - return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); -#else - PyObject *method = NULL, *result; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_Call2Args(method, obj, arg); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) return NULL; - return __Pyx__PyObject_CallMethod1(method, arg); -#endif -} - -/* PyObjectCallNoArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { - PyObject *arg[2] = {NULL, NULL}; - return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* CoroutineBase */ -#include -#if PY_VERSION_HEX >= 0x030b00a6 && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom) -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) { - PyObject *et, *ev, *tb; - PyObject *value = NULL; - CYTHON_UNUSED_VAR(__pyx_tstate); - __Pyx_ErrFetch(&et, &ev, &tb); - if (!et) { - Py_XDECREF(tb); - Py_XDECREF(ev); - Py_INCREF(Py_None); - *pvalue = Py_None; - return 0; - } - if (likely(et == PyExc_StopIteration)) { - if (!ev) { - Py_INCREF(Py_None); - value = Py_None; - } -#if PY_VERSION_HEX >= 0x030300A0 - else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) { - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); - } -#endif - else if (unlikely(PyTuple_Check(ev))) { - if (PyTuple_GET_SIZE(ev) >= 1) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - value = PyTuple_GET_ITEM(ev, 0); - Py_INCREF(value); -#else - value = PySequence_ITEM(ev, 0); -#endif - } else { - Py_INCREF(Py_None); - value = Py_None; - } - Py_DECREF(ev); - } - else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) { - value = ev; - } - if (likely(value)) { - Py_XDECREF(tb); - Py_DECREF(et); - *pvalue = value; - return 0; - } - } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - PyErr_NormalizeException(&et, &ev, &tb); - if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - Py_XDECREF(tb); - Py_DECREF(et); -#if PY_VERSION_HEX >= 0x030300A0 - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); -#else - { - PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args); - Py_DECREF(ev); - if (likely(args)) { - value = PySequence_GetItem(args, 0); - Py_DECREF(args); - } - if (unlikely(!value)) { - __Pyx_ErrRestore(NULL, NULL, NULL); - Py_INCREF(Py_None); - value = Py_None; - } - } -#endif - *pvalue = value; - return 0; -} -static CYTHON_INLINE -void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_CLEAR(exc_state->exc_value); -#else - PyObject *t, *v, *tb; - t = exc_state->exc_type; - v = exc_state->exc_value; - tb = exc_state->exc_traceback; - exc_state->exc_type = NULL; - exc_state->exc_value = NULL; - exc_state->exc_traceback = NULL; - Py_XDECREF(t); - Py_XDECREF(v); - Py_XDECREF(tb); -#endif -} -#define __Pyx_Coroutine_AlreadyRunningError(gen) (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check((PyObject*)gen)) { - msg = "coroutine already executing"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) { - msg = "async generator already executing"; - #endif - } else { - msg = "generator already executing"; - } - PyErr_SetString(PyExc_ValueError, msg); -} -#define __Pyx_Coroutine_NotStartedError(gen) (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_NotStartedError(PyObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(gen)) { - msg = "can't send non-None value to a just-started coroutine"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(gen)) { - msg = "can't send non-None value to a just-started async generator"; - #endif - } else { - msg = "can't send non-None value to a just-started generator"; - } - PyErr_SetString(PyExc_TypeError, msg); -} -#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing) (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) { - CYTHON_MAYBE_UNUSED_VAR(gen); - CYTHON_MAYBE_UNUSED_VAR(closing); - #ifdef __Pyx_Coroutine_USED - if (!closing && __Pyx_Coroutine_Check(gen)) { - PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine"); - } else - #endif - if (value) { - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration); - else - #endif - PyErr_SetNone(PyExc_StopIteration); - } -} -static -PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) { - __Pyx_PyThreadState_declare - PyThreadState *tstate; - __Pyx_ExcInfoStruct *exc_state; - PyObject *retval; - assert(!self->is_running); - if (unlikely(self->resume_label == 0)) { - if (unlikely(value && value != Py_None)) { - return __Pyx_Coroutine_NotStartedError((PyObject*)self); - } - } - if (unlikely(self->resume_label == -1)) { - return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing); - } -#if CYTHON_FAST_THREAD_STATE - __Pyx_PyThreadState_assign - tstate = __pyx_tstate; -#else - tstate = __Pyx_PyThreadState_Current; -#endif - exc_state = &self->gi_exc_state; - if (exc_state->exc_value) { - #if CYTHON_COMPILING_IN_PYPY - #else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #elif PY_VERSION_HEX >= 0x030B00a4 - exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback; - #else - exc_tb = exc_state->exc_traceback; - #endif - if (exc_tb) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - assert(f->f_back == NULL); - #if PY_VERSION_HEX >= 0x030B00A1 - f->f_back = PyThreadState_GetFrame(tstate); - #else - Py_XINCREF(tstate->frame); - f->f_back = tstate->frame; - #endif - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - Py_DECREF(exc_tb); - #endif - } - #endif - } -#if CYTHON_USE_EXC_INFO_STACK - exc_state->previous_item = tstate->exc_info; - tstate->exc_info = exc_state; -#else - if (exc_state->exc_type) { - __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } else { - __Pyx_Coroutine_ExceptionClear(exc_state); - __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } -#endif - self->is_running = 1; - retval = self->body(self, tstate, value); - self->is_running = 0; -#if CYTHON_USE_EXC_INFO_STACK - exc_state = &self->gi_exc_state; - tstate->exc_info = exc_state->previous_item; - exc_state->previous_item = NULL; - __Pyx_Coroutine_ResetFrameBackpointer(exc_state); -#endif - return retval; -} -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) { -#if CYTHON_COMPILING_IN_PYPY - CYTHON_UNUSED_VAR(exc_state); -#else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 - if (!exc_state->exc_value) return; - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #else - exc_tb = exc_state->exc_traceback; - #endif - if (likely(exc_tb)) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - Py_CLEAR(f->f_back); - #if PY_VERSION_HEX >= 0x030B00a4 - Py_DECREF(exc_tb); - #endif - } -#endif -} -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_MethodReturn(PyObject* gen, PyObject *retval) { - CYTHON_MAYBE_UNUSED_VAR(gen); - if (unlikely(!retval)) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (!__Pyx_PyErr_Occurred()) { - PyObject *exc = PyExc_StopIteration; - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - exc = __Pyx_PyExc_StopAsyncIteration; - #endif - __Pyx_PyErr_SetNone(exc); - } - } - return retval; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) -static CYTHON_INLINE -PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) { -#if PY_VERSION_HEX <= 0x030A00A1 - return _PyGen_Send(gen, arg); -#else - PyObject *result; - if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) { - if (PyAsyncGen_CheckExact(gen)) { - assert(result == Py_None); - PyErr_SetNone(PyExc_StopAsyncIteration); - } - else if (result == Py_None) { - PyErr_SetNone(PyExc_StopIteration); - } - else { -#if PY_VERSION_HEX < 0x030d00A1 - _PyGen_SetStopIterationValue(result); -#else - if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) { - PyErr_SetObject(PyExc_StopIteration, result); - } else { - PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result); - if (likely(exc != NULL)) { - PyErr_SetObject(PyExc_StopIteration, exc); - Py_DECREF(exc); - } - } -#endif - } - Py_DECREF(result); - result = NULL; - } - return result; -#endif -} -#endif -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) { - PyObject *ret; - PyObject *val = NULL; - __Pyx_Coroutine_Undelegate(gen); - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val); - ret = __Pyx_Coroutine_SendEx(gen, val, 0); - Py_XDECREF(val); - return ret; -} -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) { - PyObject *retval; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - ret = __Pyx_async_gen_asend_send(yf, value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyCoro_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - { - if (value == Py_None) - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - else - ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value); - } - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - retval = __Pyx_Coroutine_FinishDelegation(gen); - } else { - retval = __Pyx_Coroutine_SendEx(gen, value, 0); - } - return __Pyx_Coroutine_MethodReturn(self, retval); -} -static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) { - PyObject *retval = NULL; - int err = 0; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - if (__Pyx_CoroutineAwait_CheckExact(yf)) { - retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - retval = __Pyx_async_gen_asend_close(yf, NULL); - } else - if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) { - retval = __Pyx_async_gen_athrow_close(yf, NULL); - } else - #endif - { - PyObject *meth; - gen->is_running = 1; - meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_close); - if (unlikely(!meth)) { - if (unlikely(PyErr_Occurred())) { - PyErr_WriteUnraisable(yf); - } - } else { - retval = __Pyx_PyObject_CallNoArg(meth); - Py_DECREF(meth); - if (unlikely(!retval)) - err = -1; - } - gen->is_running = 0; - } - Py_XDECREF(retval); - return err; -} -static PyObject *__Pyx_Generator_Next(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Generator_Next(yf); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, Py_None); - } else - #endif - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - return __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_SendEx(gen, Py_None, 0); -} -static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self); -} -static PyObject *__Pyx_Coroutine_Close(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *retval, *raised_exception; - PyObject *yf = gen->yieldfrom; - int err = 0; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - Py_INCREF(yf); - err = __Pyx_Coroutine_CloseIter(gen, yf); - __Pyx_Coroutine_Undelegate(gen); - Py_DECREF(yf); - } - if (err == 0) - PyErr_SetNone(PyExc_GeneratorExit); - retval = __Pyx_Coroutine_SendEx(gen, NULL, 1); - if (unlikely(retval)) { - const char *msg; - Py_DECREF(retval); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(self)) { - msg = "coroutine ignored GeneratorExit"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(self)) { -#if PY_VERSION_HEX < 0x03060000 - msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)"; -#else - msg = "async generator ignored GeneratorExit"; -#endif - #endif - } else { - msg = "generator ignored GeneratorExit"; - } - PyErr_SetString(PyExc_RuntimeError, msg); - return NULL; - } - raised_exception = PyErr_Occurred(); - if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) { - if (raised_exception) PyErr_Clear(); - Py_INCREF(Py_None); - return Py_None; - } - return NULL; -} -static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb, - PyObject *args, int close_on_genexit) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - Py_INCREF(yf); - if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) { - int err = __Pyx_Coroutine_CloseIter(gen, yf); - Py_DECREF(yf); - __Pyx_Coroutine_Undelegate(gen); - if (err < 0) - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); - goto throw_here; - } - gen->is_running = 1; - if (0 - #ifdef __Pyx_Generator_USED - || __Pyx_Generator_CheckExact(yf) - #endif - #ifdef __Pyx_Coroutine_USED - || __Pyx_Coroutine_Check(yf) - #endif - ) { - ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit); - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_CoroutineAwait_CheckExact(yf)) { - ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit); - #endif - } else { - PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_throw); - if (unlikely(!meth)) { - Py_DECREF(yf); - if (unlikely(PyErr_Occurred())) { - gen->is_running = 0; - return NULL; - } - __Pyx_Coroutine_Undelegate(gen); - gen->is_running = 0; - goto throw_here; - } - if (likely(args)) { - ret = __Pyx_PyObject_Call(meth, args, NULL); - } else { - PyObject *cargs[4] = {NULL, typ, val, tb}; - ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); - } - Py_DECREF(meth); - } - gen->is_running = 0; - Py_DECREF(yf); - if (!ret) { - ret = __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_MethodReturn(self, ret); - } -throw_here: - __Pyx_Raise(typ, val, tb, NULL); - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); -} -static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) { - PyObject *typ; - PyObject *val = NULL; - PyObject *tb = NULL; - if (unlikely(!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb))) - return NULL; - return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1); -} -static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_VISIT(exc_state->exc_value); -#else - Py_VISIT(exc_state->exc_type); - Py_VISIT(exc_state->exc_value); - Py_VISIT(exc_state->exc_traceback); -#endif - return 0; -} -static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) { - Py_VISIT(gen->closure); - Py_VISIT(gen->classobj); - Py_VISIT(gen->yieldfrom); - return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg); -} -static int __Pyx_Coroutine_clear(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - Py_CLEAR(gen->closure); - Py_CLEAR(gen->classobj); - Py_CLEAR(gen->yieldfrom); - __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer); - } -#endif - Py_CLEAR(gen->gi_code); - Py_CLEAR(gen->gi_frame); - Py_CLEAR(gen->gi_name); - Py_CLEAR(gen->gi_qualname); - Py_CLEAR(gen->gi_modulename); - return 0; -} -static void __Pyx_Coroutine_dealloc(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject_GC_UnTrack(gen); - if (gen->gi_weakreflist != NULL) - PyObject_ClearWeakRefs(self); - if (gen->resume_label >= 0) { - PyObject_GC_Track(self); -#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE - if (unlikely(PyObject_CallFinalizerFromDealloc(self))) -#else - Py_TYPE(gen)->tp_del(self); - if (unlikely(Py_REFCNT(self) > 0)) -#endif - { - return; - } - PyObject_GC_UnTrack(self); - } -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - /* We have to handle this case for asynchronous generators - right here, because this code has to be between UNTRACK - and GC_Del. */ - Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer); - } -#endif - __Pyx_Coroutine_clear(self); - __Pyx_PyHeapTypeObject_GC_Del(gen); -} -static void __Pyx_Coroutine_del(PyObject *self) { - PyObject *error_type, *error_value, *error_traceback; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - __Pyx_PyThreadState_declare - if (gen->resume_label < 0) { - return; - } -#if !CYTHON_USE_TP_FINALIZE - assert(self->ob_refcnt == 0); - __Pyx_SET_REFCNT(self, 1); -#endif - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&error_type, &error_value, &error_traceback); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self; - PyObject *finalizer = agen->ag_finalizer; - if (finalizer && !agen->ag_closed) { - PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self); - if (unlikely(!res)) { - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); - return; - } - } -#endif - if (unlikely(gen->resume_label == 0 && !error_value)) { -#ifdef __Pyx_Coroutine_USED -#ifdef __Pyx_Generator_USED - if (!__Pyx_Generator_CheckExact(self)) -#endif - { - PyObject_GC_UnTrack(self); -#if PY_MAJOR_VERSION >= 3 || defined(PyErr_WarnFormat) - if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0)) - PyErr_WriteUnraisable(self); -#else - {PyObject *msg; - char *cmsg; - #if CYTHON_COMPILING_IN_PYPY - msg = NULL; - cmsg = (char*) "coroutine was never awaited"; - #else - char *cname; - PyObject *qualname; - qualname = gen->gi_qualname; - cname = PyString_AS_STRING(qualname); - msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname); - if (unlikely(!msg)) { - PyErr_Clear(); - cmsg = (char*) "coroutine was never awaited"; - } else { - cmsg = PyString_AS_STRING(msg); - } - #endif - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0)) - PyErr_WriteUnraisable(self); - Py_XDECREF(msg);} -#endif - PyObject_GC_Track(self); - } -#endif - } else { - PyObject *res = __Pyx_Coroutine_Close(self); - if (unlikely(!res)) { - if (PyErr_Occurred()) - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); -#if !CYTHON_USE_TP_FINALIZE - assert(Py_REFCNT(self) > 0); - if (likely(--self->ob_refcnt == 0)) { - return; - } - { - Py_ssize_t refcnt = Py_REFCNT(self); - _Py_NewReference(self); - __Pyx_SET_REFCNT(self, refcnt); - } -#if CYTHON_COMPILING_IN_CPYTHON - assert(PyType_IS_GC(Py_TYPE(self)) && - _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED); - _Py_DEC_REFTOTAL; -#endif -#ifdef COUNT_ALLOCS - --Py_TYPE(self)->tp_frees; - --Py_TYPE(self)->tp_allocs; -#endif -#endif -} -static PyObject * -__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_name; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_name, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_qualname; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_qualname, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context) -{ - PyObject *frame = self->gi_frame; - CYTHON_UNUSED_VAR(context); - if (!frame) { - if (unlikely(!self->gi_code)) { - Py_RETURN_NONE; - } - frame = (PyObject *) PyFrame_New( - PyThreadState_Get(), /*PyThreadState *tstate,*/ - (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (unlikely(!frame)) - return NULL; - self->gi_frame = frame; - } - Py_INCREF(frame); - return frame; -} -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type); - if (unlikely(!gen)) - return NULL; - return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name); -} -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - gen->body = body; - gen->closure = closure; - Py_XINCREF(closure); - gen->is_running = 0; - gen->resume_label = 0; - gen->classobj = NULL; - gen->yieldfrom = NULL; - #if PY_VERSION_HEX >= 0x030B00a4 - gen->gi_exc_state.exc_value = NULL; - #else - gen->gi_exc_state.exc_type = NULL; - gen->gi_exc_state.exc_value = NULL; - gen->gi_exc_state.exc_traceback = NULL; - #endif -#if CYTHON_USE_EXC_INFO_STACK - gen->gi_exc_state.previous_item = NULL; -#endif - gen->gi_weakreflist = NULL; - Py_XINCREF(qualname); - gen->gi_qualname = qualname; - Py_XINCREF(name); - gen->gi_name = name; - Py_XINCREF(module_name); - gen->gi_modulename = module_name; - Py_XINCREF(code); - gen->gi_code = code; - gen->gi_frame = NULL; - PyObject_GC_Track(gen); - return gen; -} - -/* PyObject_GenericGetAttrNoDict */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { - __Pyx_TypeName type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, attr_name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(attr_name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { - PyObject *descr; - PyTypeObject *tp = Py_TYPE(obj); - if (unlikely(!PyString_Check(attr_name))) { - return PyObject_GenericGetAttr(obj, attr_name); - } - assert(!tp->tp_dictoffset); - descr = _PyType_Lookup(tp, attr_name); - if (unlikely(!descr)) { - return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); - } - Py_INCREF(descr); - #if PY_MAJOR_VERSION < 3 - if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) - #endif - { - descrgetfunc f = Py_TYPE(descr)->tp_descr_get; - if (unlikely(f)) { - PyObject *res = f(descr, obj, (PyObject *)tp); - Py_DECREF(descr); - return res; - } - } - return descr; -} -#endif - -/* PatchModuleWithCoroutine */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - int result; - PyObject *globals, *result_obj; - globals = PyDict_New(); if (unlikely(!globals)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_coroutine_type", - #ifdef __Pyx_Coroutine_USED - (PyObject*)__pyx_CoroutineType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_generator_type", - #ifdef __Pyx_Generator_USED - (PyObject*)__pyx_GeneratorType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore; - result_obj = PyRun_String(py_code, Py_file_input, globals, globals); - if (unlikely(!result_obj)) goto ignore; - Py_DECREF(result_obj); - Py_DECREF(globals); - return module; -ignore: - Py_XDECREF(globals); - PyErr_WriteUnraisable(module); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) { - Py_DECREF(module); - module = NULL; - } -#else - py_code++; -#endif - return module; -} - -/* PatchGeneratorABC */ -#ifndef CYTHON_REGISTER_ABCS -#define CYTHON_REGISTER_ABCS 1 -#endif -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) -static PyObject* __Pyx_patch_abc_module(PyObject *module); -static PyObject* __Pyx_patch_abc_module(PyObject *module) { - module = __Pyx_Coroutine_patch_module( - module, "" -"if _cython_generator_type is not None:\n" -" try: Generator = _module.Generator\n" -" except AttributeError: pass\n" -" else: Generator.register(_cython_generator_type)\n" -"if _cython_coroutine_type is not None:\n" -" try: Coroutine = _module.Coroutine\n" -" except AttributeError: pass\n" -" else: Coroutine.register(_cython_coroutine_type)\n" - ); - return module; -} -#endif -static int __Pyx_patch_abc(void) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - static int abc_patched = 0; - if (CYTHON_REGISTER_ABCS && !abc_patched) { - PyObject *module; - module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections"); - if (unlikely(!module)) { - PyErr_WriteUnraisable(NULL); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, - ((PY_MAJOR_VERSION >= 3) ? - "Cython module failed to register with collections.abc module" : - "Cython module failed to register with collections module"), 1) < 0)) { - return -1; - } - } else { - module = __Pyx_patch_abc_module(module); - abc_patched = 1; - if (unlikely(!module)) - return -1; - Py_DECREF(module); - } - module = PyImport_ImportModule("backports_abc"); - if (module) { - module = __Pyx_patch_abc_module(module); - Py_XDECREF(module); - } - if (!module) { - PyErr_Clear(); - } - } -#else - if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL); -#endif - return 0; -} - -/* Coroutine */ -static void __Pyx_CoroutineAwait_dealloc(PyObject *self) { - PyObject_GC_UnTrack(self); - Py_CLEAR(((__pyx_CoroutineAwaitObject*)self)->coroutine); - __Pyx_PyHeapTypeObject_GC_Del(self); -} -static int __Pyx_CoroutineAwait_traverse(__pyx_CoroutineAwaitObject *self, visitproc visit, void *arg) { - Py_VISIT(self->coroutine); - return 0; -} -static int __Pyx_CoroutineAwait_clear(__pyx_CoroutineAwaitObject *self) { - Py_CLEAR(self->coroutine); - return 0; -} -static PyObject *__Pyx_CoroutineAwait_Next(__pyx_CoroutineAwaitObject *self) { - return __Pyx_Generator_Next(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_Send(__pyx_CoroutineAwaitObject *self, PyObject *value) { - return __Pyx_Coroutine_Send(self->coroutine, value); -} -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args) { - return __Pyx_Coroutine_Throw(self->coroutine, args); -} -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_self(PyObject *self) { - Py_INCREF(self); - return self; -} -#if !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_CoroutineAwait_no_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { - CYTHON_UNUSED_VAR(type); - CYTHON_UNUSED_VAR(args); - CYTHON_UNUSED_VAR(kwargs); - PyErr_SetString(PyExc_TypeError, "cannot instantiate type, use 'await coroutine' instead"); - return NULL; -} -#endif -static PyObject *__Pyx_CoroutineAwait_reduce_ex(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - PyErr_Format(PyExc_TypeError, "cannot pickle '%.200s' object", - Py_TYPE(self)->tp_name); - return NULL; -} -static PyMethodDef __pyx_CoroutineAwait_methods[] = { - {"send", (PyCFunction) __Pyx_CoroutineAwait_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_CoroutineAwait_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_CoroutineAwait_Close, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, - {"__reduce_ex__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_O, 0}, - {"__reduce__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_NOARGS, 0}, - {0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineAwaitType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CoroutineAwait_dealloc}, - {Py_tp_traverse, (void *)__Pyx_CoroutineAwait_traverse}, - {Py_tp_clear, (void *)__Pyx_CoroutineAwait_clear}, -#if !CYTHON_COMPILING_IN_PYPY - {Py_tp_new, (void *)__Pyx_CoroutineAwait_no_new}, -#endif - {Py_tp_methods, (void *)__pyx_CoroutineAwait_methods}, - {Py_tp_iter, (void *)__Pyx_CoroutineAwait_self}, - {Py_tp_iternext, (void *)__Pyx_CoroutineAwait_Next}, - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineAwaitType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - __pyx_CoroutineAwaitType_slots -}; -#else -static PyTypeObject __pyx_CoroutineAwaitType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - (destructor) __Pyx_CoroutineAwait_dealloc, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - PyDoc_STR("A wrapper object implementing __await__ for coroutines."), - (traverseproc) __Pyx_CoroutineAwait_traverse, - (inquiry) __Pyx_CoroutineAwait_clear, - 0, - 0, - __Pyx_CoroutineAwait_self, - (iternextfunc) __Pyx_CoroutineAwait_Next, - __pyx_CoroutineAwait_methods, - 0 , - 0 , - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if !CYTHON_COMPILING_IN_PYPY - __Pyx_CoroutineAwait_no_new, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -#if PY_VERSION_HEX < 0x030500B1 || defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static CYTHON_INLINE PyObject *__Pyx__Coroutine_await(PyObject *coroutine) { - __pyx_CoroutineAwaitObject *await = PyObject_GC_New(__pyx_CoroutineAwaitObject, __pyx_CoroutineAwaitType); - if (unlikely(!await)) return NULL; - Py_INCREF(coroutine); - await->coroutine = coroutine; - PyObject_GC_Track(await); - return (PyObject*)await; -} -#endif -#if PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_await_method(PyObject *coroutine, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static PyObject *__Pyx_Coroutine_await(PyObject *coroutine) { - if (unlikely(!coroutine || !__Pyx_Coroutine_Check(coroutine))) { - PyErr_SetString(PyExc_TypeError, "invalid input, expected coroutine"); - return NULL; - } - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_compare(PyObject *obj, PyObject *other, int op) { - PyObject* result; - switch (op) { - case Py_EQ: result = (other == obj) ? Py_True : Py_False; break; - case Py_NE: result = (other != obj) ? Py_True : Py_False; break; - default: - result = Py_NotImplemented; - } - Py_INCREF(result); - return result; -} -#endif -static PyMethodDef __pyx_Coroutine_methods[] = { - {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, -#if PY_VERSION_HEX < 0x030500B1 - {"__await__", (PyCFunction) __Pyx_Coroutine_await_method, METH_NOARGS, - (char*) PyDoc_STR("__await__() -> return an iterator to be used in await expression.")}, -#endif - {0, 0, 0, 0} -}; -static PyMemberDef __pyx_Coroutine_memberlist[] = { - {(char *) "cr_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL}, - {(char*) "cr_await", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY, - (char*) PyDoc_STR("object being awaited, or None")}, - {(char*) "cr_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL}, - {(char *) "__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0}, -#if CYTHON_USE_TYPE_SPECS - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyGetSetDef __pyx_Coroutine_getsets[] = { - {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name, - (char*) PyDoc_STR("name of the coroutine"), 0}, - {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname, - (char*) PyDoc_STR("qualified name of the coroutine"), 0}, - {(char *) "cr_frame", (getter)__Pyx_Coroutine_get_frame, NULL, - (char*) PyDoc_STR("Frame of the coroutine"), 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc}, - {Py_am_await, (void *)&__Pyx_Coroutine_await}, - {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse}, - {Py_tp_methods, (void *)__pyx_Coroutine_methods}, - {Py_tp_members, (void *)__pyx_Coroutine_memberlist}, - {Py_tp_getset, (void *)__pyx_Coroutine_getsets}, - {Py_tp_getattro, (void *) __Pyx_PyObject_GenericGetAttrNoDict}, -#if CYTHON_USE_TP_FINALIZE - {Py_tp_finalize, (void *)__Pyx_Coroutine_del}, -#endif - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - __pyx_CoroutineType_slots -}; -#else -#if CYTHON_USE_ASYNC_SLOTS -static __Pyx_PyAsyncMethodsStruct __pyx_Coroutine_as_async = { - __Pyx_Coroutine_await, - 0, - 0, -#if PY_VERSION_HEX >= 0x030A00A3 - 0, -#endif -}; -#endif -static PyTypeObject __pyx_CoroutineType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - (destructor) __Pyx_Coroutine_dealloc, - 0, - 0, - 0, -#if CYTHON_USE_ASYNC_SLOTS - &__pyx_Coroutine_as_async, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - 0, - (traverseproc) __Pyx_Coroutine_traverse, - 0, -#if CYTHON_USE_ASYNC_SLOTS && CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 - __Pyx_Coroutine_compare, -#else - 0, -#endif - offsetof(__pyx_CoroutineObject, gi_weakreflist), - 0, - 0, - __pyx_Coroutine_methods, - __pyx_Coroutine_memberlist, - __pyx_Coroutine_getsets, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if CYTHON_USE_TP_FINALIZE - 0, -#else - __Pyx_Coroutine_del, -#endif - 0, -#if CYTHON_USE_TP_FINALIZE - __Pyx_Coroutine_del, -#elif PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_Coroutine_init(PyObject *module) { - CYTHON_MAYBE_UNUSED_VAR(module); -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineType_spec, NULL); -#else - __pyx_CoroutineType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - __pyx_CoroutineType = __Pyx_FetchCommonType(&__pyx_CoroutineType_type); -#endif - if (unlikely(!__pyx_CoroutineType)) - return -1; -#ifdef __Pyx_IterableCoroutine_USED - if (unlikely(__pyx_IterableCoroutine_init(module) == -1)) - return -1; -#endif -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineAwaitType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineAwaitType_spec, NULL); -#else - __pyx_CoroutineAwaitType = __Pyx_FetchCommonType(&__pyx_CoroutineAwaitType_type); -#endif - if (unlikely(!__pyx_CoroutineAwaitType)) - return -1; - return 0; -} - -/* GetAwaitIter */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o) { -#ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(o)) { - return __Pyx_NewRef(o); - } -#endif - return __Pyx__Coroutine_GetAwaitableIter(o); -} -static void __Pyx_Coroutine_AwaitableIterError(PyObject *source) { -#if PY_VERSION_HEX >= 0x030600B3 && PY_VERSION_HEX < 0x030d0000 || defined(_PyErr_FormatFromCause) - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - _PyErr_FormatFromCause(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); -#elif PY_MAJOR_VERSION >= 3 - PyObject *exc, *val, *val2, *tb; - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - assert(PyErr_Occurred()); - PyErr_Fetch(&exc, &val, &tb); - PyErr_NormalizeException(&exc, &val, &tb); - if (tb != NULL) { - PyException_SetTraceback(val, tb); - Py_DECREF(tb); - } - Py_DECREF(exc); - assert(!PyErr_Occurred()); - PyErr_Format(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); - PyErr_Fetch(&exc, &val2, &tb); - PyErr_NormalizeException(&exc, &val2, &tb); - Py_INCREF(val); - PyException_SetCause(val2, val); - PyException_SetContext(val2, val); - PyErr_Restore(exc, val2, tb); -#else - CYTHON_UNUSED_VAR(source); -#endif -} -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *obj) { - PyObject *res; -#if CYTHON_USE_ASYNC_SLOTS - __Pyx_PyAsyncMethodsStruct* am = __Pyx_PyType_AsAsync(obj); - if (likely(am && am->am_await)) { - res = (*am->am_await)(obj); - } else -#endif -#if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - if (PyCoro_CheckExact(obj)) { - return __Pyx_NewRef(obj); - } else -#endif -#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE) -#if PY_VERSION_HEX >= 0x030C00A6 - if (PyGen_CheckExact(obj) && (PyGen_GetCode((PyGenObject*)obj)->co_flags & CO_ITERABLE_COROUTINE)) { -#else - if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) { -#endif - return __Pyx_NewRef(obj); - } else -#endif - { - PyObject *method = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, __pyx_n_s_await, &method); - if (likely(is_method)) { - res = __Pyx_PyObject_CallOneArg(method, obj); - } else if (likely(method)) { - res = __Pyx_PyObject_CallNoArg(method); - } else - goto slot_error; - Py_DECREF(method); - } - if (unlikely(!res)) { - __Pyx_Coroutine_AwaitableIterError(obj); - goto bad; - } - if (unlikely(!PyIter_Check(res))) { - __Pyx_TypeName res_type_name = __Pyx_PyType_GetName(Py_TYPE(res)); - PyErr_Format(PyExc_TypeError, - "__await__() returned non-iterator of type '" __Pyx_FMT_TYPENAME "'", res_type_name); - __Pyx_DECREF_TypeName(res_type_name); - Py_CLEAR(res); - } else { - int is_coroutine = 0; - #ifdef __Pyx_Coroutine_USED - is_coroutine |= __Pyx_Coroutine_Check(res); - #endif - #if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - is_coroutine |= PyCoro_CheckExact(res); - #endif - if (unlikely(is_coroutine)) { - /* __await__ must return an *iterator*, not - a coroutine or another awaitable (see PEP 492) */ - PyErr_SetString(PyExc_TypeError, - "__await__() returned a coroutine"); - Py_CLEAR(res); - } - } - return res; -slot_error: - { - __Pyx_TypeName obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "object " __Pyx_FMT_TYPENAME " can't be used in 'await' expression", obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); - } -bad: - return NULL; -} - -/* CoroutineYieldFrom */ - static PyObject* __Pyx__Coroutine_Yield_From_Generic(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - PyObject *source_gen = __Pyx__Coroutine_GetAwaitableIter(source); - if (unlikely(!source_gen)) { - return NULL; - } - if (__Pyx_Coroutine_Check(source_gen)) { - retval = __Pyx_Generator_Next(source_gen); - } else { - retval = __Pyx_PyObject_GetIterNextFunc(source_gen)(source_gen); - } - if (retval) { - gen->yieldfrom = source_gen; - return retval; - } - Py_DECREF(source_gen); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - if (__Pyx_Coroutine_Check(source)) { - if (unlikely(((__pyx_CoroutineObject*)source)->yieldfrom)) { - PyErr_SetString( - PyExc_RuntimeError, - "coroutine is being awaited already"); - return NULL; - } - retval = __Pyx_Generator_Next(source); -#ifdef __Pyx_AsyncGen_USED - } else if (__pyx_PyAsyncGenASend_CheckExact(source)) { - retval = __Pyx_async_gen_asend_iternext(source); -#endif - } else { - return __Pyx__Coroutine_Yield_From_Generic(gen, source); - } - if (retval) { - Py_INCREF(source); - gen->yieldfrom = source; - } - return retval; -} - -/* GetException */ - #if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type = NULL, *local_value, *local_tb = NULL; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if PY_VERSION_HEX >= 0x030C00A6 - local_value = tstate->current_exception; - tstate->current_exception = 0; - if (likely(local_value)) { - local_type = (PyObject*) Py_TYPE(local_value); - Py_INCREF(local_type); - local_tb = PyException_GetTraceback(local_value); - } - #else - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; - #endif -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE && PY_VERSION_HEX >= 0x030C00A6 - if (unlikely(tstate->current_exception)) -#elif CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - #if PY_VERSION_HEX >= 0x030B00a4 - tmp_value = exc_info->exc_value; - exc_info->exc_value = local_value; - tmp_type = NULL; - tmp_tb = NULL; - Py_XDECREF(local_type); - Py_XDECREF(local_tb); - #else - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - #endif - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -/* pep479 */ - static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) { - PyObject *exc, *val, *tb, *cur_exc; - __Pyx_PyThreadState_declare - #ifdef __Pyx_StopAsyncIteration_USED - int is_async_stopiteration = 0; - #endif - CYTHON_MAYBE_UNUSED_VAR(in_async_gen); - cur_exc = PyErr_Occurred(); - if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) { - #ifdef __Pyx_StopAsyncIteration_USED - if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, __Pyx_PyExc_StopAsyncIteration))) { - is_async_stopiteration = 1; - } else - #endif - return; - } - __Pyx_PyThreadState_assign - __Pyx_GetException(&exc, &val, &tb); - Py_XDECREF(exc); - Py_XDECREF(val); - Py_XDECREF(tb); - PyErr_SetString(PyExc_RuntimeError, - #ifdef __Pyx_StopAsyncIteration_USED - is_async_stopiteration ? "async generator raised StopAsyncIteration" : - in_async_gen ? "async generator raised StopIteration" : - #endif - "generator raised StopIteration"); -} - -/* GetItemInt */ - static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (unlikely(!j)) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyList_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyTuple_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping; - PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence; - if (mm && mm->mp_subscript) { - PyObject *r, *key = PyInt_FromSsize_t(i); - if (unlikely(!key)) return NULL; - r = mm->mp_subscript(o, key); - Py_DECREF(key); - return r; - } - if (likely(sm && sm->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) { - Py_ssize_t l = sm->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return NULL; - PyErr_Clear(); - } - } - return sm->sq_item(o, i); - } - } -#else - if (is_list || !PyMapping_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - -/* SliceObject */ - static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, - Py_ssize_t cstart, Py_ssize_t cstop, - PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, - int has_cstart, int has_cstop, int wraparound) { - __Pyx_TypeName obj_type_name; -#if CYTHON_USE_TYPE_SLOTS - PyMappingMethods* mp; -#if PY_MAJOR_VERSION < 3 - PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence; - if (likely(ms && ms->sq_slice)) { - if (!has_cstart) { - if (_py_start && (*_py_start != Py_None)) { - cstart = __Pyx_PyIndex_AsSsize_t(*_py_start); - if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; - } else - cstart = 0; - } - if (!has_cstop) { - if (_py_stop && (*_py_stop != Py_None)) { - cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop); - if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; - } else - cstop = PY_SSIZE_T_MAX; - } - if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) { - Py_ssize_t l = ms->sq_length(obj); - if (likely(l >= 0)) { - if (cstop < 0) { - cstop += l; - if (cstop < 0) cstop = 0; - } - if (cstart < 0) { - cstart += l; - if (cstart < 0) cstart = 0; - } - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - goto bad; - PyErr_Clear(); - } - } - return ms->sq_slice(obj, cstart, cstop); - } -#else - CYTHON_UNUSED_VAR(wraparound); -#endif - mp = Py_TYPE(obj)->tp_as_mapping; - if (likely(mp && mp->mp_subscript)) -#else - CYTHON_UNUSED_VAR(wraparound); -#endif - { - PyObject* result; - PyObject *py_slice, *py_start, *py_stop; - if (_py_slice) { - py_slice = *_py_slice; - } else { - PyObject* owned_start = NULL; - PyObject* owned_stop = NULL; - if (_py_start) { - py_start = *_py_start; - } else { - if (has_cstart) { - owned_start = py_start = PyInt_FromSsize_t(cstart); - if (unlikely(!py_start)) goto bad; - } else - py_start = Py_None; - } - if (_py_stop) { - py_stop = *_py_stop; - } else { - if (has_cstop) { - owned_stop = py_stop = PyInt_FromSsize_t(cstop); - if (unlikely(!py_stop)) { - Py_XDECREF(owned_start); - goto bad; - } - } else - py_stop = Py_None; - } - py_slice = PySlice_New(py_start, py_stop, Py_None); - Py_XDECREF(owned_start); - Py_XDECREF(owned_stop); - if (unlikely(!py_slice)) goto bad; - } -#if CYTHON_USE_TYPE_SLOTS - result = mp->mp_subscript(obj, py_slice); -#else - result = PyObject_GetItem(obj, py_slice); -#endif - if (!_py_slice) { - Py_DECREF(py_slice); - } - return result; - } - obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "'" __Pyx_FMT_TYPENAME "' object is unsliceable", obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); -bad: - return NULL; -} - -/* DictGetItem */ - #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { - PyObject *value; - value = PyDict_GetItemWithError(d, key); - if (unlikely(!value)) { - if (!PyErr_Occurred()) { - if (unlikely(PyTuple_Check(key))) { - PyObject* args = PyTuple_Pack(1, key); - if (likely(args)) { - PyErr_SetObject(PyExc_KeyError, args); - Py_DECREF(args); - } - } else { - PyErr_SetObject(PyExc_KeyError, key); - } - } - return NULL; - } - Py_INCREF(value); - return value; -} -#endif - -/* PyIntCompare */ - static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_UNUSED_VAR(inplace); - if (op1 == op2) { - return 1; - } - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long a = PyInt_AS_LONG(op1); - return (a == b); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - int unequal; - unsigned long uintval; - Py_ssize_t size = __Pyx_PyLong_DigitCount(op1); - const digit* digits = __Pyx_PyLong_Digits(op1); - if (intval == 0) { - return (__Pyx_PyLong_IsZero(op1) == 1); - } else if (intval < 0) { - if (__Pyx_PyLong_IsNonNeg(op1)) - return 0; - intval = -intval; - } else { - if (__Pyx_PyLong_IsNeg(op1)) - return 0; - } - uintval = (unsigned long) intval; -#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 4)) { - unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 3)) { - unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 2)) { - unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 1)) { - unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif - unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); - return (unequal == 0); - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - return ((double)a == (double)b); - } - return __Pyx_PyObject_IsTrueAndDecref( - PyObject_RichCompare(op1, op2, Py_EQ)); -} - -/* JoinPyUnicode */ - static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char) { -#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - PyObject *result_uval; - int result_ukind, kind_shift; - Py_ssize_t i, char_pos; - void *result_udata; - CYTHON_MAYBE_UNUSED_VAR(max_char); -#if CYTHON_PEP393_ENABLED - result_uval = PyUnicode_New(result_ulength, max_char); - if (unlikely(!result_uval)) return NULL; - result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND; - kind_shift = (result_ukind == PyUnicode_4BYTE_KIND) ? 2 : result_ukind - 1; - result_udata = PyUnicode_DATA(result_uval); -#else - result_uval = PyUnicode_FromUnicode(NULL, result_ulength); - if (unlikely(!result_uval)) return NULL; - result_ukind = sizeof(Py_UNICODE); - kind_shift = (result_ukind == 4) ? 2 : result_ukind - 1; - result_udata = PyUnicode_AS_UNICODE(result_uval); -#endif - assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0); - char_pos = 0; - for (i=0; i < value_count; i++) { - int ukind; - Py_ssize_t ulength; - void *udata; - PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); - if (unlikely(__Pyx_PyUnicode_READY(uval))) - goto bad; - ulength = __Pyx_PyUnicode_GET_LENGTH(uval); - if (unlikely(!ulength)) - continue; - if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos)) - goto overflow; - ukind = __Pyx_PyUnicode_KIND(uval); - udata = __Pyx_PyUnicode_DATA(uval); - if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) { - memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift)); - } else { - #if PY_VERSION_HEX >= 0x030d0000 - if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad; - #elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters) - _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength); - #else - Py_ssize_t j; - for (j=0; j < ulength; j++) { - Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j); - __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar); - } - #endif - } - char_pos += ulength; - } - return result_uval; -overflow: - PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string"); -bad: - Py_DECREF(result_uval); - return NULL; -#else - CYTHON_UNUSED_VAR(max_char); - CYTHON_UNUSED_VAR(result_ulength); - CYTHON_UNUSED_VAR(value_count); - return PyUnicode_Join(__pyx_empty_unicode, value_tuple); -#endif -} - -/* PyIntBinop */ - #if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_MAYBE_UNUSED_VAR(inplace); - CYTHON_UNUSED_VAR(zerodivision_check); - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - - x = (long)((unsigned long)a - (unsigned long)b); - if (likely((x^a) >= 0 || (x^~b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_subtract(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - if (unlikely(__Pyx_PyLong_IsZero(op1))) { - return PyLong_FromLong(-intval); - } - if (likely(__Pyx_PyLong_IsCompact(op1))) { - a = __Pyx_PyLong_CompactValue(op1); - } else { - const digit* digits = __Pyx_PyLong_Digits(op1); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1); - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_subtract(op1, op2); - } - } - x = a - b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla - llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - double result; - - PyFPE_START_PROTECT("subtract", return NULL) - result = ((double)a) - (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2); -} -#endif - -/* PyIntBinop */ - #if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_MAYBE_UNUSED_VAR(inplace); - CYTHON_UNUSED_VAR(zerodivision_check); - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - - x = (long)((unsigned long)a + (unsigned long)b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - if (unlikely(__Pyx_PyLong_IsZero(op1))) { - return __Pyx_NewRef(op2); - } - if (likely(__Pyx_PyLong_IsCompact(op1))) { - a = __Pyx_PyLong_CompactValue(op1); - } else { - const digit* digits = __Pyx_PyLong_Digits(op1); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1); - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - double result; - - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* IterFinish */ - static CYTHON_INLINE int __Pyx_IterFinish(void) { - PyObject* exc_type; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (unlikely(exc_type)) { - if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) - return -1; - __Pyx_PyErr_Clear(); - return 0; - } - return 0; -} - -/* PyObjectCallMethod0 */ - static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) { - PyObject *method = NULL, *result = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_CallOneArg(method, obj); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) goto bad; - result = __Pyx_PyObject_CallNoArg(method); - Py_DECREF(method); -bad: - return result; -} - -/* RaiseNeedMoreValuesToUnpack */ - static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, - "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", - index, (index == 1) ? "" : "s"); -} - -/* RaiseTooManyValuesToUnpack */ - static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { - PyErr_Format(PyExc_ValueError, - "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); -} - -/* UnpackItemEndCheck */ - static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { - if (unlikely(retval)) { - Py_DECREF(retval); - __Pyx_RaiseTooManyValuesError(expected); - return -1; - } - return __Pyx_IterFinish(); -} - -/* RaiseNoneIterError */ - static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { - PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); -} - -/* UnpackTupleError */ - static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) { - if (t == Py_None) { - __Pyx_RaiseNoneNotIterableError(); - } else if (PyTuple_GET_SIZE(t) < index) { - __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t)); - } else { - __Pyx_RaiseTooManyValuesError(index); - } -} - -/* UnpackTuple2 */ - static CYTHON_INLINE int __Pyx_unpack_tuple2_exact( - PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) { - PyObject *value1 = NULL, *value2 = NULL; -#if CYTHON_COMPILING_IN_PYPY - value1 = PySequence_ITEM(tuple, 0); if (unlikely(!value1)) goto bad; - value2 = PySequence_ITEM(tuple, 1); if (unlikely(!value2)) goto bad; -#else - value1 = PyTuple_GET_ITEM(tuple, 0); Py_INCREF(value1); - value2 = PyTuple_GET_ITEM(tuple, 1); Py_INCREF(value2); -#endif - if (decref_tuple) { - Py_DECREF(tuple); - } - *pvalue1 = value1; - *pvalue2 = value2; - return 0; -#if CYTHON_COMPILING_IN_PYPY -bad: - Py_XDECREF(value1); - Py_XDECREF(value2); - if (decref_tuple) { Py_XDECREF(tuple); } - return -1; -#endif -} -static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, - int has_known_size, int decref_tuple) { - Py_ssize_t index; - PyObject *value1 = NULL, *value2 = NULL, *iter = NULL; - iternextfunc iternext; - iter = PyObject_GetIter(tuple); - if (unlikely(!iter)) goto bad; - if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; } - iternext = __Pyx_PyObject_GetIterNextFunc(iter); - value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; } - value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; } - if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad; - Py_DECREF(iter); - *pvalue1 = value1; - *pvalue2 = value2; - return 0; -unpacking_failed: - if (!has_known_size && __Pyx_IterFinish() == 0) - __Pyx_RaiseNeedMoreValuesError(index); -bad: - Py_XDECREF(iter); - Py_XDECREF(value1); - Py_XDECREF(value2); - if (decref_tuple) { Py_XDECREF(tuple); } - return -1; -} - -/* dict_iter */ - #if CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 -#include -#endif -static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name, - Py_ssize_t* p_orig_length, int* p_source_is_dict) { - is_dict = is_dict || likely(PyDict_CheckExact(iterable)); - *p_source_is_dict = is_dict; - if (is_dict) { -#if !CYTHON_COMPILING_IN_PYPY - *p_orig_length = PyDict_Size(iterable); - Py_INCREF(iterable); - return iterable; -#elif PY_MAJOR_VERSION >= 3 - static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL; - PyObject **pp = NULL; - if (method_name) { - const char *name = PyUnicode_AsUTF8(method_name); - if (strcmp(name, "iteritems") == 0) pp = &py_items; - else if (strcmp(name, "iterkeys") == 0) pp = &py_keys; - else if (strcmp(name, "itervalues") == 0) pp = &py_values; - if (pp) { - if (!*pp) { - *pp = PyUnicode_FromString(name + 4); - if (!*pp) - return NULL; - } - method_name = *pp; - } - } -#endif - } - *p_orig_length = 0; - if (method_name) { - PyObject* iter; - iterable = __Pyx_PyObject_CallMethod0(iterable, method_name); - if (!iterable) - return NULL; -#if !CYTHON_COMPILING_IN_PYPY - if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable)) - return iterable; -#endif - iter = PyObject_GetIter(iterable); - Py_DECREF(iterable); - return iter; - } - return PyObject_GetIter(iterable); -} -static CYTHON_INLINE int __Pyx_dict_iter_next( - PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos, - PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) { - PyObject* next_item; -#if !CYTHON_COMPILING_IN_PYPY - if (source_is_dict) { - PyObject *key, *value; - if (unlikely(orig_length != PyDict_Size(iter_obj))) { - PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration"); - return -1; - } - if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) { - return 0; - } - if (pitem) { - PyObject* tuple = PyTuple_New(2); - if (unlikely(!tuple)) { - return -1; - } - Py_INCREF(key); - Py_INCREF(value); - PyTuple_SET_ITEM(tuple, 0, key); - PyTuple_SET_ITEM(tuple, 1, value); - *pitem = tuple; - } else { - if (pkey) { - Py_INCREF(key); - *pkey = key; - } - if (pvalue) { - Py_INCREF(value); - *pvalue = value; - } - } - return 1; - } else if (PyTuple_CheckExact(iter_obj)) { - Py_ssize_t pos = *ppos; - if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0; - *ppos = pos + 1; - next_item = PyTuple_GET_ITEM(iter_obj, pos); - Py_INCREF(next_item); - } else if (PyList_CheckExact(iter_obj)) { - Py_ssize_t pos = *ppos; - if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0; - *ppos = pos + 1; - next_item = PyList_GET_ITEM(iter_obj, pos); - Py_INCREF(next_item); - } else -#endif - { - next_item = PyIter_Next(iter_obj); - if (unlikely(!next_item)) { - return __Pyx_IterFinish(); - } - } - if (pitem) { - *pitem = next_item; - } else if (pkey && pvalue) { - if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1)) - return -1; - } else if (pkey) { - *pkey = next_item; - } else { - *pvalue = next_item; - } - return 1; -} - -/* PyUnicode_Unicode */ - static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj) { - if (unlikely(obj == Py_None)) - obj = __pyx_kp_u_None; - return __Pyx_NewRef(obj); -} - -/* PyIntBinop */ - #if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_MultiplyObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_MAYBE_UNUSED_VAR(inplace); - CYTHON_UNUSED_VAR(zerodivision_check); - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long a = PyInt_AS_LONG(op1); - -#ifdef HAVE_LONG_LONG - if (sizeof(PY_LONG_LONG) > sizeof(long)) { - PY_LONG_LONG result = (PY_LONG_LONG)a * (PY_LONG_LONG)b; - return (result >= LONG_MIN && result <= LONG_MAX) ? - PyInt_FromLong((long)result) : PyLong_FromLongLong(result); - } -#endif -#if CYTHON_USE_TYPE_SLOTS - return PyInt_Type.tp_as_number->nb_multiply(op1, op2); -#else - return PyNumber_Multiply(op1, op2); -#endif - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - if (unlikely(__Pyx_PyLong_IsZero(op1))) { - return __Pyx_NewRef(op1); - } - if (likely(__Pyx_PyLong_IsCompact(op1))) { - a = __Pyx_PyLong_CompactValue(op1); - } else { - const digit* digits = __Pyx_PyLong_Digits(op1); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1); - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT+30) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT+30) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT+30) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT+30) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT+30) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT+30) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT+30) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT+30) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT+30) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT+30) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT+30) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT+30) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_multiply(op1, op2); - } - } - CYTHON_UNUSED_VAR(a); - CYTHON_UNUSED_VAR(b); - #ifdef HAVE_LONG_LONG - lla = a; - goto long_long; - #else - return PyLong_Type.tp_as_number->nb_multiply(op1, op2); - #endif - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla * llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - double result; - - PyFPE_START_PROTECT("multiply", return NULL) - result = ((double)a) * (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceMultiply : PyNumber_Multiply)(op1, op2); -} -#endif - -/* ReturnWithStopIteration */ - static void __Pyx__ReturnWithStopIteration(PyObject* value) { - PyObject *exc, *args; -#if CYTHON_COMPILING_IN_CPYTHON - __Pyx_PyThreadState_declare - if (PY_VERSION_HEX >= 0x030C00A6 - || unlikely(PyTuple_Check(value) || PyExceptionInstance_Check(value))) { - args = PyTuple_New(1); - if (unlikely(!args)) return; - Py_INCREF(value); - PyTuple_SET_ITEM(args, 0, value); - exc = PyType_Type.tp_call(PyExc_StopIteration, args, NULL); - Py_DECREF(args); - if (!exc) return; - } else { - Py_INCREF(value); - exc = value; - } - #if CYTHON_FAST_THREAD_STATE - __Pyx_PyThreadState_assign - #if CYTHON_USE_EXC_INFO_STACK - if (!__pyx_tstate->exc_info->exc_value) - #else - if (!__pyx_tstate->exc_type) - #endif - { - Py_INCREF(PyExc_StopIteration); - __Pyx_ErrRestore(PyExc_StopIteration, exc, NULL); - return; - } - #endif -#else - args = PyTuple_Pack(1, value); - if (unlikely(!args)) return; - exc = PyObject_Call(PyExc_StopIteration, args, NULL); - Py_DECREF(args); - if (unlikely(!exc)) return; -#endif - PyErr_SetObject(PyExc_StopIteration, exc); - Py_DECREF(exc); -} - -/* PyObjectLookupSpecial */ - #if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) { - PyObject *res; - PyTypeObject *tp = Py_TYPE(obj); -#if PY_MAJOR_VERSION < 3 - if (unlikely(PyInstance_Check(obj))) - return with_error ? __Pyx_PyObject_GetAttrStr(obj, attr_name) : __Pyx_PyObject_GetAttrStrNoError(obj, attr_name); -#endif - res = _PyType_Lookup(tp, attr_name); - if (likely(res)) { - descrgetfunc f = Py_TYPE(res)->tp_descr_get; - if (!f) { - Py_INCREF(res); - } else { - res = f(res, obj, (PyObject *)tp); - } - } else if (with_error) { - PyErr_SetObject(PyExc_AttributeError, attr_name); - } - return res; -} -#endif - -/* RaiseUnboundLocalError */ - static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) { - PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname); -} - -/* FastTypeChecks */ - #if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*); - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (cls == a || cls == b) return 1; - mro = cls->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - PyObject *base = PyTuple_GET_ITEM(mro, i); - if (base == (PyObject *)a || base == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b); -} -#if PY_MAJOR_VERSION == 2 -static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { - PyObject *exception, *value, *tb; - int res; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&exception, &value, &tb); - res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - if (!res) { - res = PyObject_IsSubclass(err, exc_type2); - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - } - __Pyx_ErrRestore(exception, value, tb); - return res; -} -#else -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - if (exc_type1) { - return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2); - } else { - return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } -} -#endif -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; icl_name)); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } -#endif - b = (PyTypeObject*) b0; - if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE)) - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name); - __Pyx_DECREF_TypeName(b_name); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - if (dictoffset == 0) - { - Py_ssize_t b_dictoffset = 0; -#if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - b_dictoffset = b->tp_dictoffset; -#else - PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__"); - if (!py_b_dictoffset) goto dictoffset_return; - b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset); - Py_DECREF(py_b_dictoffset); - if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return; -#endif - if (b_dictoffset) { - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "extension type '%.200s' has no __dict__ slot, " - "but base type '" __Pyx_FMT_TYPENAME "' has: " - "either add 'cdef dict __dict__' to the extension type " - "or add '__slots__ = [...]' to the base type", - type_name, b_name); - __Pyx_DECREF_TypeName(b_name); - } -#if !(CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY) - dictoffset_return: -#endif -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - } -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - } - return 0; -} -#endif - -/* PyType_Ready */ - static int __Pyx_PyType_Ready(PyTypeObject *t) { -#if CYTHON_USE_TYPE_SPECS || !(CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API) || defined(PYSTON_MAJOR_VERSION) - (void)__Pyx_PyObject_CallMethod0; -#if CYTHON_USE_TYPE_SPECS - (void)__Pyx_validate_bases_tuple; -#endif - return PyType_Ready(t); -#else - int r; - PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*); - if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1)) - return -1; -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - { - int gc_was_enabled; - #if PY_VERSION_HEX >= 0x030A00b1 - gc_was_enabled = PyGC_Disable(); - (void)__Pyx_PyObject_CallMethod0; - #else - PyObject *ret, *py_status; - PyObject *gc = NULL; - #if PY_VERSION_HEX >= 0x030700a1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400) - gc = PyImport_GetModule(__pyx_kp_u_gc); - #endif - if (unlikely(!gc)) gc = PyImport_Import(__pyx_kp_u_gc); - if (unlikely(!gc)) return -1; - py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_isenabled); - if (unlikely(!py_status)) { - Py_DECREF(gc); - return -1; - } - gc_was_enabled = __Pyx_PyObject_IsTrue(py_status); - Py_DECREF(py_status); - if (gc_was_enabled > 0) { - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_disable); - if (unlikely(!ret)) { - Py_DECREF(gc); - return -1; - } - Py_DECREF(ret); - } else if (unlikely(gc_was_enabled == -1)) { - Py_DECREF(gc); - return -1; - } - #endif - t->tp_flags |= Py_TPFLAGS_HEAPTYPE; -#if PY_VERSION_HEX >= 0x030A0000 - t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE; -#endif -#else - (void)__Pyx_PyObject_CallMethod0; -#endif - r = PyType_Ready(t); -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE; - #if PY_VERSION_HEX >= 0x030A00b1 - if (gc_was_enabled) - PyGC_Enable(); - #else - if (gc_was_enabled) { - PyObject *tp, *v, *tb; - PyErr_Fetch(&tp, &v, &tb); - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_enable); - if (likely(ret || r == -1)) { - Py_XDECREF(ret); - PyErr_Restore(tp, v, tb); - } else { - Py_XDECREF(tp); - Py_XDECREF(v); - Py_XDECREF(tb); - r = -1; - } - } - Py_DECREF(gc); - #endif - } -#endif - return r; -#endif -} - -/* Import */ - static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { - PyObject *module = 0; - PyObject *empty_dict = 0; - PyObject *empty_list = 0; - #if PY_MAJOR_VERSION < 3 - PyObject *py_import; - py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); - if (unlikely(!py_import)) - goto bad; - if (!from_list) { - empty_list = PyList_New(0); - if (unlikely(!empty_list)) - goto bad; - from_list = empty_list; - } - #endif - empty_dict = PyDict_New(); - if (unlikely(!empty_dict)) - goto bad; - { - #if PY_MAJOR_VERSION >= 3 - if (level == -1) { - if (strchr(__Pyx_MODULE_NAME, '.') != NULL) { - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, 1); - if (unlikely(!module)) { - if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError))) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - #endif - if (!module) { - #if PY_MAJOR_VERSION < 3 - PyObject *py_level = PyInt_FromLong(level); - if (unlikely(!py_level)) - goto bad; - module = PyObject_CallFunctionObjArgs(py_import, - name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL); - Py_DECREF(py_level); - #else - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, level); - #endif - } - } -bad: - Py_XDECREF(empty_dict); - Py_XDECREF(empty_list); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_import); - #endif - return module; -} - -/* ImportDottedModule */ - #if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx__ImportDottedModule_Error(PyObject *name, PyObject *parts_tuple, Py_ssize_t count) { - PyObject *partial_name = NULL, *slice = NULL, *sep = NULL; - if (unlikely(PyErr_Occurred())) { - PyErr_Clear(); - } - if (likely(PyTuple_GET_SIZE(parts_tuple) == count)) { - partial_name = name; - } else { - slice = PySequence_GetSlice(parts_tuple, 0, count); - if (unlikely(!slice)) - goto bad; - sep = PyUnicode_FromStringAndSize(".", 1); - if (unlikely(!sep)) - goto bad; - partial_name = PyUnicode_Join(sep, slice); - } - PyErr_Format( -#if PY_MAJOR_VERSION < 3 - PyExc_ImportError, - "No module named '%s'", PyString_AS_STRING(partial_name)); -#else -#if PY_VERSION_HEX >= 0x030600B1 - PyExc_ModuleNotFoundError, -#else - PyExc_ImportError, -#endif - "No module named '%U'", partial_name); -#endif -bad: - Py_XDECREF(sep); - Py_XDECREF(slice); - Py_XDECREF(partial_name); - return NULL; -} -#endif -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx__ImportDottedModule_Lookup(PyObject *name) { - PyObject *imported_module; -#if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400) - PyObject *modules = PyImport_GetModuleDict(); - if (unlikely(!modules)) - return NULL; - imported_module = __Pyx_PyDict_GetItemStr(modules, name); - Py_XINCREF(imported_module); -#else - imported_module = PyImport_GetModule(name); -#endif - return imported_module; -} -#endif -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple) { - Py_ssize_t i, nparts; - nparts = PyTuple_GET_SIZE(parts_tuple); - for (i=1; i < nparts && module; i++) { - PyObject *part, *submodule; -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - part = PyTuple_GET_ITEM(parts_tuple, i); -#else - part = PySequence_ITEM(parts_tuple, i); -#endif - submodule = __Pyx_PyObject_GetAttrStrNoError(module, part); -#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(part); -#endif - Py_DECREF(module); - module = submodule; - } - if (unlikely(!module)) { - return __Pyx__ImportDottedModule_Error(name, parts_tuple, i); - } - return module; -} -#endif -static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) { -#if PY_MAJOR_VERSION < 3 - PyObject *module, *from_list, *star = __pyx_n_s__43; - CYTHON_UNUSED_VAR(parts_tuple); - from_list = PyList_New(1); - if (unlikely(!from_list)) - return NULL; - Py_INCREF(star); - PyList_SET_ITEM(from_list, 0, star); - module = __Pyx_Import(name, from_list, 0); - Py_DECREF(from_list); - return module; -#else - PyObject *imported_module; - PyObject *module = __Pyx_Import(name, NULL, 0); - if (!parts_tuple || unlikely(!module)) - return module; - imported_module = __Pyx__ImportDottedModule_Lookup(name); - if (likely(imported_module)) { - Py_DECREF(module); - return imported_module; - } - PyErr_Clear(); - return __Pyx_ImportDottedModule_WalkParts(module, name, parts_tuple); -#endif -} -static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) { -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030400B1 - PyObject *module = __Pyx__ImportDottedModule_Lookup(name); - if (likely(module)) { - PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_n_s_spec); - if (likely(spec)) { - PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_n_s_initializing); - if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) { - Py_DECREF(spec); - spec = NULL; - } - Py_XDECREF(unsafe); - } - if (likely(!spec)) { - PyErr_Clear(); - return module; - } - Py_DECREF(spec); - Py_DECREF(module); - } else if (PyErr_Occurred()) { - PyErr_Clear(); - } -#endif - return __Pyx__ImportDottedModule(name, parts_tuple); -} - -/* ImportFrom */ - static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { - PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); - if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { - const char* module_name_str = 0; - PyObject* module_name = 0; - PyObject* module_dot = 0; - PyObject* full_name = 0; - PyErr_Clear(); - module_name_str = PyModule_GetName(module); - if (unlikely(!module_name_str)) { goto modbad; } - module_name = PyUnicode_FromString(module_name_str); - if (unlikely(!module_name)) { goto modbad; } - module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__44); - if (unlikely(!module_dot)) { goto modbad; } - full_name = PyUnicode_Concat(module_dot, name); - if (unlikely(!full_name)) { goto modbad; } - #if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400) - { - PyObject *modules = PyImport_GetModuleDict(); - if (unlikely(!modules)) - goto modbad; - value = PyObject_GetItem(modules, full_name); - } - #else - value = PyImport_GetModule(full_name); - #endif - modbad: - Py_XDECREF(full_name); - Py_XDECREF(module_dot); - Py_XDECREF(module_name); - } - if (unlikely(!value)) { - PyErr_Format(PyExc_ImportError, - #if PY_MAJOR_VERSION < 3 - "cannot import name %.230s", PyString_AS_STRING(name)); - #else - "cannot import name %S", name); - #endif - } - return value; -} - -/* PyVectorcallFastCallDict */ - #if CYTHON_METH_FASTCALL -static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - PyObject *res = NULL; - PyObject *kwnames; - PyObject **newargs; - PyObject **kwvalues; - Py_ssize_t i, pos; - size_t j; - PyObject *key, *value; - unsigned long keys_are_strings; - Py_ssize_t nkw = PyDict_GET_SIZE(kw); - newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0])); - if (unlikely(newargs == NULL)) { - PyErr_NoMemory(); - return NULL; - } - for (j = 0; j < nargs; j++) newargs[j] = args[j]; - kwnames = PyTuple_New(nkw); - if (unlikely(kwnames == NULL)) { - PyMem_Free(newargs); - return NULL; - } - kwvalues = newargs + nargs; - pos = i = 0; - keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS; - while (PyDict_Next(kw, &pos, &key, &value)) { - keys_are_strings &= Py_TYPE(key)->tp_flags; - Py_INCREF(key); - Py_INCREF(value); - PyTuple_SET_ITEM(kwnames, i, key); - kwvalues[i] = value; - i++; - } - if (unlikely(!keys_are_strings)) { - PyErr_SetString(PyExc_TypeError, "keywords must be strings"); - goto cleanup; - } - res = vc(func, newargs, nargs, kwnames); -cleanup: - Py_DECREF(kwnames); - for (i = 0; i < nkw; i++) - Py_DECREF(kwvalues[i]); - PyMem_Free(newargs); - return res; -} -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) { - return vc(func, args, nargs, NULL); - } - return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw); -} -#endif - -/* CythonFunctionShared */ - #if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - if (__Pyx_CyFunction_Check(func)) { - return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc; - } else if (PyCFunction_Check(func)) { - return PyCFunction_GetFunction(func) == (PyCFunction) cfunc; - } - return 0; -} -#else -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -} -#endif -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) { -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - __Pyx_Py_XDECREF_SET( - __Pyx_CyFunction_GetClassObj(f), - ((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#else - __Pyx_Py_XDECREF_SET( - ((PyCMethodObject *) (f))->mm_class, - (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#endif -} -static PyObject * -__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure) -{ - CYTHON_UNUSED_VAR(closure); - if (unlikely(op->func_doc == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_doc = PyObject_GetAttrString(op->func, "__doc__"); - if (unlikely(!op->func_doc)) return NULL; -#else - if (((PyCFunctionObject*)op)->m_ml->ml_doc) { -#if PY_MAJOR_VERSION >= 3 - op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#else - op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#endif - if (unlikely(op->func_doc == NULL)) - return NULL; - } else { - Py_INCREF(Py_None); - return Py_None; - } -#endif - } - Py_INCREF(op->func_doc); - return op->func_doc; -} -static int -__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (value == NULL) { - value = Py_None; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_doc, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_name == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_name = PyObject_GetAttrString(op->func, "__name__"); -#elif PY_MAJOR_VERSION >= 3 - op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#else - op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#endif - if (unlikely(op->func_name == NULL)) - return NULL; - } - Py_INCREF(op->func_name); - return op->func_name; -} -static int -__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_name, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_qualname); - return op->func_qualname; -} -static int -__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_qualname, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_dict == NULL)) { - op->func_dict = PyDict_New(); - if (unlikely(op->func_dict == NULL)) - return NULL; - } - Py_INCREF(op->func_dict); - return op->func_dict; -} -static int -__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(value == NULL)) { - PyErr_SetString(PyExc_TypeError, - "function's dictionary may not be deleted"); - return -1; - } - if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "setting function's dictionary to a non-dict"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_dict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_globals); - return op->func_globals; -} -static PyObject * -__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(op); - CYTHON_UNUSED_VAR(context); - Py_INCREF(Py_None); - return Py_None; -} -static PyObject * -__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context) -{ - PyObject* result = (op->func_code) ? op->func_code : Py_None; - CYTHON_UNUSED_VAR(context); - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { - int result = 0; - PyObject *res = op->defaults_getter((PyObject *) op); - if (unlikely(!res)) - return -1; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - op->defaults_tuple = PyTuple_GET_ITEM(res, 0); - Py_INCREF(op->defaults_tuple); - op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); - Py_INCREF(op->defaults_kwdict); - #else - op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0); - if (unlikely(!op->defaults_tuple)) result = -1; - else { - op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1); - if (unlikely(!op->defaults_kwdict)) result = -1; - } - #endif - Py_DECREF(res); - return result; -} -static int -__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyTuple_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__defaults__ must be set to a tuple object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_tuple, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_tuple; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_tuple; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__kwdefaults__ must be set to a dict object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_kwdict; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_kwdict; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value || value == Py_None) { - value = NULL; - } else if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__annotations__ must be set to a dict object"); - return -1; - } - Py_XINCREF(value); - __Pyx_Py_XDECREF_SET(op->func_annotations, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->func_annotations; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - result = PyDict_New(); - if (unlikely(!result)) return NULL; - op->func_annotations = result; - } - Py_INCREF(result); - return result; -} -static PyObject * -__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) { - int is_coroutine; - CYTHON_UNUSED_VAR(context); - if (op->func_is_coroutine) { - return __Pyx_NewRef(op->func_is_coroutine); - } - is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE; -#if PY_VERSION_HEX >= 0x03050000 - if (is_coroutine) { - PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine; - fromlist = PyList_New(1); - if (unlikely(!fromlist)) return NULL; - Py_INCREF(marker); -#if CYTHON_ASSUME_SAFE_MACROS - PyList_SET_ITEM(fromlist, 0, marker); -#else - if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) { - Py_DECREF(marker); - Py_DECREF(fromlist); - return NULL; - } -#endif - module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0); - Py_DECREF(fromlist); - if (unlikely(!module)) goto ignore; - op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker); - Py_DECREF(module); - if (likely(op->func_is_coroutine)) { - return __Pyx_NewRef(op->func_is_coroutine); - } -ignore: - PyErr_Clear(); - } -#endif - op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine); - return __Pyx_NewRef(op->func_is_coroutine); -} -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject * -__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_GetAttrString(op->func, "__module__"); -} -static int -__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_SetAttrString(op->func, "__module__", value); -} -#endif -static PyGetSetDef __pyx_CyFunction_getsets[] = { - {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, - {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, - {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, - {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0}, -#if CYTHON_COMPILING_IN_LIMITED_API - {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyMemberDef __pyx_CyFunction_members[] = { -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0}, -#endif -#if CYTHON_USE_TYPE_SPECS - {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0}, -#if CYTHON_METH_FASTCALL -#if CYTHON_BACKPORT_VECTORCALL - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0}, -#else -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0}, -#endif -#endif -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0}, -#else - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0}, -#endif -#endif - {0, 0, 0, 0, 0} -}; -static PyObject * -__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args) -{ - CYTHON_UNUSED_VAR(args); -#if PY_MAJOR_VERSION >= 3 - Py_INCREF(m->func_qualname); - return m->func_qualname; -#else - return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name); -#endif -} -static PyMethodDef __pyx_CyFunction_methods[] = { - {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, - {0, 0, 0, 0} -}; -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) -#else -#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist) -#endif -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { -#if !CYTHON_COMPILING_IN_LIMITED_API - PyCFunctionObject *cf = (PyCFunctionObject*) op; -#endif - if (unlikely(op == NULL)) - return NULL; -#if CYTHON_COMPILING_IN_LIMITED_API - op->func = PyCFunction_NewEx(ml, (PyObject*)op, module); - if (unlikely(!op->func)) return NULL; -#endif - op->flags = flags; - __Pyx_CyFunction_weakreflist(op) = NULL; -#if !CYTHON_COMPILING_IN_LIMITED_API - cf->m_ml = ml; - cf->m_self = (PyObject *) op; -#endif - Py_XINCREF(closure); - op->func_closure = closure; -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_XINCREF(module); - cf->m_module = module; -#endif - op->func_dict = NULL; - op->func_name = NULL; - Py_INCREF(qualname); - op->func_qualname = qualname; - op->func_doc = NULL; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - op->func_classobj = NULL; -#else - ((PyCMethodObject*)op)->mm_class = NULL; -#endif - op->func_globals = globals; - Py_INCREF(op->func_globals); - Py_XINCREF(code); - op->func_code = code; - op->defaults_pyobjects = 0; - op->defaults_size = 0; - op->defaults = NULL; - op->defaults_tuple = NULL; - op->defaults_kwdict = NULL; - op->defaults_getter = NULL; - op->func_annotations = NULL; - op->func_is_coroutine = NULL; -#if CYTHON_METH_FASTCALL - switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) { - case METH_NOARGS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS; - break; - case METH_O: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O; - break; - case METH_METHOD | METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD; - break; - case METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS; - break; - case METH_VARARGS | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = NULL; - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - Py_DECREF(op); - return NULL; - } -#endif - return (PyObject *) op; -} -static int -__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) -{ - Py_CLEAR(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_CLEAR(m->func); -#else - Py_CLEAR(((PyCFunctionObject*)m)->m_module); -#endif - Py_CLEAR(m->func_dict); - Py_CLEAR(m->func_name); - Py_CLEAR(m->func_qualname); - Py_CLEAR(m->func_doc); - Py_CLEAR(m->func_globals); - Py_CLEAR(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API -#if PY_VERSION_HEX < 0x030900B1 - Py_CLEAR(__Pyx_CyFunction_GetClassObj(m)); -#else - { - PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class; - ((PyCMethodObject *) (m))->mm_class = NULL; - Py_XDECREF(cls); - } -#endif -#endif - Py_CLEAR(m->defaults_tuple); - Py_CLEAR(m->defaults_kwdict); - Py_CLEAR(m->func_annotations); - Py_CLEAR(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_XDECREF(pydefaults[i]); - PyObject_Free(m->defaults); - m->defaults = NULL; - } - return 0; -} -static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - if (__Pyx_CyFunction_weakreflist(m) != NULL) - PyObject_ClearWeakRefs((PyObject *) m); - __Pyx_CyFunction_clear(m); - __Pyx_PyHeapTypeObject_GC_Del(m); -} -static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - PyObject_GC_UnTrack(m); - __Pyx__CyFunction_dealloc(m); -} -static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) -{ - Py_VISIT(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(m->func); -#else - Py_VISIT(((PyCFunctionObject*)m)->m_module); -#endif - Py_VISIT(m->func_dict); - Py_VISIT(m->func_name); - Py_VISIT(m->func_qualname); - Py_VISIT(m->func_doc); - Py_VISIT(m->func_globals); - Py_VISIT(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(__Pyx_CyFunction_GetClassObj(m)); -#endif - Py_VISIT(m->defaults_tuple); - Py_VISIT(m->defaults_kwdict); - Py_VISIT(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_VISIT(pydefaults[i]); - } - return 0; -} -static PyObject* -__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) -{ -#if PY_MAJOR_VERSION >= 3 - return PyUnicode_FromFormat("", - op->func_qualname, (void *)op); -#else - return PyString_FromFormat("", - PyString_AsString(op->func_qualname), (void *)op); -#endif -} -static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *f = ((__pyx_CyFunctionObject*)func)->func; - PyObject *py_name = NULL; - PyCFunction meth; - int flags; - meth = PyCFunction_GetFunction(f); - if (unlikely(!meth)) return NULL; - flags = PyCFunction_GetFlags(f); - if (unlikely(flags < 0)) return NULL; -#else - PyCFunctionObject* f = (PyCFunctionObject*)func; - PyCFunction meth = f->m_ml->ml_meth; - int flags = f->m_ml->ml_flags; -#endif - Py_ssize_t size; - switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { - case METH_VARARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) - return (*meth)(self, arg); - break; - case METH_VARARGS | METH_KEYWORDS: - return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); - case METH_NOARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 0)) - return (*meth)(self, NULL); -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - case METH_O: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 1)) { - PyObject *result, *arg0; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - arg0 = PyTuple_GET_ITEM(arg, 0); - #else - arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; - #endif - result = (*meth)(self, arg0); - #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(arg0); - #endif - return result; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - return NULL; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments", - py_name); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", - f->m_ml->ml_name); -#endif - return NULL; -} -static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *self, *result; -#if CYTHON_COMPILING_IN_LIMITED_API - self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func); - if (unlikely(!self) && PyErr_Occurred()) return NULL; -#else - self = ((PyCFunctionObject*)func)->m_self; -#endif - result = __Pyx_CyFunction_CallMethod(func, self, arg, kw); - return result; -} -static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { - PyObject *result; - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; -#if CYTHON_METH_FASTCALL - __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc); - if (vc) { -#if CYTHON_ASSUME_SAFE_MACROS - return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw); -#else - (void) &__Pyx_PyVectorcall_FastCallDict; - return PyVectorcall_Call(func, args, kw); -#endif - } -#endif - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - Py_ssize_t argc; - PyObject *new_args; - PyObject *self; -#if CYTHON_ASSUME_SAFE_MACROS - argc = PyTuple_GET_SIZE(args); -#else - argc = PyTuple_Size(args); - if (unlikely(!argc) < 0) return NULL; -#endif - new_args = PyTuple_GetSlice(args, 1, argc); - if (unlikely(!new_args)) - return NULL; - self = PyTuple_GetItem(args, 0); - if (unlikely(!self)) { - Py_DECREF(new_args); -#if PY_MAJOR_VERSION > 2 - PyErr_Format(PyExc_TypeError, - "unbound method %.200S() needs an argument", - cyfunc->func_qualname); -#else - PyErr_SetString(PyExc_TypeError, - "unbound method needs an argument"); -#endif - return NULL; - } - result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); - Py_DECREF(new_args); - } else { - result = __Pyx_CyFunction_Call(func, args, kw); - } - return result; -} -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames) -{ - int ret = 0; - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - if (unlikely(nargs < 1)) { - PyErr_Format(PyExc_TypeError, "%.200s() needs an argument", - ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - ret = 1; - } - if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - return ret; -} -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 0)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, NULL); -} -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 1)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, args[0]); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; - PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc); -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames); -} -#endif -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CyFunctionType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc}, - {Py_tp_repr, (void *)__Pyx_CyFunction_repr}, - {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod}, - {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse}, - {Py_tp_clear, (void *)__Pyx_CyFunction_clear}, - {Py_tp_methods, (void *)__pyx_CyFunction_methods}, - {Py_tp_members, (void *)__pyx_CyFunction_members}, - {Py_tp_getset, (void *)__pyx_CyFunction_getsets}, - {Py_tp_descr_get, (void *)__Pyx_PyMethod_New}, - {0, 0}, -}; -static PyType_Spec __pyx_CyFunctionType_spec = { - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL) - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - __pyx_CyFunctionType_slots -}; -#else -static PyTypeObject __pyx_CyFunctionType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, - (destructor) __Pyx_CyFunction_dealloc, -#if !CYTHON_METH_FASTCALL - 0, -#elif CYTHON_BACKPORT_VECTORCALL - (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall), -#else - offsetof(PyCFunctionObject, vectorcall), -#endif - 0, - 0, -#if PY_MAJOR_VERSION < 3 - 0, -#else - 0, -#endif - (reprfunc) __Pyx_CyFunction_repr, - 0, - 0, - 0, - 0, - __Pyx_CyFunction_CallAsMethod, - 0, - 0, - 0, - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - 0, - (traverseproc) __Pyx_CyFunction_traverse, - (inquiry) __Pyx_CyFunction_clear, - 0, -#if PY_VERSION_HEX < 0x030500A0 - offsetof(__pyx_CyFunctionObject, func_weakreflist), -#else - offsetof(PyCFunctionObject, m_weakreflist), -#endif - 0, - 0, - __pyx_CyFunction_methods, - __pyx_CyFunction_members, - __pyx_CyFunction_getsets, - 0, - 0, - __Pyx_PyMethod_New, - 0, - offsetof(__pyx_CyFunctionObject, func_dict), - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_CyFunction_init(PyObject *module) { -#if CYTHON_USE_TYPE_SPECS - __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL); -#else - CYTHON_UNUSED_VAR(module); - __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); -#endif - if (unlikely(__pyx_CyFunctionType == NULL)) { - return -1; - } - return 0; -} -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults = PyObject_Malloc(size); - if (unlikely(!m->defaults)) - return PyErr_NoMemory(); - memset(m->defaults, 0, size); - m->defaults_pyobjects = pyobjects; - m->defaults_size = size; - return m->defaults; -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_tuple = tuple; - Py_INCREF(tuple); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_kwdict = dict; - Py_INCREF(dict); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->func_annotations = dict; - Py_INCREF(dict); -} - -/* CythonFunction */ - static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - PyObject *op = __Pyx_CyFunction_Init( - PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), - ml, flags, qualname, closure, module, globals, code - ); - if (likely(op)) { - PyObject_GC_Track(op); - } - return op; -} - -/* PatchInspect */ - static PyObject* __Pyx_patch_inspect(PyObject* module) { -#if defined(__Pyx_Generator_USED) && (!defined(CYTHON_PATCH_INSPECT) || CYTHON_PATCH_INSPECT) - static int inspect_patched = 0; - if (unlikely((!inspect_patched) && module)) { - module = __Pyx_Coroutine_patch_module( - module, "" -"old_types = getattr(_module.isgenerator, '_cython_generator_types', None)\n" -"if old_types is None or not isinstance(old_types, set):\n" -" old_types = set()\n" -" def cy_wrap(orig_func, type=type, cython_generator_types=old_types):\n" -" def cy_isgenerator(obj): return type(obj) in cython_generator_types or orig_func(obj)\n" -" cy_isgenerator._cython_generator_types = cython_generator_types\n" -" return cy_isgenerator\n" -" _module.isgenerator = cy_wrap(_module.isgenerator)\n" -"old_types.add(_cython_generator_type)\n" - ); - inspect_patched = 1; - } -#else - if ((0)) return __Pyx_Coroutine_patch_module(module, NULL); -#endif - return module; -} - -/* PatchAsyncIO */ - static PyObject* __Pyx_patch_asyncio(PyObject* module) { -#if PY_VERSION_HEX < 0x030500B2 &&\ - (defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED)) &&\ - (!defined(CYTHON_PATCH_ASYNCIO) || CYTHON_PATCH_ASYNCIO) - PyObject *patch_module = NULL; - static int asyncio_patched = 0; - if (unlikely((!asyncio_patched) && module)) { - PyObject *package; - package = __Pyx_Import(__pyx_n_s_asyncio_coroutines, NULL, 0); - if (package) { - patch_module = __Pyx_Coroutine_patch_module( - PyObject_GetAttrString(package, "coroutines"), "" -"try:\n" -" coro_types = _module._COROUTINE_TYPES\n" -"except AttributeError: pass\n" -"else:\n" -" if _cython_coroutine_type is not None and _cython_coroutine_type not in coro_types:\n" -" coro_types = tuple(coro_types) + (_cython_coroutine_type,)\n" -" if _cython_generator_type is not None and _cython_generator_type not in coro_types:\n" -" coro_types = tuple(coro_types) + (_cython_generator_type,)\n" -"_module._COROUTINE_TYPES = coro_types\n" - ); - } else { - PyErr_Clear(); - package = __Pyx_Import(__pyx_n_s_asyncio_tasks, NULL, 0); - if (unlikely(!package)) goto asyncio_done; - patch_module = __Pyx_Coroutine_patch_module( - PyObject_GetAttrString(package, "tasks"), "" -"if hasattr(_module, 'iscoroutine'):\n" -" old_types = getattr(_module.iscoroutine, '_cython_coroutine_types', None)\n" -" if old_types is None or not isinstance(old_types, set):\n" -" old_types = set()\n" -" def cy_wrap(orig_func, type=type, cython_coroutine_types=old_types):\n" -" def cy_iscoroutine(obj): return type(obj) in cython_coroutine_types or orig_func(obj)\n" -" cy_iscoroutine._cython_coroutine_types = cython_coroutine_types\n" -" return cy_iscoroutine\n" -" _module.iscoroutine = cy_wrap(_module.iscoroutine)\n" -" if _cython_coroutine_type is not None:\n" -" old_types.add(_cython_coroutine_type)\n" -" if _cython_generator_type is not None:\n" -" old_types.add(_cython_generator_type)\n" - ); - } - Py_DECREF(package); - if (unlikely(!patch_module)) goto ignore; -asyncio_done: - PyErr_Clear(); - asyncio_patched = 1; -#ifdef __Pyx_Generator_USED - { - PyObject *inspect_module; - if (patch_module) { - inspect_module = PyObject_GetAttr(patch_module, __pyx_n_s_inspect); - Py_DECREF(patch_module); - } else { - inspect_module = __Pyx_Import(__pyx_n_s_inspect, NULL, 0); - } - if (unlikely(!inspect_module)) goto ignore; - inspect_module = __Pyx_patch_inspect(inspect_module); - if (unlikely(!inspect_module)) { - Py_DECREF(module); - module = NULL; - } - Py_XDECREF(inspect_module); - } -#else - if ((0)) return __Pyx_patch_inspect(module); -#endif - } - return module; -ignore: - PyErr_WriteUnraisable(module); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch asyncio package with custom generator type", 1) < 0)) { - Py_DECREF(module); - module = NULL; - } -#else - if ((0)) return __Pyx_patch_inspect(__Pyx_Coroutine_patch_module(module, NULL)); -#endif - return module; -} - -/* CLineInTraceback */ - #ifndef CYTHON_CLINE_IN_TRACEBACK -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { - PyObject *use_cline; - PyObject *ptype, *pvalue, *ptraceback; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject **cython_runtime_dict; -#endif - CYTHON_MAYBE_UNUSED_VAR(tstate); - if (unlikely(!__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); -#if CYTHON_COMPILING_IN_CPYTHON - cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, *cython_runtime_dict, - __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) - } else -#endif - { - PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); - if (use_cline_obj) { - use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; - Py_DECREF(use_cline_obj); - } else { - PyErr_Clear(); - use_cline = NULL; - } - } - if (!use_cline) { - c_line = 0; - (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); - } - else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache */ - #if !CYTHON_COMPILING_IN_LIMITED_API -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static PyCodeObject *__pyx_find_code_object(int code_line) { - PyCodeObject* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { - return NULL; - } - code_object = __pyx_code_cache.entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = 64; - __pyx_code_cache.count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { - PyCodeObject* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_DECREF(tmp); - return; - } - if (__pyx_code_cache.count == __pyx_code_cache.max_count) { - int new_max = __pyx_code_cache.max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = new_max; - } - for (i=__pyx_code_cache.count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - __pyx_code_cache.count++; - Py_INCREF(code_object); -} -#endif - -/* AddTraceback */ - #include "compile.h" -#include "frameobject.h" -#include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict, - PyObject *firstlineno, PyObject *name) { - PyObject *replace = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL; - replace = PyObject_GetAttrString(code, "replace"); - if (likely(replace)) { - PyObject *result; - result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict); - Py_DECREF(replace); - return result; - } - PyErr_Clear(); - #if __PYX_LIMITED_VERSION_HEX < 0x030780000 - { - PyObject *compiled = NULL, *result = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL; - compiled = Py_CompileString( - "out = type(code)(\n" - " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n" - " code.co_flags, code.co_code, code.co_consts, code.co_names,\n" - " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n" - " code.co_lnotab)\n", "", Py_file_input); - if (!compiled) return NULL; - result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict); - Py_DECREF(compiled); - if (!result) PyErr_Print(); - Py_DECREF(result); - result = PyDict_GetItemString(scratch_dict, "out"); - if (result) Py_INCREF(result); - return result; - } - #else - return NULL; - #endif -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL; - PyObject *replace = NULL, *getframe = NULL, *frame = NULL; - PyObject *exc_type, *exc_value, *exc_traceback; - int success = 0; - if (c_line) { - (void) __pyx_cfilenm; - (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line); - } - PyErr_Fetch(&exc_type, &exc_value, &exc_traceback); - code_object = Py_CompileString("_getframe()", filename, Py_eval_input); - if (unlikely(!code_object)) goto bad; - py_py_line = PyLong_FromLong(py_line); - if (unlikely(!py_py_line)) goto bad; - py_funcname = PyUnicode_FromString(funcname); - if (unlikely(!py_funcname)) goto bad; - dict = PyDict_New(); - if (unlikely(!dict)) goto bad; - { - PyObject *old_code_object = code_object; - code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname); - Py_DECREF(old_code_object); - } - if (unlikely(!code_object)) goto bad; - getframe = PySys_GetObject("_getframe"); - if (unlikely(!getframe)) goto bad; - if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad; - frame = PyEval_EvalCode(code_object, dict, dict); - if (unlikely(!frame) || frame == Py_None) goto bad; - success = 1; - bad: - PyErr_Restore(exc_type, exc_value, exc_traceback); - Py_XDECREF(code_object); - Py_XDECREF(py_py_line); - Py_XDECREF(py_funcname); - Py_XDECREF(dict); - Py_XDECREF(replace); - if (success) { - PyTraceBack_Here( - (struct _frame*)frame); - } - Py_XDECREF(frame); -} -#else -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = NULL; - PyObject *py_funcname = NULL; - #if PY_MAJOR_VERSION < 3 - PyObject *py_srcfile = NULL; - py_srcfile = PyString_FromString(filename); - if (!py_srcfile) goto bad; - #endif - if (c_line) { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - #else - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - funcname = PyUnicode_AsUTF8(py_funcname); - if (!funcname) goto bad; - #endif - } - else { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromString(funcname); - if (!py_funcname) goto bad; - #endif - } - #if PY_MAJOR_VERSION < 3 - py_code = __Pyx_PyCode_New( - 0, - 0, - 0, - 0, - 0, - 0, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - py_line, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); - Py_DECREF(py_srcfile); - #else - py_code = PyCode_NewEmpty(filename, funcname, py_line); - #endif - Py_XDECREF(py_funcname); - return py_code; -bad: - Py_XDECREF(py_funcname); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_srcfile); - #endif - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject *ptype, *pvalue, *ptraceback; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) { - /* If the code object creation fails, then we should clear the - fetched exception references and propagate the new exception */ - Py_XDECREF(ptype); - Py_XDECREF(pvalue); - Py_XDECREF(ptraceback); - goto bad; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} -#endif - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *from_bytes, *result = NULL; - PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL; - from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes"); - if (!from_bytes) return NULL; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long)); - if (!py_bytes) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - arg_tuple = PyTuple_Pack(2, py_bytes, order_str); - if (!arg_tuple) goto limited_bad; - if (!is_unsigned) { - kwds = PyDict_New(); - if (!kwds) goto limited_bad; - if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad; - } - result = PyObject_Call(from_bytes, arg_tuple, kwds); - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(arg_tuple); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes); - return result; -#endif - } -} - -/* FormatTypeName */ - #if CYTHON_COMPILING_IN_LIMITED_API -static __Pyx_TypeName -__Pyx_PyType_GetName(PyTypeObject* tp) -{ - PyObject *name = __Pyx_PyObject_GetAttrStr((PyObject *)tp, - __pyx_n_s_name); - if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) { - PyErr_Clear(); - Py_XDECREF(name); - name = __Pyx_NewRef(__pyx_n_s__60); - } - return name; -} -#endif - -/* CIntFromPyVerify */ - #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* CIntFromPy */ - static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(long) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (long) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (long) -1; - val = __Pyx_PyInt_As_long(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(long) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(long) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - long val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (long) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (long) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (long) -1; - } else { - stepval = v; - } - v = NULL; - val = (long) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((long) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((long) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (long) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to long"); - return (long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int) -1; - val = __Pyx_PyInt_As_int(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(int) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(int) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - int val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (int) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (int) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (int) -1; - } else { - stepval = v; - } - v = NULL; - val = (int) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((int) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((int) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (int) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); - return (int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; -} - -/* CheckBinaryVersion */ - static unsigned long __Pyx_get_runtime_version(void) { -#if __PYX_LIMITED_VERSION_HEX >= 0x030B00A4 - return Py_Version & ~0xFFUL; -#else - const char* rt_version = Py_GetVersion(); - unsigned long version = 0; - unsigned long factor = 0x01000000UL; - unsigned int digit = 0; - int i = 0; - while (factor) { - while ('0' <= rt_version[i] && rt_version[i] <= '9') { - digit = digit * 10 + (unsigned int) (rt_version[i] - '0'); - ++i; - } - version += factor * digit; - if (rt_version[i] != '.') - break; - digit = 0; - factor >>= 8; - ++i; - } - return version; -#endif -} -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) { - const unsigned long MAJOR_MINOR = 0xFFFF0000UL; - if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR)) - return 0; - if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR))) - return 1; - { - char message[200]; - PyOS_snprintf(message, sizeof(message), - "compile time Python version %d.%d " - "of module '%.100s' " - "%s " - "runtime version %d.%d", - (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF), - __Pyx_MODULE_NAME, - (allow_newer) ? "was newer than" : "does not match", - (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF) - ); - return PyErr_WarnEx(NULL, message, 1); - } -} - -/* InitStrings */ - #if PY_MAJOR_VERSION >= 3 -static int __Pyx_InitString(__Pyx_StringTabEntry t, PyObject **str) { - if (t.is_unicode | t.is_str) { - if (t.intern) { - *str = PyUnicode_InternFromString(t.s); - } else if (t.encoding) { - *str = PyUnicode_Decode(t.s, t.n - 1, t.encoding, NULL); - } else { - *str = PyUnicode_FromStringAndSize(t.s, t.n - 1); - } - } else { - *str = PyBytes_FromStringAndSize(t.s, t.n - 1); - } - if (!*str) - return -1; - if (PyObject_Hash(*str) == -1) - return -1; - return 0; -} -#endif -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { - while (t->p) { - #if PY_MAJOR_VERSION >= 3 - __Pyx_InitString(*t, t->p); - #else - if (t->is_unicode) { - *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); - } else if (t->intern) { - *t->p = PyString_InternFromString(t->s); - } else { - *t->p = PyString_FromStringAndSize(t->s, t->n - 1); - } - if (!*t->p) - return -1; - if (PyObject_Hash(*t->p) == -1) - return -1; - #endif - ++t; - } - return 0; -} - -#include -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) { - size_t len = strlen(s); - if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) { - PyErr_SetString(PyExc_OverflowError, "byte string is too long"); - return -1; - } - return (Py_ssize_t) len; -} -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return __Pyx_PyUnicode_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return PyByteArray_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#if !CYTHON_PEP393_ENABLED -static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - char* defenc_c; - PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); - if (!defenc) return NULL; - defenc_c = PyBytes_AS_STRING(defenc); -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - { - char* end = defenc_c + PyBytes_GET_SIZE(defenc); - char* c; - for (c = defenc_c; c < end; c++) { - if ((unsigned char) (*c) >= 128) { - PyUnicode_AsASCIIString(o); - return NULL; - } - } - } -#endif - *length = PyBytes_GET_SIZE(defenc); - return defenc_c; -} -#else -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -} -#endif -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT - if ( -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - __Pyx_sys_getdefaultencoding_not_ascii && -#endif - PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif -#if (!CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) - if (PyByteArray_Check(o)) { - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); - } else -#endif - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { - __Pyx_TypeName result_type_name = __Pyx_PyType_GetName(Py_TYPE(result)); -#if PY_MAJOR_VERSION >= 3 - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type " __Pyx_FMT_TYPENAME "). " - "The ability to return an instance of a strict subclass of int is deprecated, " - "and may be removed in a future version of Python.", - result_type_name)) { - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; - } - __Pyx_DECREF_TypeName(result_type_name); - return result; - } -#endif - PyErr_Format(PyExc_TypeError, - "__%.4s__ returned non-%.4s (type " __Pyx_FMT_TYPENAME ")", - type_name, type_name, result_type_name); - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - const char *name = NULL; - PyObject *res = NULL; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x) || PyLong_Check(x))) -#else - if (likely(PyLong_Check(x))) -#endif - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - #if PY_MAJOR_VERSION < 3 - if (m && m->nb_int) { - name = "int"; - res = m->nb_int(x); - } - else if (m && m->nb_long) { - name = "long"; - res = m->nb_long(x); - } - #else - if (likely(m && m->nb_int)) { - name = "int"; - res = m->nb_int(x); - } - #endif -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Int(x); - } -#endif - if (likely(res)) { -#if PY_MAJOR_VERSION < 3 - if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { -#else - if (unlikely(!PyLong_CheckExact(res))) { -#endif - return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - Py_ssize_t ival; - PyObject *x; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(b))) { - if (sizeof(Py_ssize_t) >= sizeof(long)) - return PyInt_AS_LONG(b); - else - return PyInt_AsSsize_t(b); - } -#endif - if (likely(PyLong_CheckExact(b))) { - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(__Pyx_PyLong_IsCompact(b))) { - return __Pyx_PyLong_CompactValue(b); - } else { - const digit* digits = __Pyx_PyLong_Digits(b); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b); - switch (size) { - case 2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - } - } - #endif - return PyLong_AsSsize_t(b); - } - x = PyNumber_Index(b); - if (!x) return -1; - ival = PyInt_AsSsize_t(x); - Py_DECREF(x); - return ival; -} -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { - if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { - return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); -#if PY_MAJOR_VERSION < 3 - } else if (likely(PyInt_CheckExact(o))) { - return PyInt_AS_LONG(o); -#endif - } else { - Py_ssize_t ival; - PyObject *x; - x = PyNumber_Index(o); - if (!x) return -1; - ival = PyInt_AsLong(x); - Py_DECREF(x); - return ival; - } -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { - return PyInt_FromSize_t(ival); -} - - -/* #### Code section: utility_code_pragmas_end ### */ -#ifdef _MSC_VER -#pragma warning( pop ) -#endif - - - -/* #### Code section: end ### */ -#endif /* Py_PYTHON_H */ diff --git a/handlers/payments/gift.cpython-312-x86_64-linux-gnu.so b/handlers/payments/gift.cpython-312-x86_64-linux-gnu.so old mode 100755 new mode 100644 index 3e15c4964131aa76238e262266f5f0787b981a8f..36fb02c988680ff6dd65293b93aeeeaf62f315b8 GIT binary patch literal 479088 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

(u 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

J1uZ}y|w;a2P;)M6C@0ic3 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%0D$?2OCkZ*(6 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®IG19$P0lBIyBqI#f5;hD&Mc}vo{3_D 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 VLesX&QGd_V?PqQ$ntG<}{{j1dSc3on diff --git a/handlers/payments/stars_pay.c b/handlers/payments/stars_pay.c deleted file mode 100644 index e514b80a..00000000 --- a/handlers/payments/stars_pay.c +++ /dev/null @@ -1,19160 +0,0 @@ -/* Generated by Cython 3.0.12 */ - -/* BEGIN: Cython Metadata -{ - "distutils": { - "extra_compile_args": [ - "-O2", - "-static-libgcc" - ], - "extra_link_args": [ - "-s" - ], - "name": "handlers.payments.stars_pay", - "sources": [ - "handlers/payments/stars_pay.py" - ] - }, - "module_name": "handlers.payments.stars_pay" -} -END: Cython Metadata */ - -#ifndef PY_SSIZE_T_CLEAN -#define PY_SSIZE_T_CLEAN -#endif /* PY_SSIZE_T_CLEAN */ -#if defined(CYTHON_LIMITED_API) && 0 - #ifndef Py_LIMITED_API - #if CYTHON_LIMITED_API+0 > 0x03030000 - #define Py_LIMITED_API CYTHON_LIMITED_API - #else - #define Py_LIMITED_API 0x03030000 - #endif - #endif -#endif - -#include "Python.h" -#ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) - #error Cython requires Python 2.7+ or Python 3.3+. -#else -#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API -#define __PYX_EXTRA_ABI_MODULE_NAME "limited" -#else -#define __PYX_EXTRA_ABI_MODULE_NAME "" -#endif -#define CYTHON_ABI "3_0_12" __PYX_EXTRA_ABI_MODULE_NAME -#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI -#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "." -#define CYTHON_HEX_VERSION 0x03000CF0 -#define CYTHON_FUTURE_DIVISION 1 -#include -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef HAVE_LONG_LONG - #define HAVE_LONG_LONG -#endif -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX -#if defined(GRAALVM_PYTHON) - /* For very preliminary testing purposes. Most variables are set the same as PyPy. - The existence of this section does not imply that anything works or is even tested */ - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 1 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(PYPY_VERSION) - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #if PY_VERSION_HEX < 0x03090000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00) - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(CYTHON_LIMITED_API) - #ifdef Py_LIMITED_API - #undef __PYX_LIMITED_VERSION_HEX - #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API - #endif - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 1 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_CLINE_IN_TRACEBACK - #define CYTHON_CLINE_IN_TRACEBACK 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 1 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #endif - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 1 - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 1 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #ifndef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 1 - #endif - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 - #endif -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #ifndef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #if PY_MAJOR_VERSION < 3 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #ifndef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #ifndef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #ifndef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL (PY_MAJOR_VERSION < 3 || PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030C00A6) - #endif - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL (PY_VERSION_HEX >= 0x030700A1) - #endif - #ifndef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 1 - #endif - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #if PY_VERSION_HEX < 0x030400a1 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #elif !defined(CYTHON_USE_TP_FINALIZE) - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #if PY_VERSION_HEX < 0x030600B1 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #elif !defined(CYTHON_USE_DICT_VERSIONS) - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX < 0x030C00A5) - #endif - #if PY_VERSION_HEX < 0x030700A3 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #elif !defined(CYTHON_USE_EXC_INFO_STACK) - #define CYTHON_USE_EXC_INFO_STACK 1 - #endif - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 1 - #endif -#endif -#if !defined(CYTHON_FAST_PYCCALL) -#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) -#endif -#if !defined(CYTHON_VECTORCALL) -#define CYTHON_VECTORCALL (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1) -#endif -#define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1) -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_MAJOR_VERSION < 3 - #include "longintrepr.h" - #endif - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(maybe_unused) - #define CYTHON_UNUSED [[maybe_unused]] - #endif - #endif - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR - #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x) -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_USE_CPP_STD_MOVE - #if defined(__cplusplus) && (\ - __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)) - #define CYTHON_USE_CPP_STD_MOVE 1 - #else - #define CYTHON_USE_CPP_STD_MOVE 0 - #endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#ifdef _MSC_VER - #ifndef _MSC_STDINT_H_ - #if _MSC_VER < 1300 - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - typedef unsigned int uint32_t; - #else - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; - #endif - #endif - #if _MSC_VER < 1300 - #ifdef _WIN64 - typedef unsigned long long __pyx_uintptr_t; - #else - typedef unsigned int __pyx_uintptr_t; - #endif - #else - #ifdef _WIN64 - typedef unsigned __int64 __pyx_uintptr_t; - #else - typedef unsigned __int32 __pyx_uintptr_t; - #endif - #endif -#else - #include - typedef uintptr_t __pyx_uintptr_t; -#endif -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(fallthrough) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif -#ifdef __cplusplus - template - struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);}; - #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL::value) -#else - #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0) -#endif -#if CYTHON_COMPILING_IN_PYPY == 1 - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000) -#else - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000) -#endif -#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer)) - -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" - #define __Pyx_DefaultClassType PyClass_Type - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" - #define __Pyx_DefaultClassType PyType_Type -#if CYTHON_COMPILING_IN_LIMITED_API - static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyObject *exception_table = NULL; - PyObject *types_module=NULL, *code_type=NULL, *result=NULL; - #if __PYX_LIMITED_VERSION_HEX < 0x030B0000 - PyObject *version_info; - PyObject *py_minor_version = NULL; - #endif - long minor_version = 0; - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); - #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000 - minor_version = 11; - #else - if (!(version_info = PySys_GetObject("version_info"))) goto end; - if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end; - minor_version = PyLong_AsLong(py_minor_version); - Py_DECREF(py_minor_version); - if (minor_version == -1 && PyErr_Occurred()) goto end; - #endif - if (!(types_module = PyImport_ImportModule("types"))) goto end; - if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end; - if (minor_version <= 7) { - (void)p; - result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else if (minor_version <= 10) { - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else { - if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end; - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell); - } - end: - Py_XDECREF(code_type); - Py_XDECREF(exception_table); - Py_XDECREF(types_module); - if (type) { - PyErr_Restore(type, value, traceback); - } - return result; - } - #ifndef CO_OPTIMIZED - #define CO_OPTIMIZED 0x0001 - #endif - #ifndef CO_NEWLOCALS - #define CO_NEWLOCALS 0x0002 - #endif - #ifndef CO_VARARGS - #define CO_VARARGS 0x0004 - #endif - #ifndef CO_VARKEYWORDS - #define CO_VARKEYWORDS 0x0008 - #endif - #ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x0200 - #endif - #ifndef CO_GENERATOR - #define CO_GENERATOR 0x0020 - #endif - #ifndef CO_COROUTINE - #define CO_COROUTINE 0x0080 - #endif -#elif PY_VERSION_HEX >= 0x030B0000 - static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyCodeObject *result; - PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); - if (!empty_bytes) return NULL; - result = - #if PY_VERSION_HEX >= 0x030C0000 - PyUnstable_Code_NewWithPosOnlyArgs - #else - PyCode_NewWithPosOnlyArgs - #endif - (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes); - Py_DECREF(empty_bytes); - return result; - } -#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif -#endif -#if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE) - #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type) -#else - #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is) - #define __Pyx_Py_Is(x, y) Py_Is(x, y) -#else - #define __Pyx_Py_Is(x, y) ((x) == (y)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone) - #define __Pyx_Py_IsNone(ob) Py_IsNone(ob) -#else - #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue) - #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob) -#else - #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse) - #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob) -#else - #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False) -#endif -#define __Pyx_NoneAsNull(obj) (__Pyx_Py_IsNone(obj) ? NULL : (obj)) -#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o) -#else - #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o) -#endif -#ifndef CO_COROUTINE - #define CO_COROUTINE 0x80 -#endif -#ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x200 -#endif -#ifndef Py_TPFLAGS_CHECKTYPES - #define Py_TPFLAGS_CHECKTYPES 0 -#endif -#ifndef Py_TPFLAGS_HAVE_INDEX - #define Py_TPFLAGS_HAVE_INDEX 0 -#endif -#ifndef Py_TPFLAGS_HAVE_NEWBUFFER - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef Py_TPFLAGS_SEQUENCE - #define Py_TPFLAGS_SEQUENCE 0 -#endif -#ifndef Py_TPFLAGS_MAPPING - #define Py_TPFLAGS_MAPPING 0 -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #if PY_VERSION_HEX >= 0x030d00A4 - # define __Pyx_PyCFunctionFast PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords - #else - # define __Pyx_PyCFunctionFast _PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords - #endif -#endif -#if CYTHON_METH_FASTCALL - #define __Pyx_METH_FASTCALL METH_FASTCALL - #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast - #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords -#else - #define __Pyx_METH_FASTCALL METH_VARARGS - #define __Pyx_PyCFunction_FastCall PyCFunction - #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords -#endif -#if CYTHON_VECTORCALL - #define __pyx_vectorcallfunc vectorcallfunc - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET PY_VECTORCALL_ARGUMENTS_OFFSET - #define __Pyx_PyVectorcall_NARGS(n) PyVectorcall_NARGS((size_t)(n)) -#elif CYTHON_BACKPORT_VECTORCALL - typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args, - size_t nargsf, PyObject *kwnames); - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET ((size_t)1 << (8 * sizeof(size_t) - 1)) - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)) -#else - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0 - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n)) -#endif -#if PY_MAJOR_VERSION >= 0x030900B1 -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func) -#else -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func) -#endif -#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func) -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth) -#elif !CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func) -#endif -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags) -static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) { - return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self; -} -#endif -static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) { -#if CYTHON_COMPILING_IN_LIMITED_API - return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc; -#else - return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -#endif -} -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc) -#if __PYX_LIMITED_VERSION_HEX < 0x030900B1 - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b)) - typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *); -#else - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) PyType_FromModuleAndSpec(m, s, b) - #define __Pyx_PyCMethod PyCMethod -#endif -#ifndef METH_METHOD - #define METH_METHOD 0x200 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyThreadState_Current PyThreadState_Get() -#elif !CYTHON_FAST_THREAD_STATE - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked() -#elif PY_VERSION_HEX >= 0x03060000 - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#elif PY_VERSION_HEX >= 0x03000000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_Current -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE void *__Pyx_PyModule_GetState(PyObject *op) -{ - void *result; - result = PyModule_GetState(op); - if (!result) - Py_FatalError("Couldn't find the module state"); - return result; -} -#endif -#define __Pyx_PyObject_GetSlot(obj, name, func_ctype) __Pyx_PyType_GetSlot(Py_TYPE(obj), name, func_ctype) -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((func_ctype) PyType_GetSlot((type), Py_##name)) -#else - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((type)->name) -#endif -#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) -#include "pythread.h" -#define Py_tss_NEEDS_INIT 0 -typedef int Py_tss_t; -static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { - *key = PyThread_create_key(); - return 0; -} -static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { - Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); - *key = Py_tss_NEEDS_INIT; - return key; -} -static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { - PyObject_Free(key); -} -static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { - return *key != Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { - PyThread_delete_key(*key); - *key = Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { - return PyThread_set_key_value(*key, value); -} -static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { - return PyThread_get_key_value(*key); -} -#endif -#if PY_MAJOR_VERSION < 3 - #if CYTHON_COMPILING_IN_PYPY - #if PYPY_VERSION_NUM < 0x07030600 - #if defined(__cplusplus) && __cplusplus >= 201402L - [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]] - #elif defined(__GNUC__) || defined(__clang__) - __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))) - #elif defined(_MSC_VER) - __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")) - #endif - static CYTHON_INLINE int PyGILState_Check(void) { - return 0; - } - #else // PYPY_VERSION_NUM < 0x07030600 - #endif // PYPY_VERSION_NUM < 0x07030600 - #else - static CYTHON_INLINE int PyGILState_Check(void) { - PyThreadState * tstate = _PyThreadState_Current; - return tstate && (tstate == PyGILState_GetThisThreadState()); - } - #endif -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION - #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#else - #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) { - PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name); - if (res == NULL) PyErr_Clear(); - return res; -} -#elif PY_MAJOR_VERSION >= 3 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000) -#define __Pyx_PyDict_GetItemStrWithError PyDict_GetItemWithError -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#else -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) { -#if CYTHON_COMPILING_IN_PYPY - return PyDict_GetItem(dict, name); -#else - PyDictEntry *ep; - PyDictObject *mp = (PyDictObject*) dict; - long hash = ((PyStringObject *) name)->ob_shash; - assert(hash != -1); - ep = (mp->ma_lookup)(mp, name, hash); - if (ep == NULL) { - return NULL; - } - return ep->me_value; -#endif -} -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#endif -#if CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyType_GetFlags(tp) (((PyTypeObject *)tp)->tp_flags) - #define __Pyx_PyType_HasFeature(type, feature) ((__Pyx_PyType_GetFlags(type) & (feature)) != 0) - #define __Pyx_PyObject_GetIterNextFunc(obj) (Py_TYPE(obj)->tp_iternext) -#else - #define __Pyx_PyType_GetFlags(tp) (PyType_GetFlags((PyTypeObject *)tp)) - #define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature) - #define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v) -#else - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v) -#endif -#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000 -#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\ - PyTypeObject *type = Py_TYPE((PyObject*)obj);\ - assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\ - PyObject_GC_Del(obj);\ - Py_DECREF(type);\ -} -#else -#define __Pyx_PyHeapTypeObject_GC_Del(obj) PyObject_GC_Del(obj) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define CYTHON_PEP393_ENABLED 1 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GetLength(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((void)u, 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((void)u, (0)) - #define __Pyx_PyUnicode_DATA(u) ((void*)u) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)k, PyUnicode_ReadChar((PyObject*)(d), i)) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GetLength(u)) -#elif PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) - #define CYTHON_PEP393_ENABLED 1 - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_READY(op) (0) - #else - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #endif - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) ((int)PyUnicode_KIND(u)) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, (Py_UCS4) ch) - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #else - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #endif - #endif -#else - #define CYTHON_PEP393_ENABLED 0 - #define PyUnicode_1BYTE_KIND 1 - #define PyUnicode_2BYTE_KIND 2 - #define PyUnicode_4BYTE_KIND 4 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535U : 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((int)sizeof(Py_UNICODE)) - #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = (Py_UNICODE) ch) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #if !defined(PyUnicode_DecodeUnicodeEscape) - #define PyUnicode_DecodeUnicodeEscape(s, size, errors) PyUnicode_Decode(s, size, "unicode_escape", errors) - #endif - #if !defined(PyUnicode_Contains) || (PY_MAJOR_VERSION == 2 && PYPY_VERSION_NUM < 0x07030500) - #undef PyUnicode_Contains - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) - #endif - #if !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) - #endif - #if !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) - #endif -#endif -#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) -#else - #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) -#endif -#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) - #define PyObject_ASCII(o) PyObject_Repr(o) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject - #define PyString_Type PyUnicode_Type - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact -#ifndef PyObject_Unicode - #define PyObject_Unicode PyObject_Str -#endif -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) - #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) -#else - #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) - #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) -#endif -#if CYTHON_COMPILING_IN_CPYTHON - #define __Pyx_PySequence_ListKeepNew(obj)\ - (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj)) -#else - #define __Pyx_PySequence_ListKeepNew(obj) PySequence_List(obj) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) __Pyx_IS_TYPE(obj, &PySet_Type) -#endif -#if PY_VERSION_HEX >= 0x030900A4 - #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) -#else - #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i) - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o) -#else - #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i) - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v) - #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o) -#endif -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name) -#else - static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) { - PyObject *module = PyImport_AddModule(name); - Py_XINCREF(module); - return module; - } -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type - #define PyInt_Check(op) PyLong_Check(op) - #define PyInt_CheckExact(op) PyLong_CheckExact(op) - #define __Pyx_Py3Int_Check(op) PyLong_Check(op) - #define __Pyx_Py3Int_CheckExact(op) PyLong_CheckExact(op) - #define PyInt_FromString PyLong_FromString - #define PyInt_FromUnicode PyLong_FromUnicode - #define PyInt_FromLong PyLong_FromLong - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_AsLong PyLong_AsLong - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsSsize_t PyLong_AsSsize_t - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #define PyNumber_Int PyNumber_Long -#else - #define __Pyx_Py3Int_Check(op) (PyLong_Check(op) || PyInt_Check(op)) - #define __Pyx_Py3Int_CheckExact(op) (PyLong_CheckExact(op) || PyInt_CheckExact(op)) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject -#endif -#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY - #ifndef PyUnicode_InternFromString - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) - #endif -#endif -#if PY_VERSION_HEX < 0x030200A4 - typedef long Py_hash_t; - #define __Pyx_PyInt_FromHash_t PyInt_FromLong - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t -#else - #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t -#endif -#if CYTHON_USE_ASYNC_SLOTS - #if PY_VERSION_HEX >= 0x030500B1 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods - #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) - #else - #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) - #endif -#else - #define __Pyx_PyType_AsAsync(obj) NULL -#endif -#ifndef __Pyx_PyAsyncMethodsStruct - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - } __Pyx_PyAsyncMethodsStruct; -#endif - -#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) - #if !defined(_USE_MATH_DEFINES) - #define _USE_MATH_DEFINES - #endif -#endif -#include -#ifdef NAN -#define __PYX_NAN() ((float) NAN) -#else -static CYTHON_INLINE float __PYX_NAN() { - float value; - memset(&value, 0xFF, sizeof(value)); - return value; -} -#endif -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#define __PYX_MARK_ERR_POS(f_index, lineno) \ - { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifdef CYTHON_EXTERN_C - #undef __PYX_EXTERN_C - #define __PYX_EXTERN_C CYTHON_EXTERN_C -#elif defined(__PYX_EXTERN_C) - #ifdef _MSC_VER - #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.") - #else - #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead. - #endif -#else - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__handlers__payments__stars_pay -#define __PYX_HAVE_API__handlers__payments__stars_pay -/* Early includes */ -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; - const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; - -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s); -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*); -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if PY_MAJOR_VERSION < 3 - #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#else - #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize -#endif -#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyObject_AsWritableString(s) ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -#define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o) -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) -#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); -#if CYTHON_ASSUME_SAFE_MACROS -#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#else -#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#endif -#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#else -#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_VERSION_HEX >= 0x030C00A7 - #ifndef _PyLong_SIGN_MASK - #define _PyLong_SIGN_MASK 3 - #endif - #ifndef _PyLong_NON_SIZE_BITS - #define _PyLong_NON_SIZE_BITS 3 - #endif - #define __Pyx_PyLong_Sign(x) (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK) - #define __Pyx_PyLong_IsNeg(x) ((__Pyx_PyLong_Sign(x) & 2) != 0) - #define __Pyx_PyLong_IsNonNeg(x) (!__Pyx_PyLong_IsNeg(x)) - #define __Pyx_PyLong_IsZero(x) (__Pyx_PyLong_Sign(x) & 1) - #define __Pyx_PyLong_IsPos(x) (__Pyx_PyLong_Sign(x) == 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) (__Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_SignedDigitCount(x)\ - ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x)) - #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue) - #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x) - #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x) - #else - #define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_CompactValue(x) ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0]) - #endif - typedef Py_ssize_t __Pyx_compact_pylong; - typedef size_t __Pyx_compact_upylong; - #else - #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0) - #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0) - #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0) - #define __Pyx_PyLong_IsPos(x) (Py_SIZE(x) > 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) __Pyx_sst_abs(Py_SIZE(x)) - #define __Pyx_PyLong_SignedDigitCount(x) Py_SIZE(x) - #define __Pyx_PyLong_IsCompact(x) (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1) - #define __Pyx_PyLong_CompactValue(x)\ - ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0])) - typedef sdigit __Pyx_compact_pylong; - typedef digit __Pyx_compact_upylong; - #endif - #if PY_VERSION_HEX >= 0x030C00A5 - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit) - #else - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->ob_digit) - #endif -#endif -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII -#include -static int __Pyx_sys_getdefaultencoding_not_ascii; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - PyObject* ascii_chars_u = NULL; - PyObject* ascii_chars_b = NULL; - const char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - if (strcmp(default_encoding_c, "ascii") == 0) { - __Pyx_sys_getdefaultencoding_not_ascii = 0; - } else { - char ascii_chars[128]; - int c; - for (c = 0; c < 128; c++) { - ascii_chars[c] = (char) c; - } - __Pyx_sys_getdefaultencoding_not_ascii = 1; - ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); - if (!ascii_chars_u) goto bad; - ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); - if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { - PyErr_Format( - PyExc_ValueError, - "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", - default_encoding_c); - goto bad; - } - Py_DECREF(ascii_chars_u); - Py_DECREF(ascii_chars_b); - } - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - Py_XDECREF(ascii_chars_u); - Py_XDECREF(ascii_chars_b); - return -1; -} -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#else -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#include -static char* __PYX_DEFAULT_STRING_ENCODING; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); - if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; - strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - return -1; -} -#endif -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } - -#if !CYTHON_USE_MODULE_STATE -static PyObject *__pyx_m = NULL; -#endif -static int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm = __FILE__; -static const char *__pyx_filename; - -/* #### Code section: filename_table ### */ - -static const char *__pyx_f[] = { - "handlers/payments/stars_pay.py", -}; -/* #### Code section: utility_code_proto_before_types ### */ -/* #### Code section: numeric_typedefs ### */ -/* #### Code section: complex_type_declarations ### */ -/* #### Code section: type_declarations ### */ - -/*--- Type declarations ---*/ -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice; -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars; -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars; -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection; -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount; -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input; -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query; -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment; - -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice { - PyObject_HEAD - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_e; - PyObject *__pyx_v_session; - PyObject *__pyx_v_state; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; -}; - - -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars { - PyObject_HEAD - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_session; - PyObject *__pyx_v_state; -}; - - -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_e; - PyObject *__pyx_v_exists; - PyObject *__pyx_v_expected_hash; - PyObject *__pyx_v_i; - PyObject *__pyx_v_key_count; - PyObject *__pyx_v_session; - PyObject *__pyx_v_state; - PyObject *__pyx_v_tg_id; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; - PyObject *__pyx_t_3; - PyObject *__pyx_t_4; - PyObject *__pyx_t_5; - PyObject *__pyx_t_6; - PyObject *__pyx_t_7; - PyObject *__pyx_t_8; -}; - - -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection { - PyObject_HEAD - PyObject *__pyx_v_amount; - PyObject *__pyx_v_amount_str; - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_data; - PyObject *__pyx_v_e; - PyObject *__pyx_v_state; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; - PyObject *__pyx_t_3; - PyObject *__pyx_t_4; - PyObject *__pyx_t_5; -}; - - -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_state; -}; - - -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input { - PyObject_HEAD - PyObject *__pyx_v_amount; - PyObject *__pyx_v_builder; - PyObject *__pyx_v_e; - PyObject *__pyx_v_message; - PyObject *__pyx_v_state; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; - PyObject *__pyx_t_3; - PyObject *__pyx_t_4; - PyObject *__pyx_t_5; -}; - - -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query { - PyObject_HEAD - PyObject *__pyx_v_pre_checkout_query; -}; - - -struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment { - PyObject_HEAD - double __pyx_v_amount; - PyObject *__pyx_v_e; - PyObject *__pyx_v_message; - PyObject *__pyx_v_user_id; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; -}; - -/* #### Code section: utility_code_proto ### */ - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, Py_ssize_t); - void (*DECREF)(void*, PyObject*, Py_ssize_t); - void (*GOTREF)(void*, PyObject*, Py_ssize_t); - void (*GIVEREF)(void*, PyObject*, Py_ssize_t); - void* (*SetupContext)(const char*, Py_ssize_t, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -#ifdef WITH_THREAD - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - } - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } -#else - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__)) - #define __Pyx_RefNannyFinishContextNogil() __Pyx_RefNannyFinishContext() -#endif - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_XINCREF(r) do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContextNogil() - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_Py_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; Py_XDECREF(tmp);\ - } while (0) -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* PyErrExceptionMatches.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* PyThreadStateGet.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#if PY_VERSION_HEX >= 0x030C00A6 -#define __Pyx_PyErr_Occurred() (__pyx_tstate->current_exception != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL) -#else -#define __Pyx_PyErr_Occurred() (__pyx_tstate->curexc_type != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->curexc_type) -#endif -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() (PyErr_Occurred() != NULL) -#define __Pyx_PyErr_CurrentExceptionType() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6 -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* PyObjectGetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* PyObjectGetAttrStrNoError.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* TupleAndListFromArray.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n); -static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n); -#endif - -/* IncludeStringH.proto */ -#include - -/* BytesEquals.proto */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); - -/* UnicodeEquals.proto */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); - -/* fastcall.proto */ -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i) -#elif CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i) -#else - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i) -#endif -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg) - #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg) -#else - #define __Pyx_Arg_NewRef_VARARGS(arg) arg - #define __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds) -#define __Pyx_KwValues_VARARGS(args, nargs) NULL -#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s) -#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw) -#if CYTHON_METH_FASTCALL - #define __Pyx_Arg_FASTCALL(args, i) args[i] - #define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds) - #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs)) - static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 - CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues); - #else - #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw) - #endif - #define __Pyx_Arg_NewRef_FASTCALL(arg) arg /* no-op, __Pyx_Arg_FASTCALL is direct and this needs - to have the same reference counting */ - #define __Pyx_Arg_XDECREF_FASTCALL(arg) -#else - #define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS - #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS - #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS - #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS - #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS - #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg) - #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start) -#else -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop) -#endif - -/* RaiseArgTupleInvalid.proto */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* RaiseDoubleKeywords.proto */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywords.proto */ -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, - const char* function_name); - -/* PyFunctionFastCall.proto */ -#if CYTHON_FAST_PYCALL -#if !CYTHON_VECTORCALL -#define __Pyx_PyFunction_FastCall(func, args, nargs)\ - __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); -#endif -#define __Pyx_BUILD_ASSERT_EXPR(cond)\ - (sizeof(char [1 - 2*!(cond)]) - 1) -#ifndef Py_MEMBER_SIZE -#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) -#endif -#if !CYTHON_VECTORCALL -#if PY_VERSION_HEX >= 0x03080000 - #include "frameobject.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #define __Pxy_PyFrame_Initialize_Offsets() - #define __Pyx_PyFrame_GetLocalsplus(frame) ((frame)->f_localsplus) -#else - static size_t __pyx_pyframe_localsplus_offset = 0; - #include "frameobject.h" - #define __Pxy_PyFrame_Initialize_Offsets()\ - ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ - (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) - #define __Pyx_PyFrame_GetLocalsplus(frame)\ - (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) -#endif -#endif -#endif - -/* PyObjectCall.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* PyObjectCallMethO.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectFastCall.proto */ -#define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL) -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs); - -/* IncludeStructmemberH.proto */ -#include - -/* FixUpExtensionType.proto */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type); -#endif - -/* FetchSharedCythonModule.proto */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void); - -/* FetchCommonType.proto */ -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); -#else -static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases); -#endif - -/* RaiseException.proto */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* GetTopmostException.proto */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* SwapException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* PyObjectCall2Args.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* PyObjectCallOneArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* PyObjectGetMethod.proto */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); - -/* PyObjectCallMethod1.proto */ -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); - -/* PyObjectCallNoArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); - -/* CoroutineBase.proto */ -struct __pyx_CoroutineObject; -typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_ExcInfoStruct _PyErr_StackItem -#else -typedef struct { - PyObject *exc_type; - PyObject *exc_value; - PyObject *exc_traceback; -} __Pyx_ExcInfoStruct; -#endif -typedef struct __pyx_CoroutineObject { - PyObject_HEAD - __pyx_coroutine_body_t body; - PyObject *closure; - __Pyx_ExcInfoStruct gi_exc_state; - PyObject *gi_weakreflist; - PyObject *classobj; - PyObject *yieldfrom; - PyObject *gi_name; - PyObject *gi_qualname; - PyObject *gi_modulename; - PyObject *gi_code; - PyObject *gi_frame; - int resume_label; - char is_running; -} __pyx_CoroutineObject; -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self); -static int __Pyx_Coroutine_clear(PyObject *self); -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value); -static PyObject *__Pyx_Coroutine_Close(PyObject *self); -static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_Coroutine_SwapException(self) -#define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state) -#else -#define __Pyx_Coroutine_SwapException(self) {\ - __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\ - __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\ - } -#define __Pyx_Coroutine_ResetAndClearException(self) {\ - __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\ - (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\ - } -#endif -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue) -#else -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue) -#endif -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue); -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state); - -/* PyObject_GenericGetAttrNoDict.proto */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr -#endif - -/* PatchModuleWithCoroutine.proto */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code); - -/* PatchGeneratorABC.proto */ -static int __Pyx_patch_abc(void); - -/* Coroutine.proto */ -#define __Pyx_Coroutine_USED -#define __Pyx_Coroutine_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineType) -#define __Pyx_Coroutine_Check(obj) __Pyx_Coroutine_CheckExact(obj) -#define __Pyx_CoroutineAwait_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineAwaitType) -#define __Pyx_Coroutine_New(body, code, closure, name, qualname, module_name)\ - __Pyx__Coroutine_New(__pyx_CoroutineType, body, code, closure, name, qualname, module_name) -static int __pyx_Coroutine_init(PyObject *module); -static PyObject *__Pyx__Coroutine_await(PyObject *coroutine); -typedef struct { - PyObject_HEAD - PyObject *coroutine; -} __pyx_CoroutineAwaitObject; -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg); -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args); - -/* GetAwaitIter.proto */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o); -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *o); - -/* CoroutineYieldFrom.proto */ -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source); - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* PyDictVersioning.proto */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __pyx_dict_cached_value;\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) do {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* PyObjectFormatSimple.proto */ -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#elif PY_MAJOR_VERSION < 3 - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\ - PyObject_Format(s, f)) -#elif CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\ - likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\ - PyObject_Format(s, f)) -#else - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#endif - -/* pep479.proto */ -static void __Pyx_Generator_Replace_StopIteration(int in_async_gen); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* GetItemInt.proto */ -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - -/* ObjectGetItem.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key); -#else -#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) -#endif - -/* DictGetItem.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); -#define __Pyx_PyObject_Dict_GetItem(obj, name)\ - (likely(PyDict_CheckExact(obj)) ?\ - __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) -#else -#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) -#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) -#endif - -/* PyIntCompare.proto */ -static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); - -/* UnicodeConcatInPlace.proto */ -# if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 - #if CYTHON_REFNANNY - #define __Pyx_PyUnicode_ConcatInPlace(left, right) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right, __pyx_refnanny) - #else - #define __Pyx_PyUnicode_ConcatInPlace(left, right) __Pyx_PyUnicode_ConcatInPlaceImpl(&left, right) - #endif - static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right - #if CYTHON_REFNANNY - , void* __pyx_refnanny - #endif - ); -#else -#define __Pyx_PyUnicode_ConcatInPlace __Pyx_PyUnicode_Concat -#endif -#define __Pyx_PyUnicode_ConcatInPlaceSafe(left, right) ((unlikely((left) == Py_None) || unlikely((right) == Py_None)) ?\ - PyNumber_InPlaceAdd(left, right) : __Pyx_PyUnicode_ConcatInPlace(left, right)) - -/* JoinPyUnicode.proto */ -static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char); - -/* pybytes_as_double.proto */ -static double __Pyx_SlowPyString_AsDouble(PyObject *obj); -static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length); -static CYTHON_INLINE double __Pyx_PyBytes_AsDouble(PyObject *obj) { - char* as_c_string; - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - as_c_string = PyBytes_AS_STRING(obj); - size = PyBytes_GET_SIZE(obj); -#else - if (PyBytes_AsStringAndSize(obj, &as_c_string, &size) < 0) { - return (double)-1; - } -#endif - return __Pyx__PyBytes_AsDouble(obj, as_c_string, size); -} -static CYTHON_INLINE double __Pyx_PyByteArray_AsDouble(PyObject *obj) { - char* as_c_string; - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - as_c_string = PyByteArray_AS_STRING(obj); - size = PyByteArray_GET_SIZE(obj); -#else - as_c_string = PyByteArray_AsString(obj); - if (as_c_string == NULL) { - return (double)-1; - } - size = PyByteArray_Size(obj); -#endif - return __Pyx__PyBytes_AsDouble(obj, as_c_string, size); -} - -/* pyunicode_as_double.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS -static const char* __Pyx__PyUnicode_AsDouble_Copy(const void* data, const int kind, char* buffer, Py_ssize_t start, Py_ssize_t end) { - int last_was_punctuation; - Py_ssize_t i; - last_was_punctuation = 1; - for (i=start; i <= end; i++) { - Py_UCS4 chr = PyUnicode_READ(kind, data, i); - int is_punctuation = (chr == '_') | (chr == '.'); - *buffer = (char)chr; - buffer += (chr != '_'); - if (unlikely(chr > 127)) goto parse_failure; - if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure; - last_was_punctuation = is_punctuation; - } - if (unlikely(last_was_punctuation)) goto parse_failure; - *buffer = '\0'; - return buffer; -parse_failure: - return NULL; -} -static double __Pyx__PyUnicode_AsDouble_inf_nan(const void* data, int kind, Py_ssize_t start, Py_ssize_t length) { - int matches = 1; - Py_UCS4 chr; - Py_UCS4 sign = PyUnicode_READ(kind, data, start); - int is_signed = (sign == '-') | (sign == '+'); - start += is_signed; - length -= is_signed; - switch (PyUnicode_READ(kind, data, start)) { - #ifdef Py_NAN - case 'n': - case 'N': - if (unlikely(length != 3)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+1); - matches &= (chr == 'a') | (chr == 'A'); - chr = PyUnicode_READ(kind, data, start+2); - matches &= (chr == 'n') | (chr == 'N'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_NAN : Py_NAN; - #endif - case 'i': - case 'I': - if (unlikely(length < 3)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+1); - matches &= (chr == 'n') | (chr == 'N'); - chr = PyUnicode_READ(kind, data, start+2); - matches &= (chr == 'f') | (chr == 'F'); - if (likely(length == 3 && matches)) - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - if (unlikely(length != 8)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+3); - matches &= (chr == 'i') | (chr == 'I'); - chr = PyUnicode_READ(kind, data, start+4); - matches &= (chr == 'n') | (chr == 'N'); - chr = PyUnicode_READ(kind, data, start+5); - matches &= (chr == 'i') | (chr == 'I'); - chr = PyUnicode_READ(kind, data, start+6); - matches &= (chr == 't') | (chr == 'T'); - chr = PyUnicode_READ(kind, data, start+7); - matches &= (chr == 'y') | (chr == 'Y'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - break; - default: - goto parse_failure; - } - return 0.0; -parse_failure: - return -1.0; -} -static double __Pyx_PyUnicode_AsDouble_WithSpaces(PyObject *obj) { - double value; - const char *last; - char *end; - Py_ssize_t start, length = PyUnicode_GET_LENGTH(obj); - const int kind = PyUnicode_KIND(obj); - const void* data = PyUnicode_DATA(obj); - start = 0; - while (Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, start))) - start++; - while (start < length - 1 && Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, length - 1))) - length--; - length -= start; - if (unlikely(length <= 0)) goto fallback; - value = __Pyx__PyUnicode_AsDouble_inf_nan(data, kind, start, length); - if (unlikely(value == -1.0)) goto fallback; - if (value != 0.0) return value; - if (length < 40) { - char number[40]; - last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length); - if (unlikely(!last)) goto fallback; - value = PyOS_string_to_double(number, &end, NULL); - } else { - char *number = (char*) PyMem_Malloc((length + 1) * sizeof(char)); - if (unlikely(!number)) goto fallback; - last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length); - if (unlikely(!last)) { - PyMem_Free(number); - goto fallback; - } - value = PyOS_string_to_double(number, &end, NULL); - PyMem_Free(number); - } - if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) { - return value; - } -fallback: - return __Pyx_SlowPyString_AsDouble(obj); -} -#endif -static CYTHON_INLINE double __Pyx_PyUnicode_AsDouble(PyObject *obj) { -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS - if (unlikely(__Pyx_PyUnicode_READY(obj) == -1)) - return (double)-1; - if (likely(PyUnicode_IS_ASCII(obj))) { - const char *s; - Py_ssize_t length; - s = PyUnicode_AsUTF8AndSize(obj, &length); - return __Pyx__PyBytes_AsDouble(obj, s, length); - } - return __Pyx_PyUnicode_AsDouble_WithSpaces(obj); -#else - return __Pyx_SlowPyString_AsDouble(obj); -#endif -} - -/* pyobject_as_double.proto */ -static double __Pyx__PyObject_AsDouble(PyObject* obj); -#if CYTHON_COMPILING_IN_PYPY -#define __Pyx_PyObject_AsDouble(obj)\ -(likely(PyFloat_CheckExact(obj)) ? PyFloat_AS_DOUBLE(obj) :\ - likely(PyInt_CheckExact(obj)) ?\ - PyFloat_AsDouble(obj) : __Pyx__PyObject_AsDouble(obj)) -#else -#define __Pyx_PyObject_AsDouble(obj)\ -((likely(PyFloat_CheckExact(obj))) ? PyFloat_AS_DOUBLE(obj) :\ - likely(PyLong_CheckExact(obj)) ?\ - PyLong_AsDouble(obj) : __Pyx__PyObject_AsDouble(obj)) -#endif - -/* PyObjectCallMethod0.proto */ -static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name); - -/* ValidateBasesTuple.proto */ -#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases); -#endif - -/* PyType_Ready.proto */ -CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t); - -/* Import.proto */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); - -/* ImportFrom.proto */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); - -/* Py3UpdateBases.proto */ -static PyObject* __Pyx_PEP560_update_bases(PyObject *bases); - -/* CalculateMetaclass.proto */ -static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases); - -/* SetNameInClass.proto */ -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000 -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value)) -#elif CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value)) -#else -#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value) -#endif - -/* PyObjectLookupSpecial.proto */ -#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 0) -#define __Pyx_PyObject_LookupSpecial(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 1) -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error); -#else -#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n) -#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) -#endif - -/* Py3ClassCreate.proto */ -static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname, - PyObject *mkw, PyObject *modname, PyObject *doc); -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict, - PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass); - -/* PyMethodNew.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - PyObject *typesModule=NULL, *methodType=NULL, *result=NULL; - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - typesModule = PyImport_ImportModule("types"); - if (!typesModule) return NULL; - methodType = PyObject_GetAttrString(typesModule, "MethodType"); - Py_DECREF(typesModule); - if (!methodType) return NULL; - result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL); - Py_DECREF(methodType); - return result; -} -#elif PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - return PyMethod_New(func, self); -} -#else - #define __Pyx_PyMethod_New PyMethod_New -#endif - -/* PyVectorcallFastCallDict.proto */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw); -#endif - -/* CythonFunctionShared.proto */ -#define __Pyx_CyFunction_USED -#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 -#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 -#define __Pyx_CYFUNCTION_CCLASS 0x04 -#define __Pyx_CYFUNCTION_COROUTINE 0x08 -#define __Pyx_CyFunction_GetClosure(f)\ - (((__pyx_CyFunctionObject *) (f))->func_closure) -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_CyFunction_GetClassObj(f)\ - (((__pyx_CyFunctionObject *) (f))->func_classobj) -#else - #define __Pyx_CyFunction_GetClassObj(f)\ - ((PyObject*) ((PyCMethodObject *) (f))->mm_class) -#endif -#define __Pyx_CyFunction_SetClassObj(f, classobj)\ - __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj)) -#define __Pyx_CyFunction_Defaults(type, f)\ - ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) -#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ - ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) -typedef struct { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject_HEAD - PyObject *func; -#elif PY_VERSION_HEX < 0x030900B1 - PyCFunctionObject func; -#else - PyCMethodObject func; -#endif -#if CYTHON_BACKPORT_VECTORCALL - __pyx_vectorcallfunc func_vectorcall; -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_weakreflist; -#endif - PyObject *func_dict; - PyObject *func_name; - PyObject *func_qualname; - PyObject *func_doc; - PyObject *func_globals; - PyObject *func_code; - PyObject *func_closure; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_classobj; -#endif - void *defaults; - int defaults_pyobjects; - size_t defaults_size; - int flags; - PyObject *defaults_tuple; - PyObject *defaults_kwdict; - PyObject *(*defaults_getter)(PyObject *); - PyObject *func_annotations; - PyObject *func_is_coroutine; -} __pyx_CyFunctionObject; -#undef __Pyx_CyOrPyCFunction_Check -#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType) -#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type) -#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType) -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc); -#undef __Pyx_IsSameCFunction -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc) -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj); -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, - size_t size, - int pyobjects); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, - PyObject *tuple); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, - PyObject *dict); -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, - PyObject *dict); -static int __pyx_CyFunction_init(PyObject *module); -#if CYTHON_METH_FASTCALL -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -#if CYTHON_BACKPORT_VECTORCALL -#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall) -#else -#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall) -#endif -#endif - -/* CythonFunction.proto */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); - -/* CLineInTraceback.proto */ -#ifdef CYTHON_CLINE_IN_TRACEBACK -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#else -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#endif - -/* CodeObjectCache.proto */ -#if !CYTHON_COMPILING_IN_LIMITED_API -typedef struct { - PyCodeObject* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; -}; -static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static PyCodeObject *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -#endif - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* GCCDiagnostics.proto */ -#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -#define __Pyx_HAS_GCC_DIAGNOSTIC -#endif - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); - -/* FormatTypeName.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -typedef PyObject *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%U" -static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp); -#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj) -#else -typedef const char *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%.200s" -#define __Pyx_PyType_GetName(tp) ((tp)->tp_name) -#define __Pyx_DECREF_TypeName(obj) -#endif - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); - -/* FastTypeChecks.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2)) -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) -#endif -#define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2) -#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* CheckBinaryVersion.proto */ -static unsigned long __Pyx_get_runtime_version(void); -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer); - -/* InitStrings.proto */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); - -/* #### Code section: module_declarations ### */ - -/* Module declarations from "handlers.payments.stars_pay" */ -/* #### Code section: typeinfo ### */ -/* #### Code section: before_global_var ### */ -#define __Pyx_MODULE_NAME "handlers.payments.stars_pay" -extern int __pyx_module_is_main_handlers__payments__stars_pay; -int __pyx_module_is_main_handlers__payments__stars_pay = 0; - -/* Implementation of "handlers.payments.stars_pay" */ -/* #### Code section: global_var ### */ -static PyObject *__pyx_builtin_range; -static PyObject *__pyx_builtin_ValueError; -/* #### Code section: string_decls ### */ -static const char __pyx_k_F[] = "F"; -static const char __pyx_k_e[] = "e"; -static const char __pyx_k_i[] = "i"; -static const char __pyx_k__2[] = "\320\235\320\265 \321\203\320\264\320\260\320\273\320\276\321\201\321\214 \321\203\320\264\320\260\320\273\320\270\321\202\321\214 \321\201\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265 \321\201 \320\270\320\275\320\262\320\276\320\271\321\201\320\276\320\274: "; -static const char __pyx_k__5[] = "\320\235\320\260\321\200\321\203\321\210\320\265\320\275\320\260 \321\206\320\265\320\273\320\276\321\201\321\202\320\275\320\276\321\201\321\202\321\214 \321\204\320\260\320\271\320\273\320\276\320\262! \320\236\320\261\320\275\320\276\320\262\320\270\321\202\320\265\321\201\321\214 \321\201 \320\277\320\276\320\273\320\275\320\276\320\271 \320\267\320\260\320\274\320\265\320\275\320\276\320\271 \320\277\320\260\320\277\320\272\320\270!"; -static const char __pyx_k__6[] = "\320\235\320\265 \321\203\320\264\320\260\320\273\320\276\321\201\321\214 \320\276\321\202\321\200\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\321\202\321\214 \321\201\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265, \320\277\321\200\320\276\320\261\321\203\320\265\320\274 \321\203\320\264\320\260\320\273\320\270\321\202\321\214 \320\270 \320\276\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214 \320\275\320\276\320\262\320\276\320\265: "; -static const char __pyx_k__8[] = "|"; -static const char __pyx_k_gc[] = "gc"; -static const char __pyx_k_id[] = "id"; -static const char __pyx_k_ok[] = "ok"; -static const char __pyx_k_Any[] = "Any"; -static const char __pyx_k_PAY[] = "PAY"; -static const char __pyx_k_XTR[] = "XTR"; -static const char __pyx_k__10[] = "\320\235\320\265\320\262\320\265\321\200\320\275\321\213\320\265 \320\264\320\260\320\275\320\275\321\213\320\265 \320\264\320\273\321\217 \320\262\321\213\320\261\320\276\321\200\320\260 \321\201\321\203\320\274\320\274\321\213."; -static const char __pyx_k__11[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\260\321\217 \321\201\321\203\320\274\320\274\320\260."; -static const char __pyx_k__12[] = ""; -static const char __pyx_k__13[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260: "; -static const char __pyx_k__14[] = "\320\237\321\200\320\276\320\270\320\267\320\276\321\210\320\273\320\260 \320\276\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260."; -static const char __pyx_k__17[] = "\320\241\321\203\320\274\320\274\320\260 \320\264\320\276\320\273\320\266\320\275\320\260 \320\261\321\213\321\202\321\214 \320\261\320\276\320\273\321\214\321\210\320\265 "; -static const char __pyx_k__18[] = ". \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\265\321\211\320\265 \321\200\320\260\320\267:"; -static const char __pyx_k__19[] = "\320\237\320\276\320\277\320\276\320\273\320\275\320\270\321\202\321\214"; -static const char __pyx_k__20[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\260\321\217 \321\201\321\203\320\274\320\274\320\260. \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\265\321\211\320\265 \321\200\320\260\320\267:"; -static const char __pyx_k__23[] = "_"; -static const char __pyx_k__24[] = "."; -static const char __pyx_k__34[] = "?"; -static const char __pyx_k_doc[] = "__doc__"; -static const char __pyx_k_pay[] = "pay"; -static const char __pyx_k_row[] = "row"; -static const char __pyx_k_url[] = "url"; -static const char __pyx_k_BACK[] = "BACK"; -static const char __pyx_k_args[] = "args"; -static const char __pyx_k_chat[] = "chat"; -static const char __pyx_k_data[] = "data"; -static const char __pyx_k_dict[] = "__dict__"; -static const char __pyx_k_main[] = "__main__"; -static const char __pyx_k_name[] = "__name__"; -static const char __pyx_k_send[] = "send"; -static const char __pyx_k_test[] = "__test__"; -static const char __pyx_k_text[] = "text"; -static const char __pyx_k_State[] = "State"; -static const char __pyx_k_await[] = "__await__"; -static const char __pyx_k_close[] = "close"; -static const char __pyx_k_debug[] = "debug"; -static const char __pyx_k_error[] = "error"; -static const char __pyx_k_label[] = "label"; -static const char __pyx_k_range[] = "range"; -static const char __pyx_k_split[] = "split"; -static const char __pyx_k_stars[] = "stars_"; -static const char __pyx_k_state[] = "state"; -static const char __pyx_k_super[] = "super"; -static const char __pyx_k_tg_id[] = "tg_id"; -static const char __pyx_k_throw[] = "throw"; -static const char __pyx_k_title[] = "title"; -static const char __pyx_k_trial[] = "trial"; -static const char __pyx_k_types[] = "types"; -static const char __pyx_k_Router[] = "Router"; -static const char __pyx_k_amount[] = "amount"; -static const char __pyx_k_answer[] = "answer"; -static const char __pyx_k_config[] = "config"; -static const char __pyx_k_delete[] = "delete"; -static const char __pyx_k_enable[] = "enable"; -static const char __pyx_k_exists[] = "exists"; -static const char __pyx_k_format[] = "format"; -static const char __pyx_k_import[] = "__import__"; -static const char __pyx_k_logger[] = "logger"; -static const char __pyx_k_module[] = "__module__"; -static const char __pyx_k_prices[] = "prices"; -static const char __pyx_k_router[] = "router"; -static const char __pyx_k_typing[] = "typing"; -static const char __pyx_k_aiogram[] = "aiogram"; -static const char __pyx_k_balance[] = "balance"; -static const char __pyx_k_builder[] = "builder"; -static const char __pyx_k_disable[] = "disable"; -static const char __pyx_k_isdigit[] = "isdigit"; -static const char __pyx_k_message[] = "message"; -static const char __pyx_k_payload[] = "payload"; -static const char __pyx_k_prepare[] = "__prepare__"; -static const char __pyx_k_session[] = "session"; -static const char __pyx_k_stars_2[] = "_stars"; -static const char __pyx_k_stars_3[] = "stars"; -static const char __pyx_k_user_id[] = "user_id"; -static const char __pyx_k_warning[] = "warning"; -static const char __pyx_k_amount_2[] = ", amount: "; -static const char __pyx_k_currency[] = "currency"; -static const char __pyx_k_database[] = "database"; -static const char __pyx_k_qualname[] = "__qualname__"; -static const char __pyx_k_set_name[] = "__set_name__"; -static const char __pyx_k_ENTER_SUM[] = "ENTER_SUM"; -static const char __pyx_k_STARS_BOT[] = "STARS_BOT"; -static const char __pyx_k_as_markup[] = "as_markup"; -static const char __pyx_k_isenabled[] = "isenabled"; -static const char __pyx_k_key_count[] = "key_count"; -static const char __pyx_k_metaclass[] = "__metaclass__"; -static const char __pyx_k_pay_stars[] = "pay_stars"; -static const char __pyx_k_set_state[] = "set_state"; -static const char __pyx_k_FSMContext[] = "FSMContext"; -static const char __pyx_k_RUB_TO_XTR[] = "RUB_TO_XTR"; -static const char __pyx_k_ValueError[] = "ValueError"; -static const char __pyx_k_amount_str[] = "amount_str"; -static const char __pyx_k_startswith[] = "startswith"; -static const char __pyx_k_AMOUNT_TEXT[] = "AMOUNT_TEXT"; -static const char __pyx_k_StatesGroup[] = "StatesGroup"; -static const char __pyx_k_add_payment[] = "add_payment"; -static const char __pyx_k_description[] = "description"; -static const char __pyx_k_mro_entries[] = "__mro_entries__"; -static const char __pyx_k_solonet_sup[] = "\342\235\214 \320\237\320\270\321\200\320\260\321\202\321\201\320\272\320\260\321\217 \320\262\320\265\321\200\321\201\320\270\321\217, \320\276\320\261\321\200\320\260\321\202\320\270\321\202\320\265\321\201\321\214 \320\262 \320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\321\203 @solonet_sup."; -static const char __pyx_k_update_data[] = "update_data"; -static const char __pyx_k_21U68SOLOBOT[] = "21U68SOLOBOT"; -static const char __pyx_k_LabeledPrice[] = "LabeledPrice"; -static const char __pyx_k_STARS_ROUTER[] = "STARS_ROUTER"; -static const char __pyx_k_is_coroutine[] = "_is_coroutine"; -static const char __pyx_k_reply_markup[] = "reply_markup"; -static const char __pyx_k_stars_amount[] = "stars_amount|"; -static const char __pyx_k_CUSTOM_AMOUNT[] = "CUSTOM_AMOUNT"; -static const char __pyx_k_aiogram_types[] = "aiogram.types"; -static const char __pyx_k_callback_data[] = "callback_data"; -static const char __pyx_k_class_getitem[] = "__class_getitem__"; -static const char __pyx_k_expected_hash[] = "expected_hash"; -static const char __pyx_k_get_key_count[] = "get_key_count"; -static const char __pyx_k_init_subclass[] = "__init_subclass__"; -static const char __pyx_k_types_Message[] = "types.Message"; -static const char __pyx_k_add_connection[] = "add_connection"; -static const char __pyx_k_answer_invoice[] = "answer_invoice"; -static const char __pyx_k_callback_query[] = "callback_query"; -static const char __pyx_k_handlers_texts[] = "handlers.texts"; -static const char __pyx_k_handlers_utils[] = "handlers.utils"; -static const char __pyx_k_provider_token[] = "provider_token"; -static const char __pyx_k_target_message[] = "target_message"; -static const char __pyx_k_update_balance[] = "update_balance"; -static const char __pyx_k_user_id_amount[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\272\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\320\270 user_id \320\270\320\273\320\270 amount: "; -static const char __pyx_k_PAYMENT_OPTIONS[] = "PAYMENT_OPTIONS"; -static const char __pyx_k_invoice_payload[] = "invoice_payload"; -static const char __pyx_k_PreCheckoutQuery[] = "PreCheckoutQuery"; -static const char __pyx_k_handlers_buttons[] = "handlers.buttons"; -static const char __pyx_k_aiogram_fsm_state[] = "aiogram.fsm.state"; -static const char __pyx_k_back_to_pay_stars[] = "back_to_pay_stars"; -static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines"; -static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; -static const char __pyx_k_pre_checkout_query[] = "pre_checkout_query"; -static const char __pyx_k_successful_payment[] = "successful_payment"; -static const char __pyx_k_aiogram_fsm_context[] = "aiogram.fsm.context"; -static const char __pyx_k_types_CallbackQuery[] = "types.CallbackQuery"; -static const char __pyx_k_InlineKeyboardButton[] = "InlineKeyboardButton"; -static const char __pyx_k_edit_or_send_message[] = "edit_or_send_message"; -static const char __pyx_k_InlineKeyboardBuilder[] = "InlineKeyboardBuilder"; -static const char __pyx_k_ReplenishBalanceState[] = "ReplenishBalanceState"; -static const char __pyx_k_choosing_amount_stars[] = "choosing_amount_stars"; -static const char __pyx_k_https_t_me_PremiumBot[] = "https://t.me/PremiumBot"; -static const char __pyx_k_on_pre_checkout_query[] = "on_pre_checkout_query"; -static const char __pyx_k_on_successful_payment[] = "on_successful_payment"; -static const char __pyx_k_aiogram_utils_keyboard[] = "aiogram.utils.keyboard"; -static const char __pyx_k_handlers_payments_gift[] = "handlers.payments.gift"; -static const char __pyx_k_DEFAULT_PAYMENT_MESSAGE[] = "DEFAULT_PAYMENT_MESSAGE"; -static const char __pyx_k_check_connection_exists[] = "check_connection_exists"; -static const char __pyx_k_handlers_payments_utils[] = "handlers.payments.utils"; -static const char __pyx_k_process_amount_selection[] = "process_amount_selection"; -static const char __pyx_k_enter_custom_amount_stars[] = "enter_custom_amount_stars"; -static const char __pyx_k_process_callback_pay_stars[] = "process_callback_pay_stars"; -static const char __pyx_k_handlers_payments_stars_pay[] = "handlers.payments.stars_pay"; -static const char __pyx_k_process_custom_amount_input[] = "process_custom_amount_input"; -static const char __pyx_k_process_enter_custom_amount[] = "process_enter_custom_amount"; -static const char __pyx_k_entering_custom_amount_stars[] = "entering_custom_amount_stars"; -static const char __pyx_k_Payment_succeeded_for_user_id[] = "Payment succeeded for user_id: "; -static const char __pyx_k_handlers_payments_stars_pay_py[] = "handlers/payments/stars_pay.py"; -static const char __pyx_k_back_to_pay_stars_after_invoice[] = "back_to_pay_stars_after_invoice"; -static const char __pyx_k_send_payment_success_notificatio[] = "send_payment_success_notification"; -static const char __pyx_k_waiting_for_payment_confirmation[] = "waiting_for_payment_confirmation_stars"; -/* #### Code section: decls ### */ -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_back_to_pay_stars_after_invoice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_3back_to_pay_stars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_6process_callback_pay_stars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_9process_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_12process_enter_custom_amount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_15process_custom_amount_input(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_message, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_18on_pre_checkout_query(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pre_checkout_query); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_21on_successful_payment(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_message); /* proto */ -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -/* #### Code section: late_includes ### */ -/* #### Code section: module_state ### */ -typedef struct { - PyObject *__pyx_d; - PyObject *__pyx_b; - PyObject *__pyx_cython_runtime; - PyObject *__pyx_empty_tuple; - PyObject *__pyx_empty_bytes; - PyObject *__pyx_empty_unicode; - #ifdef __Pyx_CyFunction_USED - PyTypeObject *__pyx_CyFunctionType; - #endif - #ifdef __Pyx_FusedFunction_USED - PyTypeObject *__pyx_FusedFunctionType; - #endif - #ifdef __Pyx_Generator_USED - PyTypeObject *__pyx_GeneratorType; - #endif - #ifdef __Pyx_IterableCoroutine_USED - PyTypeObject *__pyx_IterableCoroutineType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineAwaitType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineType; - #endif - #if CYTHON_USE_MODULE_STATE - PyObject *__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice; - PyObject *__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars; - PyObject *__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars; - PyObject *__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection; - PyObject *__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount; - PyObject *__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input; - PyObject *__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query; - PyObject *__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment; - #endif - PyTypeObject *__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice; - PyTypeObject *__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars; - PyTypeObject *__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars; - PyTypeObject *__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection; - PyTypeObject *__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount; - PyTypeObject *__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input; - PyTypeObject *__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query; - PyTypeObject *__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment; - PyObject *__pyx_kp_u_21U68SOLOBOT; - PyObject *__pyx_n_s_AMOUNT_TEXT; - PyObject *__pyx_n_s_Any; - PyObject *__pyx_n_s_BACK; - PyObject *__pyx_n_s_CUSTOM_AMOUNT; - PyObject *__pyx_n_s_DEFAULT_PAYMENT_MESSAGE; - PyObject *__pyx_n_s_ENTER_SUM; - PyObject *__pyx_n_s_F; - PyObject *__pyx_n_s_FSMContext; - PyObject *__pyx_n_s_InlineKeyboardBuilder; - PyObject *__pyx_n_s_InlineKeyboardButton; - PyObject *__pyx_n_s_LabeledPrice; - PyObject *__pyx_n_s_PAY; - PyObject *__pyx_n_s_PAYMENT_OPTIONS; - PyObject *__pyx_kp_u_Payment_succeeded_for_user_id; - PyObject *__pyx_n_s_PreCheckoutQuery; - PyObject *__pyx_n_s_RUB_TO_XTR; - PyObject *__pyx_n_s_ReplenishBalanceState; - PyObject *__pyx_n_s_Router; - PyObject *__pyx_n_s_STARS_BOT; - PyObject *__pyx_n_s_STARS_ROUTER; - PyObject *__pyx_n_s_State; - PyObject *__pyx_n_s_StatesGroup; - PyObject *__pyx_n_s_ValueError; - PyObject *__pyx_n_u_XTR; - PyObject *__pyx_kp_u__10; - PyObject *__pyx_kp_u__11; - PyObject *__pyx_kp_u__12; - PyObject *__pyx_kp_u__13; - PyObject *__pyx_kp_u__14; - PyObject *__pyx_kp_u__17; - PyObject *__pyx_kp_u__18; - PyObject *__pyx_n_u__19; - PyObject *__pyx_kp_u__2; - PyObject *__pyx_kp_u__20; - PyObject *__pyx_n_u__23; - PyObject *__pyx_kp_u__24; - PyObject *__pyx_n_s__34; - PyObject *__pyx_kp_u__5; - PyObject *__pyx_kp_u__6; - PyObject *__pyx_kp_u__8; - PyObject *__pyx_n_s_add_connection; - PyObject *__pyx_n_s_add_payment; - PyObject *__pyx_n_s_aiogram; - PyObject *__pyx_n_s_aiogram_fsm_context; - PyObject *__pyx_n_s_aiogram_fsm_state; - PyObject *__pyx_n_s_aiogram_types; - PyObject *__pyx_n_s_aiogram_utils_keyboard; - PyObject *__pyx_n_s_amount; - PyObject *__pyx_kp_u_amount_2; - PyObject *__pyx_n_s_amount_str; - PyObject *__pyx_n_s_answer; - PyObject *__pyx_n_s_answer_invoice; - PyObject *__pyx_n_s_args; - PyObject *__pyx_n_s_as_markup; - PyObject *__pyx_n_s_asyncio_coroutines; - PyObject *__pyx_n_s_await; - PyObject *__pyx_n_s_back_to_pay_stars; - PyObject *__pyx_n_u_back_to_pay_stars; - PyObject *__pyx_n_s_back_to_pay_stars_after_invoice; - PyObject *__pyx_n_u_back_to_pay_stars_after_invoice; - PyObject *__pyx_n_s_balance; - PyObject *__pyx_n_s_builder; - PyObject *__pyx_n_s_callback_data; - PyObject *__pyx_n_u_callback_data; - PyObject *__pyx_n_s_callback_query; - PyObject *__pyx_n_s_chat; - PyObject *__pyx_n_s_check_connection_exists; - PyObject *__pyx_n_s_choosing_amount_stars; - PyObject *__pyx_n_s_class_getitem; - PyObject *__pyx_n_s_cline_in_traceback; - PyObject *__pyx_n_s_close; - PyObject *__pyx_n_s_config; - PyObject *__pyx_n_s_currency; - PyObject *__pyx_n_s_data; - PyObject *__pyx_n_s_database; - PyObject *__pyx_n_s_debug; - PyObject *__pyx_n_s_delete; - PyObject *__pyx_n_s_description; - PyObject *__pyx_n_s_dict; - PyObject *__pyx_kp_u_disable; - PyObject *__pyx_n_s_doc; - PyObject *__pyx_n_s_e; - PyObject *__pyx_n_s_edit_or_send_message; - PyObject *__pyx_kp_u_enable; - PyObject *__pyx_n_u_enter_custom_amount_stars; - PyObject *__pyx_n_s_entering_custom_amount_stars; - PyObject *__pyx_n_s_error; - PyObject *__pyx_n_s_exists; - PyObject *__pyx_n_s_expected_hash; - PyObject *__pyx_n_s_format; - PyObject *__pyx_kp_u_gc; - PyObject *__pyx_n_s_get_key_count; - PyObject *__pyx_n_s_handlers_buttons; - PyObject *__pyx_n_s_handlers_payments_gift; - PyObject *__pyx_n_s_handlers_payments_stars_pay; - PyObject *__pyx_kp_s_handlers_payments_stars_pay_py; - PyObject *__pyx_n_s_handlers_payments_utils; - PyObject *__pyx_n_s_handlers_texts; - PyObject *__pyx_n_s_handlers_utils; - PyObject *__pyx_kp_u_https_t_me_PremiumBot; - PyObject *__pyx_n_s_i; - PyObject *__pyx_n_s_id; - PyObject *__pyx_n_s_import; - PyObject *__pyx_n_s_init_subclass; - PyObject *__pyx_n_s_invoice_payload; - PyObject *__pyx_n_s_is_coroutine; - PyObject *__pyx_n_s_isdigit; - PyObject *__pyx_kp_u_isenabled; - PyObject *__pyx_n_s_key_count; - PyObject *__pyx_n_s_label; - PyObject *__pyx_n_s_logger; - PyObject *__pyx_n_s_main; - PyObject *__pyx_n_s_message; - PyObject *__pyx_n_s_metaclass; - PyObject *__pyx_n_s_module; - PyObject *__pyx_n_s_mro_entries; - PyObject *__pyx_n_s_name; - PyObject *__pyx_n_s_ok; - PyObject *__pyx_n_s_on_pre_checkout_query; - PyObject *__pyx_n_s_on_successful_payment; - PyObject *__pyx_n_s_pay; - PyObject *__pyx_n_u_pay; - PyObject *__pyx_n_u_pay_stars; - PyObject *__pyx_n_s_payload; - PyObject *__pyx_n_s_pre_checkout_query; - PyObject *__pyx_n_s_prepare; - PyObject *__pyx_n_s_prices; - PyObject *__pyx_n_s_process_amount_selection; - PyObject *__pyx_n_s_process_callback_pay_stars; - PyObject *__pyx_n_s_process_custom_amount_input; - PyObject *__pyx_n_s_process_enter_custom_amount; - PyObject *__pyx_n_s_provider_token; - PyObject *__pyx_n_s_qualname; - PyObject *__pyx_n_s_range; - PyObject *__pyx_n_s_reply_markup; - PyObject *__pyx_n_s_router; - PyObject *__pyx_n_s_row; - PyObject *__pyx_n_s_send; - PyObject *__pyx_n_s_send_payment_success_notificatio; - PyObject *__pyx_n_s_session; - PyObject *__pyx_n_s_set_name; - PyObject *__pyx_n_s_set_state; - PyObject *__pyx_kp_u_solonet_sup; - PyObject *__pyx_n_s_split; - PyObject *__pyx_n_u_stars; - PyObject *__pyx_n_u_stars_2; - PyObject *__pyx_n_u_stars_3; - PyObject *__pyx_kp_u_stars_amount; - PyObject *__pyx_n_s_startswith; - PyObject *__pyx_n_s_state; - PyObject *__pyx_n_s_successful_payment; - PyObject *__pyx_n_s_super; - PyObject *__pyx_n_s_target_message; - PyObject *__pyx_n_s_test; - PyObject *__pyx_n_s_text; - PyObject *__pyx_n_u_text; - PyObject *__pyx_n_s_tg_id; - PyObject *__pyx_n_s_throw; - PyObject *__pyx_n_s_title; - PyObject *__pyx_n_s_trial; - PyObject *__pyx_n_s_types; - PyObject *__pyx_kp_s_types_CallbackQuery; - PyObject *__pyx_kp_s_types_Message; - PyObject *__pyx_n_s_typing; - PyObject *__pyx_n_s_update_balance; - PyObject *__pyx_n_s_update_data; - PyObject *__pyx_n_s_url; - PyObject *__pyx_n_s_user_id; - PyObject *__pyx_kp_u_user_id_amount; - PyObject *__pyx_n_s_waiting_for_payment_confirmation; - PyObject *__pyx_n_s_warning; - PyObject *__pyx_float_0_0; - PyObject *__pyx_int_0; - PyObject *__pyx_int_1; - PyObject *__pyx_int_2; - PyObject *__pyx_codeobj_; - PyObject *__pyx_tuple__9; - PyObject *__pyx_tuple__25; - PyObject *__pyx_tuple__26; - PyObject *__pyx_tuple__27; - PyObject *__pyx_tuple__28; - PyObject *__pyx_tuple__29; - PyObject *__pyx_tuple__30; - PyObject *__pyx_tuple__31; - PyObject *__pyx_tuple__32; - PyObject *__pyx_tuple__33; - PyObject *__pyx_codeobj__3; - PyObject *__pyx_codeobj__4; - PyObject *__pyx_codeobj__7; - PyObject *__pyx_codeobj__15; - PyObject *__pyx_codeobj__16; - PyObject *__pyx_codeobj__21; - PyObject *__pyx_codeobj__22; -} __pyx_mstate; - -#if CYTHON_USE_MODULE_STATE -#ifdef __cplusplus -namespace { - extern struct PyModuleDef __pyx_moduledef; -} /* anonymous namespace */ -#else -static struct PyModuleDef __pyx_moduledef; -#endif - -#define __pyx_mstate(o) ((__pyx_mstate *)__Pyx_PyModule_GetState(o)) - -#define __pyx_mstate_global (__pyx_mstate(PyState_FindModule(&__pyx_moduledef))) - -#define __pyx_m (PyState_FindModule(&__pyx_moduledef)) -#else -static __pyx_mstate __pyx_mstate_global_static = -#ifdef __cplusplus - {}; -#else - {0}; -#endif -static __pyx_mstate *__pyx_mstate_global = &__pyx_mstate_global_static; -#endif -/* #### Code section: module_state_clear ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_clear(PyObject *m) { - __pyx_mstate *clear_module_state = __pyx_mstate(m); - if (!clear_module_state) return 0; - Py_CLEAR(clear_module_state->__pyx_d); - Py_CLEAR(clear_module_state->__pyx_b); - Py_CLEAR(clear_module_state->__pyx_cython_runtime); - Py_CLEAR(clear_module_state->__pyx_empty_tuple); - Py_CLEAR(clear_module_state->__pyx_empty_bytes); - Py_CLEAR(clear_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_CLEAR(clear_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_CLEAR(clear_module_state->__pyx_FusedFunctionType); - #endif - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment); - Py_CLEAR(clear_module_state->__pyx_kp_u_21U68SOLOBOT); - Py_CLEAR(clear_module_state->__pyx_n_s_AMOUNT_TEXT); - Py_CLEAR(clear_module_state->__pyx_n_s_Any); - Py_CLEAR(clear_module_state->__pyx_n_s_BACK); - Py_CLEAR(clear_module_state->__pyx_n_s_CUSTOM_AMOUNT); - Py_CLEAR(clear_module_state->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - Py_CLEAR(clear_module_state->__pyx_n_s_ENTER_SUM); - Py_CLEAR(clear_module_state->__pyx_n_s_F); - Py_CLEAR(clear_module_state->__pyx_n_s_FSMContext); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardButton); - Py_CLEAR(clear_module_state->__pyx_n_s_LabeledPrice); - Py_CLEAR(clear_module_state->__pyx_n_s_PAY); - Py_CLEAR(clear_module_state->__pyx_n_s_PAYMENT_OPTIONS); - Py_CLEAR(clear_module_state->__pyx_kp_u_Payment_succeeded_for_user_id); - Py_CLEAR(clear_module_state->__pyx_n_s_PreCheckoutQuery); - Py_CLEAR(clear_module_state->__pyx_n_s_RUB_TO_XTR); - Py_CLEAR(clear_module_state->__pyx_n_s_ReplenishBalanceState); - Py_CLEAR(clear_module_state->__pyx_n_s_Router); - Py_CLEAR(clear_module_state->__pyx_n_s_STARS_BOT); - Py_CLEAR(clear_module_state->__pyx_n_s_STARS_ROUTER); - Py_CLEAR(clear_module_state->__pyx_n_s_State); - Py_CLEAR(clear_module_state->__pyx_n_s_StatesGroup); - Py_CLEAR(clear_module_state->__pyx_n_s_ValueError); - Py_CLEAR(clear_module_state->__pyx_n_u_XTR); - Py_CLEAR(clear_module_state->__pyx_kp_u__10); - Py_CLEAR(clear_module_state->__pyx_kp_u__11); - Py_CLEAR(clear_module_state->__pyx_kp_u__12); - Py_CLEAR(clear_module_state->__pyx_kp_u__13); - Py_CLEAR(clear_module_state->__pyx_kp_u__14); - Py_CLEAR(clear_module_state->__pyx_kp_u__17); - Py_CLEAR(clear_module_state->__pyx_kp_u__18); - Py_CLEAR(clear_module_state->__pyx_n_u__19); - Py_CLEAR(clear_module_state->__pyx_kp_u__2); - Py_CLEAR(clear_module_state->__pyx_kp_u__20); - Py_CLEAR(clear_module_state->__pyx_n_u__23); - Py_CLEAR(clear_module_state->__pyx_kp_u__24); - Py_CLEAR(clear_module_state->__pyx_n_s__34); - Py_CLEAR(clear_module_state->__pyx_kp_u__5); - Py_CLEAR(clear_module_state->__pyx_kp_u__6); - Py_CLEAR(clear_module_state->__pyx_kp_u__8); - Py_CLEAR(clear_module_state->__pyx_n_s_add_connection); - Py_CLEAR(clear_module_state->__pyx_n_s_add_payment); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_fsm_context); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_fsm_state); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_types); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_CLEAR(clear_module_state->__pyx_n_s_amount); - Py_CLEAR(clear_module_state->__pyx_kp_u_amount_2); - Py_CLEAR(clear_module_state->__pyx_n_s_amount_str); - Py_CLEAR(clear_module_state->__pyx_n_s_answer); - Py_CLEAR(clear_module_state->__pyx_n_s_answer_invoice); - Py_CLEAR(clear_module_state->__pyx_n_s_args); - Py_CLEAR(clear_module_state->__pyx_n_s_as_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines); - Py_CLEAR(clear_module_state->__pyx_n_s_await); - Py_CLEAR(clear_module_state->__pyx_n_s_back_to_pay_stars); - Py_CLEAR(clear_module_state->__pyx_n_u_back_to_pay_stars); - Py_CLEAR(clear_module_state->__pyx_n_s_back_to_pay_stars_after_invoice); - Py_CLEAR(clear_module_state->__pyx_n_u_back_to_pay_stars_after_invoice); - Py_CLEAR(clear_module_state->__pyx_n_s_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_builder); - Py_CLEAR(clear_module_state->__pyx_n_s_callback_data); - Py_CLEAR(clear_module_state->__pyx_n_u_callback_data); - Py_CLEAR(clear_module_state->__pyx_n_s_callback_query); - Py_CLEAR(clear_module_state->__pyx_n_s_chat); - Py_CLEAR(clear_module_state->__pyx_n_s_check_connection_exists); - Py_CLEAR(clear_module_state->__pyx_n_s_choosing_amount_stars); - Py_CLEAR(clear_module_state->__pyx_n_s_class_getitem); - Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback); - Py_CLEAR(clear_module_state->__pyx_n_s_close); - Py_CLEAR(clear_module_state->__pyx_n_s_config); - Py_CLEAR(clear_module_state->__pyx_n_s_currency); - Py_CLEAR(clear_module_state->__pyx_n_s_data); - Py_CLEAR(clear_module_state->__pyx_n_s_database); - Py_CLEAR(clear_module_state->__pyx_n_s_debug); - Py_CLEAR(clear_module_state->__pyx_n_s_delete); - Py_CLEAR(clear_module_state->__pyx_n_s_description); - Py_CLEAR(clear_module_state->__pyx_n_s_dict); - Py_CLEAR(clear_module_state->__pyx_kp_u_disable); - Py_CLEAR(clear_module_state->__pyx_n_s_doc); - Py_CLEAR(clear_module_state->__pyx_n_s_e); - Py_CLEAR(clear_module_state->__pyx_n_s_edit_or_send_message); - Py_CLEAR(clear_module_state->__pyx_kp_u_enable); - Py_CLEAR(clear_module_state->__pyx_n_u_enter_custom_amount_stars); - Py_CLEAR(clear_module_state->__pyx_n_s_entering_custom_amount_stars); - Py_CLEAR(clear_module_state->__pyx_n_s_error); - Py_CLEAR(clear_module_state->__pyx_n_s_exists); - Py_CLEAR(clear_module_state->__pyx_n_s_expected_hash); - Py_CLEAR(clear_module_state->__pyx_n_s_format); - Py_CLEAR(clear_module_state->__pyx_kp_u_gc); - Py_CLEAR(clear_module_state->__pyx_n_s_get_key_count); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_buttons); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_gift); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_stars_pay); - Py_CLEAR(clear_module_state->__pyx_kp_s_handlers_payments_stars_pay_py); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_utils); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_texts); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_utils); - Py_CLEAR(clear_module_state->__pyx_kp_u_https_t_me_PremiumBot); - Py_CLEAR(clear_module_state->__pyx_n_s_i); - Py_CLEAR(clear_module_state->__pyx_n_s_id); - Py_CLEAR(clear_module_state->__pyx_n_s_import); - Py_CLEAR(clear_module_state->__pyx_n_s_init_subclass); - Py_CLEAR(clear_module_state->__pyx_n_s_invoice_payload); - Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine); - Py_CLEAR(clear_module_state->__pyx_n_s_isdigit); - Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled); - Py_CLEAR(clear_module_state->__pyx_n_s_key_count); - Py_CLEAR(clear_module_state->__pyx_n_s_label); - Py_CLEAR(clear_module_state->__pyx_n_s_logger); - Py_CLEAR(clear_module_state->__pyx_n_s_main); - Py_CLEAR(clear_module_state->__pyx_n_s_message); - Py_CLEAR(clear_module_state->__pyx_n_s_metaclass); - Py_CLEAR(clear_module_state->__pyx_n_s_module); - Py_CLEAR(clear_module_state->__pyx_n_s_mro_entries); - Py_CLEAR(clear_module_state->__pyx_n_s_name); - Py_CLEAR(clear_module_state->__pyx_n_s_ok); - Py_CLEAR(clear_module_state->__pyx_n_s_on_pre_checkout_query); - Py_CLEAR(clear_module_state->__pyx_n_s_on_successful_payment); - Py_CLEAR(clear_module_state->__pyx_n_s_pay); - Py_CLEAR(clear_module_state->__pyx_n_u_pay); - Py_CLEAR(clear_module_state->__pyx_n_u_pay_stars); - Py_CLEAR(clear_module_state->__pyx_n_s_payload); - Py_CLEAR(clear_module_state->__pyx_n_s_pre_checkout_query); - Py_CLEAR(clear_module_state->__pyx_n_s_prepare); - Py_CLEAR(clear_module_state->__pyx_n_s_prices); - Py_CLEAR(clear_module_state->__pyx_n_s_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_n_s_process_callback_pay_stars); - Py_CLEAR(clear_module_state->__pyx_n_s_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_n_s_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_provider_token); - Py_CLEAR(clear_module_state->__pyx_n_s_qualname); - Py_CLEAR(clear_module_state->__pyx_n_s_range); - Py_CLEAR(clear_module_state->__pyx_n_s_reply_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_router); - Py_CLEAR(clear_module_state->__pyx_n_s_row); - Py_CLEAR(clear_module_state->__pyx_n_s_send); - Py_CLEAR(clear_module_state->__pyx_n_s_send_payment_success_notificatio); - Py_CLEAR(clear_module_state->__pyx_n_s_session); - Py_CLEAR(clear_module_state->__pyx_n_s_set_name); - Py_CLEAR(clear_module_state->__pyx_n_s_set_state); - Py_CLEAR(clear_module_state->__pyx_kp_u_solonet_sup); - Py_CLEAR(clear_module_state->__pyx_n_s_split); - Py_CLEAR(clear_module_state->__pyx_n_u_stars); - Py_CLEAR(clear_module_state->__pyx_n_u_stars_2); - Py_CLEAR(clear_module_state->__pyx_n_u_stars_3); - Py_CLEAR(clear_module_state->__pyx_kp_u_stars_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_startswith); - Py_CLEAR(clear_module_state->__pyx_n_s_state); - Py_CLEAR(clear_module_state->__pyx_n_s_successful_payment); - Py_CLEAR(clear_module_state->__pyx_n_s_super); - Py_CLEAR(clear_module_state->__pyx_n_s_target_message); - Py_CLEAR(clear_module_state->__pyx_n_s_test); - Py_CLEAR(clear_module_state->__pyx_n_s_text); - Py_CLEAR(clear_module_state->__pyx_n_u_text); - Py_CLEAR(clear_module_state->__pyx_n_s_tg_id); - Py_CLEAR(clear_module_state->__pyx_n_s_throw); - Py_CLEAR(clear_module_state->__pyx_n_s_title); - Py_CLEAR(clear_module_state->__pyx_n_s_trial); - Py_CLEAR(clear_module_state->__pyx_n_s_types); - Py_CLEAR(clear_module_state->__pyx_kp_s_types_CallbackQuery); - Py_CLEAR(clear_module_state->__pyx_kp_s_types_Message); - Py_CLEAR(clear_module_state->__pyx_n_s_typing); - Py_CLEAR(clear_module_state->__pyx_n_s_update_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_update_data); - Py_CLEAR(clear_module_state->__pyx_n_s_url); - Py_CLEAR(clear_module_state->__pyx_n_s_user_id); - Py_CLEAR(clear_module_state->__pyx_kp_u_user_id_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_waiting_for_payment_confirmation); - Py_CLEAR(clear_module_state->__pyx_n_s_warning); - Py_CLEAR(clear_module_state->__pyx_float_0_0); - Py_CLEAR(clear_module_state->__pyx_int_0); - Py_CLEAR(clear_module_state->__pyx_int_1); - Py_CLEAR(clear_module_state->__pyx_int_2); - Py_CLEAR(clear_module_state->__pyx_codeobj_); - Py_CLEAR(clear_module_state->__pyx_tuple__9); - Py_CLEAR(clear_module_state->__pyx_tuple__25); - Py_CLEAR(clear_module_state->__pyx_tuple__26); - Py_CLEAR(clear_module_state->__pyx_tuple__27); - Py_CLEAR(clear_module_state->__pyx_tuple__28); - Py_CLEAR(clear_module_state->__pyx_tuple__29); - Py_CLEAR(clear_module_state->__pyx_tuple__30); - Py_CLEAR(clear_module_state->__pyx_tuple__31); - Py_CLEAR(clear_module_state->__pyx_tuple__32); - Py_CLEAR(clear_module_state->__pyx_tuple__33); - Py_CLEAR(clear_module_state->__pyx_codeobj__3); - Py_CLEAR(clear_module_state->__pyx_codeobj__4); - Py_CLEAR(clear_module_state->__pyx_codeobj__7); - Py_CLEAR(clear_module_state->__pyx_codeobj__15); - Py_CLEAR(clear_module_state->__pyx_codeobj__16); - Py_CLEAR(clear_module_state->__pyx_codeobj__21); - Py_CLEAR(clear_module_state->__pyx_codeobj__22); - return 0; -} -#endif -/* #### Code section: module_state_traverse ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { - __pyx_mstate *traverse_module_state = __pyx_mstate(m); - if (!traverse_module_state) return 0; - Py_VISIT(traverse_module_state->__pyx_d); - Py_VISIT(traverse_module_state->__pyx_b); - Py_VISIT(traverse_module_state->__pyx_cython_runtime); - Py_VISIT(traverse_module_state->__pyx_empty_tuple); - Py_VISIT(traverse_module_state->__pyx_empty_bytes); - Py_VISIT(traverse_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_VISIT(traverse_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_VISIT(traverse_module_state->__pyx_FusedFunctionType); - #endif - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment); - Py_VISIT(traverse_module_state->__pyx_kp_u_21U68SOLOBOT); - Py_VISIT(traverse_module_state->__pyx_n_s_AMOUNT_TEXT); - Py_VISIT(traverse_module_state->__pyx_n_s_Any); - Py_VISIT(traverse_module_state->__pyx_n_s_BACK); - Py_VISIT(traverse_module_state->__pyx_n_s_CUSTOM_AMOUNT); - Py_VISIT(traverse_module_state->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - Py_VISIT(traverse_module_state->__pyx_n_s_ENTER_SUM); - Py_VISIT(traverse_module_state->__pyx_n_s_F); - Py_VISIT(traverse_module_state->__pyx_n_s_FSMContext); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardButton); - Py_VISIT(traverse_module_state->__pyx_n_s_LabeledPrice); - Py_VISIT(traverse_module_state->__pyx_n_s_PAY); - Py_VISIT(traverse_module_state->__pyx_n_s_PAYMENT_OPTIONS); - Py_VISIT(traverse_module_state->__pyx_kp_u_Payment_succeeded_for_user_id); - Py_VISIT(traverse_module_state->__pyx_n_s_PreCheckoutQuery); - Py_VISIT(traverse_module_state->__pyx_n_s_RUB_TO_XTR); - Py_VISIT(traverse_module_state->__pyx_n_s_ReplenishBalanceState); - Py_VISIT(traverse_module_state->__pyx_n_s_Router); - Py_VISIT(traverse_module_state->__pyx_n_s_STARS_BOT); - Py_VISIT(traverse_module_state->__pyx_n_s_STARS_ROUTER); - Py_VISIT(traverse_module_state->__pyx_n_s_State); - Py_VISIT(traverse_module_state->__pyx_n_s_StatesGroup); - Py_VISIT(traverse_module_state->__pyx_n_s_ValueError); - Py_VISIT(traverse_module_state->__pyx_n_u_XTR); - Py_VISIT(traverse_module_state->__pyx_kp_u__10); - Py_VISIT(traverse_module_state->__pyx_kp_u__11); - Py_VISIT(traverse_module_state->__pyx_kp_u__12); - Py_VISIT(traverse_module_state->__pyx_kp_u__13); - Py_VISIT(traverse_module_state->__pyx_kp_u__14); - Py_VISIT(traverse_module_state->__pyx_kp_u__17); - Py_VISIT(traverse_module_state->__pyx_kp_u__18); - Py_VISIT(traverse_module_state->__pyx_n_u__19); - Py_VISIT(traverse_module_state->__pyx_kp_u__2); - Py_VISIT(traverse_module_state->__pyx_kp_u__20); - Py_VISIT(traverse_module_state->__pyx_n_u__23); - Py_VISIT(traverse_module_state->__pyx_kp_u__24); - Py_VISIT(traverse_module_state->__pyx_n_s__34); - Py_VISIT(traverse_module_state->__pyx_kp_u__5); - Py_VISIT(traverse_module_state->__pyx_kp_u__6); - Py_VISIT(traverse_module_state->__pyx_kp_u__8); - Py_VISIT(traverse_module_state->__pyx_n_s_add_connection); - Py_VISIT(traverse_module_state->__pyx_n_s_add_payment); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_fsm_context); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_fsm_state); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_types); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_VISIT(traverse_module_state->__pyx_n_s_amount); - Py_VISIT(traverse_module_state->__pyx_kp_u_amount_2); - Py_VISIT(traverse_module_state->__pyx_n_s_amount_str); - Py_VISIT(traverse_module_state->__pyx_n_s_answer); - Py_VISIT(traverse_module_state->__pyx_n_s_answer_invoice); - Py_VISIT(traverse_module_state->__pyx_n_s_args); - Py_VISIT(traverse_module_state->__pyx_n_s_as_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines); - Py_VISIT(traverse_module_state->__pyx_n_s_await); - Py_VISIT(traverse_module_state->__pyx_n_s_back_to_pay_stars); - Py_VISIT(traverse_module_state->__pyx_n_u_back_to_pay_stars); - Py_VISIT(traverse_module_state->__pyx_n_s_back_to_pay_stars_after_invoice); - Py_VISIT(traverse_module_state->__pyx_n_u_back_to_pay_stars_after_invoice); - Py_VISIT(traverse_module_state->__pyx_n_s_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_builder); - Py_VISIT(traverse_module_state->__pyx_n_s_callback_data); - Py_VISIT(traverse_module_state->__pyx_n_u_callback_data); - Py_VISIT(traverse_module_state->__pyx_n_s_callback_query); - Py_VISIT(traverse_module_state->__pyx_n_s_chat); - Py_VISIT(traverse_module_state->__pyx_n_s_check_connection_exists); - Py_VISIT(traverse_module_state->__pyx_n_s_choosing_amount_stars); - Py_VISIT(traverse_module_state->__pyx_n_s_class_getitem); - Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback); - Py_VISIT(traverse_module_state->__pyx_n_s_close); - Py_VISIT(traverse_module_state->__pyx_n_s_config); - Py_VISIT(traverse_module_state->__pyx_n_s_currency); - Py_VISIT(traverse_module_state->__pyx_n_s_data); - Py_VISIT(traverse_module_state->__pyx_n_s_database); - Py_VISIT(traverse_module_state->__pyx_n_s_debug); - Py_VISIT(traverse_module_state->__pyx_n_s_delete); - Py_VISIT(traverse_module_state->__pyx_n_s_description); - Py_VISIT(traverse_module_state->__pyx_n_s_dict); - Py_VISIT(traverse_module_state->__pyx_kp_u_disable); - Py_VISIT(traverse_module_state->__pyx_n_s_doc); - Py_VISIT(traverse_module_state->__pyx_n_s_e); - Py_VISIT(traverse_module_state->__pyx_n_s_edit_or_send_message); - Py_VISIT(traverse_module_state->__pyx_kp_u_enable); - Py_VISIT(traverse_module_state->__pyx_n_u_enter_custom_amount_stars); - Py_VISIT(traverse_module_state->__pyx_n_s_entering_custom_amount_stars); - Py_VISIT(traverse_module_state->__pyx_n_s_error); - Py_VISIT(traverse_module_state->__pyx_n_s_exists); - Py_VISIT(traverse_module_state->__pyx_n_s_expected_hash); - Py_VISIT(traverse_module_state->__pyx_n_s_format); - Py_VISIT(traverse_module_state->__pyx_kp_u_gc); - Py_VISIT(traverse_module_state->__pyx_n_s_get_key_count); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_buttons); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_gift); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_stars_pay); - Py_VISIT(traverse_module_state->__pyx_kp_s_handlers_payments_stars_pay_py); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_utils); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_texts); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_utils); - Py_VISIT(traverse_module_state->__pyx_kp_u_https_t_me_PremiumBot); - Py_VISIT(traverse_module_state->__pyx_n_s_i); - Py_VISIT(traverse_module_state->__pyx_n_s_id); - Py_VISIT(traverse_module_state->__pyx_n_s_import); - Py_VISIT(traverse_module_state->__pyx_n_s_init_subclass); - Py_VISIT(traverse_module_state->__pyx_n_s_invoice_payload); - Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine); - Py_VISIT(traverse_module_state->__pyx_n_s_isdigit); - Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled); - Py_VISIT(traverse_module_state->__pyx_n_s_key_count); - Py_VISIT(traverse_module_state->__pyx_n_s_label); - Py_VISIT(traverse_module_state->__pyx_n_s_logger); - Py_VISIT(traverse_module_state->__pyx_n_s_main); - Py_VISIT(traverse_module_state->__pyx_n_s_message); - Py_VISIT(traverse_module_state->__pyx_n_s_metaclass); - Py_VISIT(traverse_module_state->__pyx_n_s_module); - Py_VISIT(traverse_module_state->__pyx_n_s_mro_entries); - Py_VISIT(traverse_module_state->__pyx_n_s_name); - Py_VISIT(traverse_module_state->__pyx_n_s_ok); - Py_VISIT(traverse_module_state->__pyx_n_s_on_pre_checkout_query); - Py_VISIT(traverse_module_state->__pyx_n_s_on_successful_payment); - Py_VISIT(traverse_module_state->__pyx_n_s_pay); - Py_VISIT(traverse_module_state->__pyx_n_u_pay); - Py_VISIT(traverse_module_state->__pyx_n_u_pay_stars); - Py_VISIT(traverse_module_state->__pyx_n_s_payload); - Py_VISIT(traverse_module_state->__pyx_n_s_pre_checkout_query); - Py_VISIT(traverse_module_state->__pyx_n_s_prepare); - Py_VISIT(traverse_module_state->__pyx_n_s_prices); - Py_VISIT(traverse_module_state->__pyx_n_s_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_n_s_process_callback_pay_stars); - Py_VISIT(traverse_module_state->__pyx_n_s_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_n_s_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_provider_token); - Py_VISIT(traverse_module_state->__pyx_n_s_qualname); - Py_VISIT(traverse_module_state->__pyx_n_s_range); - Py_VISIT(traverse_module_state->__pyx_n_s_reply_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_router); - Py_VISIT(traverse_module_state->__pyx_n_s_row); - Py_VISIT(traverse_module_state->__pyx_n_s_send); - Py_VISIT(traverse_module_state->__pyx_n_s_send_payment_success_notificatio); - Py_VISIT(traverse_module_state->__pyx_n_s_session); - Py_VISIT(traverse_module_state->__pyx_n_s_set_name); - Py_VISIT(traverse_module_state->__pyx_n_s_set_state); - Py_VISIT(traverse_module_state->__pyx_kp_u_solonet_sup); - Py_VISIT(traverse_module_state->__pyx_n_s_split); - Py_VISIT(traverse_module_state->__pyx_n_u_stars); - Py_VISIT(traverse_module_state->__pyx_n_u_stars_2); - Py_VISIT(traverse_module_state->__pyx_n_u_stars_3); - Py_VISIT(traverse_module_state->__pyx_kp_u_stars_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_startswith); - Py_VISIT(traverse_module_state->__pyx_n_s_state); - Py_VISIT(traverse_module_state->__pyx_n_s_successful_payment); - Py_VISIT(traverse_module_state->__pyx_n_s_super); - Py_VISIT(traverse_module_state->__pyx_n_s_target_message); - Py_VISIT(traverse_module_state->__pyx_n_s_test); - Py_VISIT(traverse_module_state->__pyx_n_s_text); - Py_VISIT(traverse_module_state->__pyx_n_u_text); - Py_VISIT(traverse_module_state->__pyx_n_s_tg_id); - Py_VISIT(traverse_module_state->__pyx_n_s_throw); - Py_VISIT(traverse_module_state->__pyx_n_s_title); - Py_VISIT(traverse_module_state->__pyx_n_s_trial); - Py_VISIT(traverse_module_state->__pyx_n_s_types); - Py_VISIT(traverse_module_state->__pyx_kp_s_types_CallbackQuery); - Py_VISIT(traverse_module_state->__pyx_kp_s_types_Message); - Py_VISIT(traverse_module_state->__pyx_n_s_typing); - Py_VISIT(traverse_module_state->__pyx_n_s_update_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_update_data); - Py_VISIT(traverse_module_state->__pyx_n_s_url); - Py_VISIT(traverse_module_state->__pyx_n_s_user_id); - Py_VISIT(traverse_module_state->__pyx_kp_u_user_id_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_waiting_for_payment_confirmation); - Py_VISIT(traverse_module_state->__pyx_n_s_warning); - Py_VISIT(traverse_module_state->__pyx_float_0_0); - Py_VISIT(traverse_module_state->__pyx_int_0); - Py_VISIT(traverse_module_state->__pyx_int_1); - Py_VISIT(traverse_module_state->__pyx_int_2); - Py_VISIT(traverse_module_state->__pyx_codeobj_); - Py_VISIT(traverse_module_state->__pyx_tuple__9); - Py_VISIT(traverse_module_state->__pyx_tuple__25); - Py_VISIT(traverse_module_state->__pyx_tuple__26); - Py_VISIT(traverse_module_state->__pyx_tuple__27); - Py_VISIT(traverse_module_state->__pyx_tuple__28); - Py_VISIT(traverse_module_state->__pyx_tuple__29); - Py_VISIT(traverse_module_state->__pyx_tuple__30); - Py_VISIT(traverse_module_state->__pyx_tuple__31); - Py_VISIT(traverse_module_state->__pyx_tuple__32); - Py_VISIT(traverse_module_state->__pyx_tuple__33); - Py_VISIT(traverse_module_state->__pyx_codeobj__3); - Py_VISIT(traverse_module_state->__pyx_codeobj__4); - Py_VISIT(traverse_module_state->__pyx_codeobj__7); - Py_VISIT(traverse_module_state->__pyx_codeobj__15); - Py_VISIT(traverse_module_state->__pyx_codeobj__16); - Py_VISIT(traverse_module_state->__pyx_codeobj__21); - Py_VISIT(traverse_module_state->__pyx_codeobj__22); - return 0; -} -#endif -/* #### Code section: module_state_defines ### */ -#define __pyx_d __pyx_mstate_global->__pyx_d -#define __pyx_b __pyx_mstate_global->__pyx_b -#define __pyx_cython_runtime __pyx_mstate_global->__pyx_cython_runtime -#define __pyx_empty_tuple __pyx_mstate_global->__pyx_empty_tuple -#define __pyx_empty_bytes __pyx_mstate_global->__pyx_empty_bytes -#define __pyx_empty_unicode __pyx_mstate_global->__pyx_empty_unicode -#ifdef __Pyx_CyFunction_USED -#define __pyx_CyFunctionType __pyx_mstate_global->__pyx_CyFunctionType -#endif -#ifdef __Pyx_FusedFunction_USED -#define __pyx_FusedFunctionType __pyx_mstate_global->__pyx_FusedFunctionType -#endif -#ifdef __Pyx_Generator_USED -#define __pyx_GeneratorType __pyx_mstate_global->__pyx_GeneratorType -#endif -#ifdef __Pyx_IterableCoroutine_USED -#define __pyx_IterableCoroutineType __pyx_mstate_global->__pyx_IterableCoroutineType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineAwaitType __pyx_mstate_global->__pyx_CoroutineAwaitType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineType __pyx_mstate_global->__pyx_CoroutineType -#endif -#if CYTHON_USE_MODULE_STATE -#define __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice __pyx_mstate_global->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice -#define __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars __pyx_mstate_global->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars -#define __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars __pyx_mstate_global->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars -#define __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection __pyx_mstate_global->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection -#define __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount __pyx_mstate_global->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount -#define __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input __pyx_mstate_global->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input -#define __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query __pyx_mstate_global->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query -#define __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment __pyx_mstate_global->__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment -#endif -#define __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice __pyx_mstate_global->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice -#define __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars __pyx_mstate_global->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars -#define __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars __pyx_mstate_global->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars -#define __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection __pyx_mstate_global->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection -#define __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount __pyx_mstate_global->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount -#define __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input __pyx_mstate_global->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input -#define __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query __pyx_mstate_global->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query -#define __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment __pyx_mstate_global->__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment -#define __pyx_kp_u_21U68SOLOBOT __pyx_mstate_global->__pyx_kp_u_21U68SOLOBOT -#define __pyx_n_s_AMOUNT_TEXT __pyx_mstate_global->__pyx_n_s_AMOUNT_TEXT -#define __pyx_n_s_Any __pyx_mstate_global->__pyx_n_s_Any -#define __pyx_n_s_BACK __pyx_mstate_global->__pyx_n_s_BACK -#define __pyx_n_s_CUSTOM_AMOUNT __pyx_mstate_global->__pyx_n_s_CUSTOM_AMOUNT -#define __pyx_n_s_DEFAULT_PAYMENT_MESSAGE __pyx_mstate_global->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE -#define __pyx_n_s_ENTER_SUM __pyx_mstate_global->__pyx_n_s_ENTER_SUM -#define __pyx_n_s_F __pyx_mstate_global->__pyx_n_s_F -#define __pyx_n_s_FSMContext __pyx_mstate_global->__pyx_n_s_FSMContext -#define __pyx_n_s_InlineKeyboardBuilder __pyx_mstate_global->__pyx_n_s_InlineKeyboardBuilder -#define __pyx_n_s_InlineKeyboardButton __pyx_mstate_global->__pyx_n_s_InlineKeyboardButton -#define __pyx_n_s_LabeledPrice __pyx_mstate_global->__pyx_n_s_LabeledPrice -#define __pyx_n_s_PAY __pyx_mstate_global->__pyx_n_s_PAY -#define __pyx_n_s_PAYMENT_OPTIONS __pyx_mstate_global->__pyx_n_s_PAYMENT_OPTIONS -#define __pyx_kp_u_Payment_succeeded_for_user_id __pyx_mstate_global->__pyx_kp_u_Payment_succeeded_for_user_id -#define __pyx_n_s_PreCheckoutQuery __pyx_mstate_global->__pyx_n_s_PreCheckoutQuery -#define __pyx_n_s_RUB_TO_XTR __pyx_mstate_global->__pyx_n_s_RUB_TO_XTR -#define __pyx_n_s_ReplenishBalanceState __pyx_mstate_global->__pyx_n_s_ReplenishBalanceState -#define __pyx_n_s_Router __pyx_mstate_global->__pyx_n_s_Router -#define __pyx_n_s_STARS_BOT __pyx_mstate_global->__pyx_n_s_STARS_BOT -#define __pyx_n_s_STARS_ROUTER __pyx_mstate_global->__pyx_n_s_STARS_ROUTER -#define __pyx_n_s_State __pyx_mstate_global->__pyx_n_s_State -#define __pyx_n_s_StatesGroup __pyx_mstate_global->__pyx_n_s_StatesGroup -#define __pyx_n_s_ValueError __pyx_mstate_global->__pyx_n_s_ValueError -#define __pyx_n_u_XTR __pyx_mstate_global->__pyx_n_u_XTR -#define __pyx_kp_u__10 __pyx_mstate_global->__pyx_kp_u__10 -#define __pyx_kp_u__11 __pyx_mstate_global->__pyx_kp_u__11 -#define __pyx_kp_u__12 __pyx_mstate_global->__pyx_kp_u__12 -#define __pyx_kp_u__13 __pyx_mstate_global->__pyx_kp_u__13 -#define __pyx_kp_u__14 __pyx_mstate_global->__pyx_kp_u__14 -#define __pyx_kp_u__17 __pyx_mstate_global->__pyx_kp_u__17 -#define __pyx_kp_u__18 __pyx_mstate_global->__pyx_kp_u__18 -#define __pyx_n_u__19 __pyx_mstate_global->__pyx_n_u__19 -#define __pyx_kp_u__2 __pyx_mstate_global->__pyx_kp_u__2 -#define __pyx_kp_u__20 __pyx_mstate_global->__pyx_kp_u__20 -#define __pyx_n_u__23 __pyx_mstate_global->__pyx_n_u__23 -#define __pyx_kp_u__24 __pyx_mstate_global->__pyx_kp_u__24 -#define __pyx_n_s__34 __pyx_mstate_global->__pyx_n_s__34 -#define __pyx_kp_u__5 __pyx_mstate_global->__pyx_kp_u__5 -#define __pyx_kp_u__6 __pyx_mstate_global->__pyx_kp_u__6 -#define __pyx_kp_u__8 __pyx_mstate_global->__pyx_kp_u__8 -#define __pyx_n_s_add_connection __pyx_mstate_global->__pyx_n_s_add_connection -#define __pyx_n_s_add_payment __pyx_mstate_global->__pyx_n_s_add_payment -#define __pyx_n_s_aiogram __pyx_mstate_global->__pyx_n_s_aiogram -#define __pyx_n_s_aiogram_fsm_context __pyx_mstate_global->__pyx_n_s_aiogram_fsm_context -#define __pyx_n_s_aiogram_fsm_state __pyx_mstate_global->__pyx_n_s_aiogram_fsm_state -#define __pyx_n_s_aiogram_types __pyx_mstate_global->__pyx_n_s_aiogram_types -#define __pyx_n_s_aiogram_utils_keyboard __pyx_mstate_global->__pyx_n_s_aiogram_utils_keyboard -#define __pyx_n_s_amount __pyx_mstate_global->__pyx_n_s_amount -#define __pyx_kp_u_amount_2 __pyx_mstate_global->__pyx_kp_u_amount_2 -#define __pyx_n_s_amount_str __pyx_mstate_global->__pyx_n_s_amount_str -#define __pyx_n_s_answer __pyx_mstate_global->__pyx_n_s_answer -#define __pyx_n_s_answer_invoice __pyx_mstate_global->__pyx_n_s_answer_invoice -#define __pyx_n_s_args __pyx_mstate_global->__pyx_n_s_args -#define __pyx_n_s_as_markup __pyx_mstate_global->__pyx_n_s_as_markup -#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines -#define __pyx_n_s_await __pyx_mstate_global->__pyx_n_s_await -#define __pyx_n_s_back_to_pay_stars __pyx_mstate_global->__pyx_n_s_back_to_pay_stars -#define __pyx_n_u_back_to_pay_stars __pyx_mstate_global->__pyx_n_u_back_to_pay_stars -#define __pyx_n_s_back_to_pay_stars_after_invoice __pyx_mstate_global->__pyx_n_s_back_to_pay_stars_after_invoice -#define __pyx_n_u_back_to_pay_stars_after_invoice __pyx_mstate_global->__pyx_n_u_back_to_pay_stars_after_invoice -#define __pyx_n_s_balance __pyx_mstate_global->__pyx_n_s_balance -#define __pyx_n_s_builder __pyx_mstate_global->__pyx_n_s_builder -#define __pyx_n_s_callback_data __pyx_mstate_global->__pyx_n_s_callback_data -#define __pyx_n_u_callback_data __pyx_mstate_global->__pyx_n_u_callback_data -#define __pyx_n_s_callback_query __pyx_mstate_global->__pyx_n_s_callback_query -#define __pyx_n_s_chat __pyx_mstate_global->__pyx_n_s_chat -#define __pyx_n_s_check_connection_exists __pyx_mstate_global->__pyx_n_s_check_connection_exists -#define __pyx_n_s_choosing_amount_stars __pyx_mstate_global->__pyx_n_s_choosing_amount_stars -#define __pyx_n_s_class_getitem __pyx_mstate_global->__pyx_n_s_class_getitem -#define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback -#define __pyx_n_s_close __pyx_mstate_global->__pyx_n_s_close -#define __pyx_n_s_config __pyx_mstate_global->__pyx_n_s_config -#define __pyx_n_s_currency __pyx_mstate_global->__pyx_n_s_currency -#define __pyx_n_s_data __pyx_mstate_global->__pyx_n_s_data -#define __pyx_n_s_database __pyx_mstate_global->__pyx_n_s_database -#define __pyx_n_s_debug __pyx_mstate_global->__pyx_n_s_debug -#define __pyx_n_s_delete __pyx_mstate_global->__pyx_n_s_delete -#define __pyx_n_s_description __pyx_mstate_global->__pyx_n_s_description -#define __pyx_n_s_dict __pyx_mstate_global->__pyx_n_s_dict -#define __pyx_kp_u_disable __pyx_mstate_global->__pyx_kp_u_disable -#define __pyx_n_s_doc __pyx_mstate_global->__pyx_n_s_doc -#define __pyx_n_s_e __pyx_mstate_global->__pyx_n_s_e -#define __pyx_n_s_edit_or_send_message __pyx_mstate_global->__pyx_n_s_edit_or_send_message -#define __pyx_kp_u_enable __pyx_mstate_global->__pyx_kp_u_enable -#define __pyx_n_u_enter_custom_amount_stars __pyx_mstate_global->__pyx_n_u_enter_custom_amount_stars -#define __pyx_n_s_entering_custom_amount_stars __pyx_mstate_global->__pyx_n_s_entering_custom_amount_stars -#define __pyx_n_s_error __pyx_mstate_global->__pyx_n_s_error -#define __pyx_n_s_exists __pyx_mstate_global->__pyx_n_s_exists -#define __pyx_n_s_expected_hash __pyx_mstate_global->__pyx_n_s_expected_hash -#define __pyx_n_s_format __pyx_mstate_global->__pyx_n_s_format -#define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc -#define __pyx_n_s_get_key_count __pyx_mstate_global->__pyx_n_s_get_key_count -#define __pyx_n_s_handlers_buttons __pyx_mstate_global->__pyx_n_s_handlers_buttons -#define __pyx_n_s_handlers_payments_gift __pyx_mstate_global->__pyx_n_s_handlers_payments_gift -#define __pyx_n_s_handlers_payments_stars_pay __pyx_mstate_global->__pyx_n_s_handlers_payments_stars_pay -#define __pyx_kp_s_handlers_payments_stars_pay_py __pyx_mstate_global->__pyx_kp_s_handlers_payments_stars_pay_py -#define __pyx_n_s_handlers_payments_utils __pyx_mstate_global->__pyx_n_s_handlers_payments_utils -#define __pyx_n_s_handlers_texts __pyx_mstate_global->__pyx_n_s_handlers_texts -#define __pyx_n_s_handlers_utils __pyx_mstate_global->__pyx_n_s_handlers_utils -#define __pyx_kp_u_https_t_me_PremiumBot __pyx_mstate_global->__pyx_kp_u_https_t_me_PremiumBot -#define __pyx_n_s_i __pyx_mstate_global->__pyx_n_s_i -#define __pyx_n_s_id __pyx_mstate_global->__pyx_n_s_id -#define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import -#define __pyx_n_s_init_subclass __pyx_mstate_global->__pyx_n_s_init_subclass -#define __pyx_n_s_invoice_payload __pyx_mstate_global->__pyx_n_s_invoice_payload -#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine -#define __pyx_n_s_isdigit __pyx_mstate_global->__pyx_n_s_isdigit -#define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled -#define __pyx_n_s_key_count __pyx_mstate_global->__pyx_n_s_key_count -#define __pyx_n_s_label __pyx_mstate_global->__pyx_n_s_label -#define __pyx_n_s_logger __pyx_mstate_global->__pyx_n_s_logger -#define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main -#define __pyx_n_s_message __pyx_mstate_global->__pyx_n_s_message -#define __pyx_n_s_metaclass __pyx_mstate_global->__pyx_n_s_metaclass -#define __pyx_n_s_module __pyx_mstate_global->__pyx_n_s_module -#define __pyx_n_s_mro_entries __pyx_mstate_global->__pyx_n_s_mro_entries -#define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name -#define __pyx_n_s_ok __pyx_mstate_global->__pyx_n_s_ok -#define __pyx_n_s_on_pre_checkout_query __pyx_mstate_global->__pyx_n_s_on_pre_checkout_query -#define __pyx_n_s_on_successful_payment __pyx_mstate_global->__pyx_n_s_on_successful_payment -#define __pyx_n_s_pay __pyx_mstate_global->__pyx_n_s_pay -#define __pyx_n_u_pay __pyx_mstate_global->__pyx_n_u_pay -#define __pyx_n_u_pay_stars __pyx_mstate_global->__pyx_n_u_pay_stars -#define __pyx_n_s_payload __pyx_mstate_global->__pyx_n_s_payload -#define __pyx_n_s_pre_checkout_query __pyx_mstate_global->__pyx_n_s_pre_checkout_query -#define __pyx_n_s_prepare __pyx_mstate_global->__pyx_n_s_prepare -#define __pyx_n_s_prices __pyx_mstate_global->__pyx_n_s_prices -#define __pyx_n_s_process_amount_selection __pyx_mstate_global->__pyx_n_s_process_amount_selection -#define __pyx_n_s_process_callback_pay_stars __pyx_mstate_global->__pyx_n_s_process_callback_pay_stars -#define __pyx_n_s_process_custom_amount_input __pyx_mstate_global->__pyx_n_s_process_custom_amount_input -#define __pyx_n_s_process_enter_custom_amount __pyx_mstate_global->__pyx_n_s_process_enter_custom_amount -#define __pyx_n_s_provider_token __pyx_mstate_global->__pyx_n_s_provider_token -#define __pyx_n_s_qualname __pyx_mstate_global->__pyx_n_s_qualname -#define __pyx_n_s_range __pyx_mstate_global->__pyx_n_s_range -#define __pyx_n_s_reply_markup __pyx_mstate_global->__pyx_n_s_reply_markup -#define __pyx_n_s_router __pyx_mstate_global->__pyx_n_s_router -#define __pyx_n_s_row __pyx_mstate_global->__pyx_n_s_row -#define __pyx_n_s_send __pyx_mstate_global->__pyx_n_s_send -#define __pyx_n_s_send_payment_success_notificatio __pyx_mstate_global->__pyx_n_s_send_payment_success_notificatio -#define __pyx_n_s_session __pyx_mstate_global->__pyx_n_s_session -#define __pyx_n_s_set_name __pyx_mstate_global->__pyx_n_s_set_name -#define __pyx_n_s_set_state __pyx_mstate_global->__pyx_n_s_set_state -#define __pyx_kp_u_solonet_sup __pyx_mstate_global->__pyx_kp_u_solonet_sup -#define __pyx_n_s_split __pyx_mstate_global->__pyx_n_s_split -#define __pyx_n_u_stars __pyx_mstate_global->__pyx_n_u_stars -#define __pyx_n_u_stars_2 __pyx_mstate_global->__pyx_n_u_stars_2 -#define __pyx_n_u_stars_3 __pyx_mstate_global->__pyx_n_u_stars_3 -#define __pyx_kp_u_stars_amount __pyx_mstate_global->__pyx_kp_u_stars_amount -#define __pyx_n_s_startswith __pyx_mstate_global->__pyx_n_s_startswith -#define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state -#define __pyx_n_s_successful_payment __pyx_mstate_global->__pyx_n_s_successful_payment -#define __pyx_n_s_super __pyx_mstate_global->__pyx_n_s_super -#define __pyx_n_s_target_message __pyx_mstate_global->__pyx_n_s_target_message -#define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test -#define __pyx_n_s_text __pyx_mstate_global->__pyx_n_s_text -#define __pyx_n_u_text __pyx_mstate_global->__pyx_n_u_text -#define __pyx_n_s_tg_id __pyx_mstate_global->__pyx_n_s_tg_id -#define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw -#define __pyx_n_s_title __pyx_mstate_global->__pyx_n_s_title -#define __pyx_n_s_trial __pyx_mstate_global->__pyx_n_s_trial -#define __pyx_n_s_types __pyx_mstate_global->__pyx_n_s_types -#define __pyx_kp_s_types_CallbackQuery __pyx_mstate_global->__pyx_kp_s_types_CallbackQuery -#define __pyx_kp_s_types_Message __pyx_mstate_global->__pyx_kp_s_types_Message -#define __pyx_n_s_typing __pyx_mstate_global->__pyx_n_s_typing -#define __pyx_n_s_update_balance __pyx_mstate_global->__pyx_n_s_update_balance -#define __pyx_n_s_update_data __pyx_mstate_global->__pyx_n_s_update_data -#define __pyx_n_s_url __pyx_mstate_global->__pyx_n_s_url -#define __pyx_n_s_user_id __pyx_mstate_global->__pyx_n_s_user_id -#define __pyx_kp_u_user_id_amount __pyx_mstate_global->__pyx_kp_u_user_id_amount -#define __pyx_n_s_waiting_for_payment_confirmation __pyx_mstate_global->__pyx_n_s_waiting_for_payment_confirmation -#define __pyx_n_s_warning __pyx_mstate_global->__pyx_n_s_warning -#define __pyx_float_0_0 __pyx_mstate_global->__pyx_float_0_0 -#define __pyx_int_0 __pyx_mstate_global->__pyx_int_0 -#define __pyx_int_1 __pyx_mstate_global->__pyx_int_1 -#define __pyx_int_2 __pyx_mstate_global->__pyx_int_2 -#define __pyx_codeobj_ __pyx_mstate_global->__pyx_codeobj_ -#define __pyx_tuple__9 __pyx_mstate_global->__pyx_tuple__9 -#define __pyx_tuple__25 __pyx_mstate_global->__pyx_tuple__25 -#define __pyx_tuple__26 __pyx_mstate_global->__pyx_tuple__26 -#define __pyx_tuple__27 __pyx_mstate_global->__pyx_tuple__27 -#define __pyx_tuple__28 __pyx_mstate_global->__pyx_tuple__28 -#define __pyx_tuple__29 __pyx_mstate_global->__pyx_tuple__29 -#define __pyx_tuple__30 __pyx_mstate_global->__pyx_tuple__30 -#define __pyx_tuple__31 __pyx_mstate_global->__pyx_tuple__31 -#define __pyx_tuple__32 __pyx_mstate_global->__pyx_tuple__32 -#define __pyx_tuple__33 __pyx_mstate_global->__pyx_tuple__33 -#define __pyx_codeobj__3 __pyx_mstate_global->__pyx_codeobj__3 -#define __pyx_codeobj__4 __pyx_mstate_global->__pyx_codeobj__4 -#define __pyx_codeobj__7 __pyx_mstate_global->__pyx_codeobj__7 -#define __pyx_codeobj__15 __pyx_mstate_global->__pyx_codeobj__15 -#define __pyx_codeobj__16 __pyx_mstate_global->__pyx_codeobj__16 -#define __pyx_codeobj__21 __pyx_mstate_global->__pyx_codeobj__21 -#define __pyx_codeobj__22 __pyx_mstate_global->__pyx_codeobj__22 -/* #### Code section: module_code ### */ -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_1back_to_pay_stars_after_invoice(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_9stars_pay_back_to_pay_stars_after_invoice, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\262\320\276\320\267\320\262\321\200\320\260\321\202\320\260 \320\262 \320\274\320\265\320\275\321\216 \320\277\320\276\321\201\320\273\320\265 \320\270\320\275\320\262\320\276\320\271\321\201\320\260: \321\203\320\264\320\260\320\273\321\217\320\265\321\202 \321\201\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265 \320\270 \321\201\320\276\320\267\320\264\320\260\320\265\321\202 \320\275\320\276\320\262\320\276\320\265 \320\274\320\265\320\275\321\216."); -static PyMethodDef __pyx_mdef_8handlers_8payments_9stars_pay_1back_to_pay_stars_after_invoice = {"back_to_pay_stars_after_invoice", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_9stars_pay_1back_to_pay_stars_after_invoice, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_9stars_pay_back_to_pay_stars_after_invoice}; -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_1back_to_pay_stars_after_invoice(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("back_to_pay_stars_after_invoice (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 36, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 36, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("back_to_pay_stars_after_invoice", 1, 3, 3, 1); __PYX_ERR(0, 36, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 36, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("back_to_pay_stars_after_invoice", 1, 3, 3, 2); __PYX_ERR(0, 36, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "back_to_pay_stars_after_invoice") < 0)) __PYX_ERR(0, 36, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - __pyx_v_session = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("back_to_pay_stars_after_invoice", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 36, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.stars_pay.back_to_pay_stars_after_invoice", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_9stars_pay_back_to_pay_stars_after_invoice(__pyx_self, __pyx_v_callback_query, __pyx_v_state, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_back_to_pay_stars_after_invoice(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("back_to_pay_stars_after_invoice", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 36, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_9stars_pay_2generator, __pyx_codeobj_, (PyObject *) __pyx_cur_scope, __pyx_n_s_back_to_pay_stars_after_invoice, __pyx_n_s_back_to_pay_stars_after_invoice, __pyx_n_s_handlers_payments_stars_pay); if (unlikely(!gen)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.stars_pay.back_to_pay_stars_after_invoice", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - unsigned int __pyx_t_7; - int __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - char const *__pyx_t_14; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("back_to_pay_stars_after_invoice", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L10_resume_from_await; - case 2: goto __pyx_L22_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 36, __pyx_L1_error) - - { - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_delete); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 40, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 40, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L10_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 40, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 40, __pyx_L4_error) - } - } - - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L9_try_end; - __pyx_L4_error:; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_8) { - __Pyx_AddTraceback("handlers.payments.stars_pay.back_to_pay_stars_after_invoice", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(0, 41, __pyx_L6_except_error) - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_e = __pyx_t_6; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_logger); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 42, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_warning); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 42, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 42, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = __Pyx_PyUnicode_Concat(__pyx_kp_u__2, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 42, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_12}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 42, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L17; - } - __pyx_L16_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17) < 0)) __Pyx_ErrFetch(&__pyx_t_15, &__pyx_t_16, &__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_15); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_8 = __pyx_lineno; __pyx_t_13 = __pyx_clineno; __pyx_t_14 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ExceptionReset(__pyx_t_18, __pyx_t_19, __pyx_t_20); - } - __Pyx_XGIVEREF(__pyx_t_15); - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_ErrRestore(__pyx_t_15, __pyx_t_16, __pyx_t_17); - __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; - __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_13; __pyx_filename = __pyx_t_14; - goto __pyx_L6_except_error; - } - __pyx_L17:; - } - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L5_exception_handled; - } - goto __pyx_L6_except_error; - - __pyx_L6_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L5_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_L9_try_end:; - } - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_process_callback_pay_stars); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_callback_query, __pyx_cur_scope->__pyx_v_state, __pyx_cur_scope->__pyx_v_session}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 3+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L22_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 44, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 44, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_AddTraceback("back_to_pay_stars_after_invoice", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_4back_to_pay_stars(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_9stars_pay_3back_to_pay_stars, "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272 \320\262\320\276\320\267\320\262\321\200\320\260\321\202\320\260 \320\262 \320\274\320\265\320\275\321\216 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217 Stars"); -static PyMethodDef __pyx_mdef_8handlers_8payments_9stars_pay_4back_to_pay_stars = {"back_to_pay_stars", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_9stars_pay_4back_to_pay_stars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_9stars_pay_3back_to_pay_stars}; -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_4back_to_pay_stars(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("back_to_pay_stars (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("back_to_pay_stars", 1, 3, 3, 1); __PYX_ERR(0, 48, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 48, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("back_to_pay_stars", 1, 3, 3, 2); __PYX_ERR(0, 48, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "back_to_pay_stars") < 0)) __PYX_ERR(0, 48, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - __pyx_v_session = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("back_to_pay_stars", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 48, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.stars_pay.back_to_pay_stars", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_9stars_pay_3back_to_pay_stars(__pyx_self, __pyx_v_callback_query, __pyx_v_state, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_3back_to_pay_stars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("back_to_pay_stars", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 48, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_9stars_pay_5generator1, __pyx_codeobj__3, (PyObject *) __pyx_cur_scope, __pyx_n_s_back_to_pay_stars, __pyx_n_s_back_to_pay_stars, __pyx_n_s_handlers_payments_stars_pay); if (unlikely(!gen)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.stars_pay.back_to_pay_stars", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("back_to_pay_stars", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 48, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_process_callback_pay_stars); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_callback_query, __pyx_cur_scope->__pyx_v_state, __pyx_cur_scope->__pyx_v_session}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 51, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 51, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("back_to_pay_stars", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_7process_callback_pay_stars(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_9stars_pay_7process_callback_pay_stars = {"process_callback_pay_stars", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_9stars_pay_7process_callback_pay_stars, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_7process_callback_pay_stars(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_callback_pay_stars (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_callback_pay_stars", 1, 3, 3, 1); __PYX_ERR(0, 54, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_callback_pay_stars", 1, 3, 3, 2); __PYX_ERR(0, 54, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_callback_pay_stars") < 0)) __PYX_ERR(0, 54, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - __pyx_v_session = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_callback_pay_stars", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 54, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.stars_pay.process_callback_pay_stars", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_9stars_pay_6process_callback_pay_stars(__pyx_self, __pyx_v_callback_query, __pyx_v_state, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_6process_callback_pay_stars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_callback_pay_stars", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 54, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_9stars_pay_8generator2, __pyx_codeobj__4, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_callback_pay_stars, __pyx_n_s_process_callback_pay_stars, __pyx_n_s_handlers_payments_stars_pay); if (unlikely(!gen)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.stars_pay.process_callback_pay_stars", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - unsigned int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - Py_ssize_t __pyx_t_8; - PyObject *(*__pyx_t_9)(PyObject *); - Py_ssize_t __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - PyObject *__pyx_t_16 = NULL; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - int __pyx_t_19; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - int __pyx_t_23; - char const *__pyx_t_24; - PyObject *__pyx_t_25 = NULL; - PyObject *__pyx_t_26 = NULL; - PyObject *__pyx_t_27 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_callback_pay_stars", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L5_resume_from_await; - case 2: goto __pyx_L10_resume_from_await; - case 3: goto __pyx_L12_resume_from_await; - case 4: goto __pyx_L14_resume_from_await; - case 5: goto __pyx_L21_resume_from_await; - case 6: goto __pyx_L37_resume_from_await; - case 7: goto __pyx_L38_resume_from_await; - case 8: goto __pyx_L43_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 54, __pyx_L1_error) - - __Pyx_INCREF(__pyx_kp_u_21U68SOLOBOT); - __Pyx_GIVEREF(__pyx_kp_u_21U68SOLOBOT); - __pyx_cur_scope->__pyx_v_expected_hash = __pyx_kp_u_21U68SOLOBOT; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_STARS_ROUTER); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_cur_scope->__pyx_v_expected_hash, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 59, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__5}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_target_message, __pyx_t_3) < 0) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_text, __pyx_kp_u_solonet_sup) < 0) __PYX_ERR(0, 62, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_reply_markup, Py_None) < 0) __PYX_ERR(0, 62, __pyx_L1_error) - - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 61, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 61, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_chat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_tg_id = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_3; - __pyx_t_3 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_STARS_BOT); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_text, __pyx_t_7) < 0) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_url, __pyx_kp_u_https_t_me_PremiumBot) < 0) __PYX_ERR(0, 73, __pyx_L1_error) - - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_7}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0)) __PYX_ERR(0, 77, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error); - __Pyx_INCREF(__pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2)) __PYX_ERR(0, 77, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { - __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); - __pyx_t_8 = 0; - __pyx_t_9 = NULL; - } else { - __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 77, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - for (;;) { - if (likely(!__pyx_t_9)) { - if (likely(PyList_CheckExact(__pyx_t_4))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 77, __pyx_L1_error) - #endif - if (__pyx_t_8 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 77, __pyx_L1_error) - #else - __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 77, __pyx_L1_error) - #endif - if (__pyx_t_8 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 77, __pyx_L1_error) - #else - __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } - } else { - __pyx_t_3 = __pyx_t_9(__pyx_t_4); - if (unlikely(!__pyx_t_3)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 77, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_i); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_i, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 78, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 78, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_10 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 78, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 78, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_7, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 78, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 78, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_2) { - - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_text); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_n_u_stars, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_t_11) < 0) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_Dict_GetItem(__pyx_t_14, __pyx_n_u_text); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_13) < 0) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_14, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyUnicode_Concat(__pyx_n_u_stars, __pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_t_14) < 0) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 84, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_11, __pyx_t_14}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - goto __pyx_L8; - } - - /*else*/ { - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - - __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_text); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_t_3) < 0) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_n_u_stars, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_callback_data, __pyx_t_3) < 0) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_3}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 90, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_L8:; - - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 96, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 98, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_CUSTOM_AMOUNT); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 98, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 98, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_enter_custom_amount_stars) < 0) __PYX_ERR(0, 98, __pyx_L1_error) - - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_11}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 96, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_BACK); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_7) < 0) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 102, __pyx_L1_error) - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 105, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_cur_scope->__pyx_v_tg_id}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 105, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L10_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 105, __pyx_L1_error) - __pyx_t_4 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_4); - } else { - __pyx_t_4 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_4) < 0) __PYX_ERR(0, 105, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_key_count = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_2 = (__Pyx_PyInt_BoolEqObjC(__pyx_cur_scope->__pyx_v_key_count, __pyx_int_0, 0, 0)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 107, __pyx_L1_error) - if (__pyx_t_2) { - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_cur_scope->__pyx_v_tg_id}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L12_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 108, __pyx_L1_error) - __pyx_t_4 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_4); - } else { - __pyx_t_4 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_4) < 0) __PYX_ERR(0, 108, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_exists = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_exists); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 109, __pyx_L1_error) - __pyx_t_15 = (!__pyx_t_2); - if (__pyx_t_15) { - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_tg_id); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_tg_id); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_cur_scope->__pyx_v_tg_id)) __PYX_ERR(0, 110, __pyx_L1_error); - __pyx_t_7 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_balance, __pyx_float_0_0) < 0) __PYX_ERR(0, 110, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_trial, __pyx_int_0) < 0) __PYX_ERR(0, 110, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_session, __pyx_cur_scope->__pyx_v_session) < 0) __PYX_ERR(0, 110, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L14_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 110, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 110, __pyx_L1_error) - } - } - - } - - } - - { - __Pyx_ExceptionSave(&__pyx_t_16, &__pyx_t_17, &__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_16); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 114, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_3); - - __pyx_t_7 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 115, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 115, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_target_message, __pyx_t_6) < 0) __PYX_ERR(0, 115, __pyx_L15_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_AMOUNT_TEXT); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 116, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_text, __pyx_t_6) < 0) __PYX_ERR(0, 115, __pyx_L15_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 117, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 117, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_reply_markup, __pyx_t_6) < 0) __PYX_ERR(0, 115, __pyx_L15_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 114, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_16); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_16; - __Pyx_XGIVEREF(__pyx_t_17); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_17; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L21_resume_from_await:; - __pyx_t_16 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_17 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_17); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_18); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 114, __pyx_L15_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 114, __pyx_L15_error) - } - } - - } - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - goto __pyx_L20_try_end; - __pyx_L15_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - - __pyx_t_19 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_19) { - __Pyx_AddTraceback("handlers.payments.stars_pay.process_callback_pay_stars", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_3) < 0) __PYX_ERR(0, 119, __pyx_L17_except_error) - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_v_e = __pyx_t_7; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_logger); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 120, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_warning); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 120, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 120, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u__6, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 120, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_1}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 120, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - { - __Pyx_ExceptionSave(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - /*try:*/ { - - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 122, __pyx_L29_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_delete); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L29_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_14, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 122, __pyx_L29_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_6; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_16); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_16; - __Pyx_XGIVEREF(__pyx_t_17); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_17; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_20); - __pyx_cur_scope->__pyx_t_6 = __pyx_t_20; - __Pyx_XGIVEREF(__pyx_t_21); - __pyx_cur_scope->__pyx_t_7 = __pyx_t_21; - __Pyx_XGIVEREF(__pyx_t_22); - __pyx_cur_scope->__pyx_t_8 = __pyx_t_22; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 6; - return __pyx_r; - __pyx_L37_resume_from_await:; - __pyx_t_3 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_3); - __pyx_t_6 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_6); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_16 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_17 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_17); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_20 = __pyx_cur_scope->__pyx_t_6; - __pyx_cur_scope->__pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_21 = __pyx_cur_scope->__pyx_t_7; - __pyx_cur_scope->__pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_t_21); - __pyx_t_22 = __pyx_cur_scope->__pyx_t_8; - __pyx_cur_scope->__pyx_t_8 = 0; - __Pyx_XGOTREF(__pyx_t_22); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 122, __pyx_L29_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 122, __pyx_L29_error) - } - } - - } - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; - __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; - goto __pyx_L36_try_end; - __pyx_L29_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_19 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_19) { - __Pyx_ErrRestore(0,0,0); - goto __pyx_L30_exception_handled; - } - goto __pyx_L31_except_error; - - __pyx_L31_except_error:; - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - goto __pyx_L27_error; - __pyx_L30_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - __pyx_L36_try_end:; - } - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_AMOUNT_TEXT); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 126, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_4); - - __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 125, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_4)) __PYX_ERR(0, 125, __pyx_L27_error); - __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 127, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 127, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_13)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_13); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_13, NULL}; - __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 127, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_reply_markup, __pyx_t_11) < 0) __PYX_ERR(0, 127, __pyx_L27_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_14, __pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 125, __pyx_L27_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_6; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_16); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_16; - __Pyx_XGIVEREF(__pyx_t_17); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_17; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 7; - return __pyx_r; - __pyx_L38_resume_from_await:; - __pyx_t_3 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_3); - __pyx_t_6 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_6); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_16 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_16); - __pyx_t_17 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_17); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_18); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 125, __pyx_L27_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 125, __pyx_L27_error) - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L28; - } - __pyx_L27_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_25, &__pyx_t_26, &__pyx_t_27); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20) < 0)) __Pyx_ErrFetch(&__pyx_t_22, &__pyx_t_21, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_26); - __Pyx_XGOTREF(__pyx_t_27); - __pyx_t_19 = __pyx_lineno; __pyx_t_23 = __pyx_clineno; __pyx_t_24 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_26, __pyx_t_27); - } - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ErrRestore(__pyx_t_22, __pyx_t_21, __pyx_t_20); - __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; - __pyx_lineno = __pyx_t_19; __pyx_clineno = __pyx_t_23; __pyx_filename = __pyx_t_24; - goto __pyx_L17_except_error; - } - __pyx_L28:; - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L16_exception_handled; - } - goto __pyx_L17_except_error; - - __pyx_L17_except_error:; - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); - goto __pyx_L1_error; - __pyx_L16_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_16); - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_16, __pyx_t_17, __pyx_t_18); - __pyx_L20_try_end:; - } - - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_choosing_amount_stars); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_11}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 8; - return __pyx_r; - __pyx_L43_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 131, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 131, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("process_callback_pay_stars", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_10process_amount_selection(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_9stars_pay_10process_amount_selection = {"process_amount_selection", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_9stars_pay_10process_amount_selection, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_10process_amount_selection(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_amount_selection (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, 1); __PYX_ERR(0, 135, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_amount_selection") < 0)) __PYX_ERR(0, 135, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 135, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.stars_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_9stars_pay_9process_amount_selection(__pyx_self, __pyx_v_callback_query, __pyx_v_state); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_9process_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_amount_selection", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 135, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_9stars_pay_11generator3, __pyx_codeobj__7, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_amount_selection, __pyx_n_s_process_amount_selection, __pyx_n_s_handlers_payments_stars_pay); if (unlikely(!gen)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.stars_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - unsigned int __pyx_t_13; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - char const *__pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_amount_selection", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L5_resume_from_await; - case 2: goto __pyx_L14_resume_from_await; - case 3: goto __pyx_L15_resume_from_await; - case 4: goto __pyx_L16_resume_from_await; - case 5: goto __pyx_L23_resume_from_await; - case 6: goto __pyx_L24_resume_from_await; - case 7: goto __pyx_L32_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 135, __pyx_L1_error) - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_data = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = PyObject_Length(__pyx_cur_scope->__pyx_v_data); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 141, __pyx_L1_error) - __pyx_t_4 = (__pyx_t_3 != 2); - if (__pyx_t_4) { - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_target_message, __pyx_t_5) < 0) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_kp_u__10) < 0) __PYX_ERR(0, 143, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, Py_None) < 0) __PYX_ERR(0, 143, __pyx_L1_error) - - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 142, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 142, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 142, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __pyx_t_5 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_data, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_amount_str = __pyx_t_5; - __pyx_t_5 = 0; - - { - __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_8); - /*try:*/ { - - __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 151, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_amount = __pyx_t_5; - __pyx_t_5 = 0; - - } - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L11_try_end; - __pyx_L6_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError); - if (__pyx_t_9) { - __Pyx_AddTraceback("handlers.payments.stars_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_1) < 0) __PYX_ERR(0, 152, __pyx_L8_except_error) - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 153, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_10); - - __pyx_t_11 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 154, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 154, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_12); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_target_message, __pyx_t_12) < 0) __PYX_ERR(0, 154, __pyx_L8_except_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_kp_u__11) < 0) __PYX_ERR(0, 154, __pyx_L8_except_error) - - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_reply_markup, Py_None) < 0) __PYX_ERR(0, 154, __pyx_L8_except_error) - - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 153, __pyx_L8_except_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_5; - __Pyx_XGIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_6; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L14_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_5 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_5); - __pyx_t_6 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_6); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_8); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 153, __pyx_L8_except_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 153, __pyx_L8_except_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - goto __pyx_L9_except_return; - } - goto __pyx_L8_except_error; - - __pyx_L8_except_error:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L1_error; - __pyx_L9_except_return:; - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8); - goto __pyx_L0; - __pyx_L11_try_end:; - } - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 160, __pyx_L1_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L15_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 160, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 160, __pyx_L1_error) - } - } - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_13 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_13 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_12}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 161, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L16_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 161, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 161, __pyx_L1_error) - } - } - - { - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_7, &__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_6); - /*try:*/ { - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 164, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_delete); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 164, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_13 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - __pyx_t_13 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_13, 0+__pyx_t_13); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 164, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_6; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L23_resume_from_await:; - __pyx_t_6 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_6); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_8); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 164, __pyx_L17_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 164, __pyx_L17_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 166, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_2 = NULL; - __pyx_t_13 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - __pyx_t_13 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_13, 0+__pyx_t_13); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 166, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_5; - __pyx_t_5 = 0; - - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 167, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_12); - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 168, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAY); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 168, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 168, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_pay, Py_True) < 0) __PYX_ERR(0, 168, __pyx_L17_error) - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 168, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_13 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - __pyx_t_13 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_11}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 167, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 170, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_12); - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 171, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 171, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BACK); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_2) < 0) __PYX_ERR(0, 171, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_callback_data, __pyx_n_u_back_to_pay_stars_after_invoice) < 0) __PYX_ERR(0, 171, __pyx_L17_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 171, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_13 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_12))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_12); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_12, function); - __pyx_t_13 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 170, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 174, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_answer_invoice); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 174, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 175, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 175, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 175, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 175, __pyx_L17_error) - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 175, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_title, __pyx_t_11) < 0) __PYX_ERR(0, 175, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 176, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 176, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 176, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 176, __pyx_L17_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_description, __pyx_t_1) < 0) __PYX_ERR(0, 175, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_LabeledPrice); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 177, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_label, __pyx_n_u_XTR) < 0) __PYX_ERR(0, 177, __pyx_L17_error) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_RUB_TO_XTR); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_10 = PyNumber_FloorDivide(__pyx_cur_scope->__pyx_v_amount, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 177, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_amount, __pyx_t_2) < 0) __PYX_ERR(0, 177, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 177, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_2)) __PYX_ERR(0, 177, __pyx_L17_error); - __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_prices, __pyx_t_11) < 0) __PYX_ERR(0, 175, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_provider_token, __pyx_kp_u__12) < 0) __PYX_ERR(0, 175, __pyx_L17_error) - - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 179, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_11, __pyx_n_u_stars_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 179, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_payload, __pyx_t_2) < 0) __PYX_ERR(0, 175, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_currency, __pyx_n_u_XTR) < 0) __PYX_ERR(0, 175, __pyx_L17_error) - - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 181, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_1 = NULL; - __pyx_t_13 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_13 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_13, 0+__pyx_t_13); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 181, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_reply_markup, __pyx_t_2) < 0) __PYX_ERR(0, 175, __pyx_L17_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 174, __pyx_L17_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_6; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 6; - return __pyx_r; - __pyx_L24_resume_from_await:; - __pyx_t_6 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_6); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_8); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 174, __pyx_L17_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 174, __pyx_L17_error) - } - } - - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L22_try_end; - __pyx_L17_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_9) { - __Pyx_AddTraceback("handlers.payments.stars_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_12) < 0) __PYX_ERR(0, 183, __pyx_L19_except_error) - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_INCREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_e = __pyx_t_5; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L30_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_error); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 184, __pyx_L30_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L30_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = __Pyx_PyUnicode_Concat(__pyx_kp_u__13, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 184, __pyx_L30_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_13 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_13 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_14}; - __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_13, 1+__pyx_t_13); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 184, __pyx_L30_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 185, __pyx_L30_error) - __Pyx_GOTREF(__pyx_t_11); - - __pyx_t_10 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 186, __pyx_L30_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 186, __pyx_L30_error) - __Pyx_GOTREF(__pyx_t_14); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_target_message, __pyx_t_14) < 0) __PYX_ERR(0, 186, __pyx_L30_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_kp_u__14) < 0) __PYX_ERR(0, 186, __pyx_L30_error) - - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_reply_markup, Py_None) < 0) __PYX_ERR(0, 186, __pyx_L30_error) - - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 185, __pyx_L30_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_5; - __Pyx_XGIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_6; - __Pyx_XGIVEREF(__pyx_t_7); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_7; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 7; - return __pyx_r; - __pyx_L32_resume_from_await:; - __pyx_t_2 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_5 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_5); - __pyx_t_6 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_6); - __pyx_t_7 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_7); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_12); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 185, __pyx_L30_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 185, __pyx_L30_error) - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L31; - } - __pyx_L30_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19) < 0)) __Pyx_ErrFetch(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_9 = __pyx_lineno; __pyx_t_15 = __pyx_clineno; __pyx_t_16 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - } - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ErrRestore(__pyx_t_17, __pyx_t_18, __pyx_t_19); - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __pyx_lineno = __pyx_t_9; __pyx_clineno = __pyx_t_15; __pyx_filename = __pyx_t_16; - goto __pyx_L19_except_error; - } - __pyx_L31:; - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L18_exception_handled; - } - goto __pyx_L19_except_error; - - __pyx_L19_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - goto __pyx_L1_error; - __pyx_L18_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_7, __pyx_t_6); - __pyx_L22_try_end:; - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_13process_enter_custom_amount(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_9stars_pay_13process_enter_custom_amount = {"process_enter_custom_amount", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_9stars_pay_13process_enter_custom_amount, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_13process_enter_custom_amount(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_enter_custom_amount (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 191, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 191, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, 1); __PYX_ERR(0, 191, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_enter_custom_amount") < 0)) __PYX_ERR(0, 191, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 191, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.stars_pay.process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_9stars_pay_12process_enter_custom_amount(__pyx_self, __pyx_v_callback_query, __pyx_v_state); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_12process_enter_custom_amount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_enter_custom_amount", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 191, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_9stars_pay_14generator4, __pyx_codeobj__15, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_handlers_payments_stars_pay); if (unlikely(!gen)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.stars_pay.process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_enter_custom_amount", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - case 2: goto __pyx_L5_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 191, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_BACK); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_text, __pyx_t_6) < 0) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_data, __pyx_n_u_back_to_pay_stars) < 0) __PYX_ERR(0, 194, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_target_message, __pyx_t_6) < 0) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ENTER_SUM); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_6) < 0) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 199, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_t_6) < 0) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 196, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 196, __pyx_L1_error) - } - } - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_entering_custom_amount_stars); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 202, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 202, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_17generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_16process_custom_amount_input(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_9stars_pay_16process_custom_amount_input = {"process_custom_amount_input", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_9stars_pay_16process_custom_amount_input, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_16process_custom_amount_input(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_message = 0; - PyObject *__pyx_v_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_custom_amount_input (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message,&__pyx_n_s_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_message)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 205, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 205, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, 1); __PYX_ERR(0, 205, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_custom_amount_input") < 0)) __PYX_ERR(0, 205, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_message = values[0]; - __pyx_v_state = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 205, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.stars_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_9stars_pay_15process_custom_amount_input(__pyx_self, __pyx_v_message, __pyx_v_state); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_15process_custom_amount_input(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_message, PyObject *__pyx_v_state) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_custom_amount_input", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 205, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_message = __pyx_v_message; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_message); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_message); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_9stars_pay_17generator5, __pyx_codeobj__16, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_custom_amount_input, __pyx_n_s_process_custom_amount_input, __pyx_n_s_handlers_payments_stars_pay); if (unlikely(!gen)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.stars_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_17generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - int __pyx_t_5; - Py_ssize_t __pyx_t_6; - Py_UCS4 __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - char const *__pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_custom_amount_input", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L6_resume_from_await; - case 2: goto __pyx_L7_resume_from_await; - case 3: goto __pyx_L8_resume_from_await; - case 4: goto __pyx_L15_resume_from_await; - case 5: goto __pyx_L16_resume_from_await; - case 6: goto __pyx_L24_resume_from_await; - case 7: goto __pyx_L29_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 205, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isdigit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 207, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_5) { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_amount = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_RUB_TO_XTR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyNumber_FloorDivide(__pyx_cur_scope->__pyx_v_amount, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_int_0, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 209, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 209, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_5) { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = 0; - __pyx_t_7 = 127; - __Pyx_INCREF(__pyx_kp_u__17); - __pyx_t_7 = (65535 > __pyx_t_7) ? 65535 : __pyx_t_7; - __pyx_t_6 += 25; - __Pyx_GIVEREF(__pyx_kp_u__17); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u__17); - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_RUB_TO_XTR); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_8, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_9); - __pyx_t_9 = 0; - __Pyx_INCREF(__pyx_kp_u__18); - __pyx_t_7 = (65535 > __pyx_t_7) ? 65535 : __pyx_t_7; - __pyx_t_6 += 36; - __Pyx_GIVEREF(__pyx_kp_u__18); - PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u__18); - __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 211, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L6_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 210, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 210, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 215, __pyx_L1_error) - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L7_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 215, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 215, __pyx_L1_error) - } - } - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 217, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 217, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 216, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L8_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 216, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 216, __pyx_L1_error) - } - } - - { - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_delete); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 220, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 220, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L15_resume_from_await:; - __pyx_t_10 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_12); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 220, __pyx_L9_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 220, __pyx_L9_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 222, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 222, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_GIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_9; - __pyx_t_9 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 224, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 224, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_n_u__19) < 0) __PYX_ERR(0, 224, __pyx_L9_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_pay, Py_True) < 0) __PYX_ERR(0, 224, __pyx_L9_error) - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 224, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 223, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 226, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 227, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 227, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_BACK); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 227, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_2) < 0) __PYX_ERR(0, 227, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_back_to_pay_stars_after_invoice) < 0) __PYX_ERR(0, 227, __pyx_L9_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 227, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 226, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer_invoice); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 229, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_9); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 230, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 230, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 230, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 230, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 230, __pyx_L9_error) - __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 230, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_title, __pyx_t_8) < 0) __PYX_ERR(0, 230, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 231, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 231, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 231, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 231, __pyx_L9_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 231, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_description, __pyx_t_3) < 0) __PYX_ERR(0, 230, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_LabeledPrice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 232, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 232, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_label, __pyx_n_u_XTR) < 0) __PYX_ERR(0, 232, __pyx_L9_error) - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_RUB_TO_XTR); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 232, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_13 = PyNumber_FloorDivide(__pyx_cur_scope->__pyx_v_amount, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 232, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 232, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_amount, __pyx_t_2) < 0) __PYX_ERR(0, 232, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 232, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = PyList_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 232, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_2)) __PYX_ERR(0, 232, __pyx_L9_error); - __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_prices, __pyx_t_8) < 0) __PYX_ERR(0, 230, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_provider_token, __pyx_kp_u__12) < 0) __PYX_ERR(0, 230, __pyx_L9_error) - - __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 234, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_2 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_8, __pyx_n_u_stars_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 234, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_payload, __pyx_t_2) < 0) __PYX_ERR(0, 230, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_currency, __pyx_n_u_XTR) < 0) __PYX_ERR(0, 230, __pyx_L9_error) - - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 236, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_8))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_8, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - } - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_2) < 0) __PYX_ERR(0, 230, __pyx_L9_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 229, __pyx_L9_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L16_resume_from_await:; - __pyx_t_10 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_12); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 229, __pyx_L9_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 229, __pyx_L9_error) - } - } - - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L14_try_end; - __pyx_L9_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_14 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_14) { - __Pyx_AddTraceback("handlers.payments.stars_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_9) < 0) __PYX_ERR(0, 238, __pyx_L11_except_error) - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_INCREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_e = __pyx_t_1; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L22_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 239, __pyx_L22_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L22_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyUnicode_Concat(__pyx_kp_u__13, __pyx_t_3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 239, __pyx_L22_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_15}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 239, __pyx_L22_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - - __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 240, __pyx_L22_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_15 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_13))) { - __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_13); - if (likely(__pyx_t_15)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); - __Pyx_INCREF(__pyx_t_15); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_13, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_15, __pyx_kp_u__14}; - __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 240, __pyx_L22_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_8); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 6; - return __pyx_r; - __pyx_L24_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_12); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 240, __pyx_L22_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 240, __pyx_L22_error) - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L23; - } - __pyx_L22_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_14 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); - } - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ErrRestore(__pyx_t_18, __pyx_t_19, __pyx_t_20); - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - __pyx_lineno = __pyx_t_14; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17; - goto __pyx_L11_except_error; - } - __pyx_L23:; - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L10_exception_handled; - } - goto __pyx_L11_except_error; - - __pyx_L11_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L1_error; - __pyx_L10_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - __pyx_L14_try_end:; - } - - goto __pyx_L4; - } - - /*else*/ { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__20}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 242, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 7; - return __pyx_r; - __pyx_L29_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 242, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 242, __pyx_L1_error) - } - } - } - __pyx_L4:; - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_20generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_19on_pre_checkout_query(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_9stars_pay_19on_pre_checkout_query = {"on_pre_checkout_query", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_9stars_pay_19on_pre_checkout_query, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_19on_pre_checkout_query(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_pre_checkout_query = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("on_pre_checkout_query (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pre_checkout_query,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pre_checkout_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 246, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "on_pre_checkout_query") < 0)) __PYX_ERR(0, 246, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - } - __pyx_v_pre_checkout_query = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("on_pre_checkout_query", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 246, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.stars_pay.on_pre_checkout_query", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_9stars_pay_18on_pre_checkout_query(__pyx_self, __pyx_v_pre_checkout_query); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_18on_pre_checkout_query(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pre_checkout_query) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("on_pre_checkout_query", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 246, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_pre_checkout_query = __pyx_v_pre_checkout_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_pre_checkout_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_pre_checkout_query); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_9stars_pay_20generator6, __pyx_codeobj__21, (PyObject *) __pyx_cur_scope, __pyx_n_s_on_pre_checkout_query, __pyx_n_s_on_pre_checkout_query, __pyx_n_s_handlers_payments_stars_pay); if (unlikely(!gen)) __PYX_ERR(0, 246, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.stars_pay.on_pre_checkout_query", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_20generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("on_pre_checkout_query", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 246, __pyx_L1_error) - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_pre_checkout_query, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_ok, Py_True) < 0) __PYX_ERR(0, 248, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 248, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 248, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_AddTraceback("on_pre_checkout_query", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_23generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_22on_successful_payment(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_9stars_pay_22on_successful_payment = {"on_successful_payment", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_9stars_pay_22on_successful_payment, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_9stars_pay_22on_successful_payment(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_message = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("on_successful_payment (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_message)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 251, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "on_successful_payment") < 0)) __PYX_ERR(0, 251, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - } - __pyx_v_message = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("on_successful_payment", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 251, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.stars_pay.on_successful_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_9stars_pay_21on_successful_payment(__pyx_self, __pyx_v_message); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_9stars_pay_21on_successful_payment(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_message) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("on_successful_payment", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 251, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_message = __pyx_v_message; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_message); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_message); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_9stars_pay_23generator7, __pyx_codeobj__22, (PyObject *) __pyx_cur_scope, __pyx_n_s_on_successful_payment, __pyx_n_s_on_successful_payment, __pyx_n_s_handlers_payments_stars_pay); if (unlikely(!gen)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.stars_pay.on_successful_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_9stars_pay_23generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - unsigned int __pyx_t_7; - double __pyx_t_8; - Py_ssize_t __pyx_t_9; - Py_UCS4 __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - int __pyx_t_13; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; - char const *__pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("on_successful_payment", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L10_resume_from_await; - case 2: goto __pyx_L11_resume_from_await; - case 3: goto __pyx_L12_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 251, __pyx_L1_error) - - { - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_chat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 256, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_id); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 256, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 256, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_user_id = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_successful_payment); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 257, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_invoice_payload); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 257, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 257, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_n_u__23}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 257, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 257, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_AsDouble(__pyx_t_5); if (unlikely(__pyx_t_8 == ((double)((double)-1)) && PyErr_Occurred())) __PYX_ERR(0, 257, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_cur_scope->__pyx_v_amount = __pyx_t_8; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 258, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_debug); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 258, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 258, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_9 = 0; - __pyx_t_10 = 127; - __Pyx_INCREF(__pyx_kp_u_Payment_succeeded_for_user_id); - __pyx_t_9 += 31; - __Pyx_GIVEREF(__pyx_kp_u_Payment_succeeded_for_user_id); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u_Payment_succeeded_for_user_id); - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 258, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) : __pyx_t_10; - __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_11); - __pyx_t_11 = 0; - __Pyx_INCREF(__pyx_kp_u_amount_2); - __pyx_t_9 += 10; - __Pyx_GIVEREF(__pyx_kp_u_amount_2); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u_amount_2); - __pyx_t_11 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 258, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 258, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_10 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_10) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_10; - __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_12); - __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_4, 4, __pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 258, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_12}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 258, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 259, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_12 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_user_id); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 259, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_4 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 259, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_11, __pyx_t_12, __pyx_t_4, __pyx_n_u_stars_3}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 3+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 259, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L10_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 259, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 259, __pyx_L4_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 260, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 260, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_cur_scope->__pyx_v_user_id, __pyx_t_4}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 260, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L11_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 260, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 260, __pyx_L4_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_cur_scope->__pyx_v_user_id, __pyx_t_4}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 261, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L12_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 261, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 261, __pyx_L4_error) - } - } - - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L9_try_end; - __pyx_L4_error:; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_13 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError); - if (__pyx_t_13) { - __Pyx_AddTraceback("handlers.payments.stars_pay.on_successful_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_4) < 0) __PYX_ERR(0, 262, __pyx_L6_except_error) - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_e = __pyx_t_6; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_logger); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 263, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_error); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 263, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 263, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_15 = __Pyx_PyUnicode_Concat(__pyx_kp_u_user_id_amount, __pyx_t_11); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 263, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_15}; - __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 263, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L19; - } - __pyx_L18_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_13 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); - } - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ErrRestore(__pyx_t_18, __pyx_t_19, __pyx_t_20); - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - __pyx_lineno = __pyx_t_13; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17; - goto __pyx_L6_except_error; - } - __pyx_L19:; - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - goto __pyx_L5_exception_handled; - } - goto __pyx_L6_except_error; - - __pyx_L6_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L5_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_L9_try_end:; - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("on_successful_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice *__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice[8]; -static int __pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice[--__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice(PyObject *o) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_v_state); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice)))) { - __pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice[__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice++] = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice *)o; - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice_spec = { - "handlers.payments.stars_pay.__pyx_scope_struct__back_to_pay_stars_after_invoice", - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.stars_pay.""__pyx_scope_struct__back_to_pay_stars_after_invoice", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars *__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars[8]; -static int __pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars[--__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars(PyObject *o) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_v_state); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars)))) { - __pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars[__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars++] = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars *)o; - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars_spec = { - "handlers.payments.stars_pay.__pyx_scope_struct_1_back_to_pay_stars", - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.stars_pay.""__pyx_scope_struct_1_back_to_pay_stars", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars *__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars[8]; -static int __pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars[--__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars(PyObject *o) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_exists); - Py_CLEAR(p->__pyx_v_expected_hash); - Py_CLEAR(p->__pyx_v_i); - Py_CLEAR(p->__pyx_v_key_count); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_v_state); - Py_CLEAR(p->__pyx_v_tg_id); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - Py_CLEAR(p->__pyx_t_3); - Py_CLEAR(p->__pyx_t_4); - Py_CLEAR(p->__pyx_t_5); - Py_CLEAR(p->__pyx_t_6); - Py_CLEAR(p->__pyx_t_7); - Py_CLEAR(p->__pyx_t_8); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars)))) { - __pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars[__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars++] = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_exists) { - e = (*v)(p->__pyx_v_exists, a); if (e) return e; - } - if (p->__pyx_v_i) { - e = (*v)(p->__pyx_v_i, a); if (e) return e; - } - if (p->__pyx_v_key_count) { - e = (*v)(p->__pyx_v_key_count, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - if (p->__pyx_v_tg_id) { - e = (*v)(p->__pyx_v_tg_id, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - if (p->__pyx_t_3) { - e = (*v)(p->__pyx_t_3, a); if (e) return e; - } - if (p->__pyx_t_4) { - e = (*v)(p->__pyx_t_4, a); if (e) return e; - } - if (p->__pyx_t_5) { - e = (*v)(p->__pyx_t_5, a); if (e) return e; - } - if (p->__pyx_t_6) { - e = (*v)(p->__pyx_t_6, a); if (e) return e; - } - if (p->__pyx_t_7) { - e = (*v)(p->__pyx_t_7, a); if (e) return e; - } - if (p->__pyx_t_8) { - e = (*v)(p->__pyx_t_8, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars_spec = { - "handlers.payments.stars_pay.__pyx_scope_struct_2_process_callback_pay_stars", - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.stars_pay.""__pyx_scope_struct_2_process_callback_pay_stars", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection *__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection[8]; -static int __pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection[--__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection(PyObject *o) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_amount); - Py_CLEAR(p->__pyx_v_amount_str); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_data); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_state); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - Py_CLEAR(p->__pyx_t_3); - Py_CLEAR(p->__pyx_t_4); - Py_CLEAR(p->__pyx_t_5); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection)))) { - __pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection[__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection++] = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection *)o; - if (p->__pyx_v_amount) { - e = (*v)(p->__pyx_v_amount, a); if (e) return e; - } - if (p->__pyx_v_amount_str) { - e = (*v)(p->__pyx_v_amount_str, a); if (e) return e; - } - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_data) { - e = (*v)(p->__pyx_v_data, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - if (p->__pyx_t_3) { - e = (*v)(p->__pyx_t_3, a); if (e) return e; - } - if (p->__pyx_t_4) { - e = (*v)(p->__pyx_t_4, a); if (e) return e; - } - if (p->__pyx_t_5) { - e = (*v)(p->__pyx_t_5, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection_spec = { - "handlers.payments.stars_pay.__pyx_scope_struct_3_process_amount_selection", - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.stars_pay.""__pyx_scope_struct_3_process_amount_selection", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount *__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount[8]; -static int __pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount[--__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount(PyObject *o) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_state); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount)))) { - __pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount[__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount++] = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount_spec = { - "handlers.payments.stars_pay.__pyx_scope_struct_4_process_enter_custom_amount", - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.stars_pay.""__pyx_scope_struct_4_process_enter_custom_amount", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input *__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input[8]; -static int __pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input[--__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input(PyObject *o) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_amount); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_message); - Py_CLEAR(p->__pyx_v_state); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - Py_CLEAR(p->__pyx_t_3); - Py_CLEAR(p->__pyx_t_4); - Py_CLEAR(p->__pyx_t_5); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input)))) { - __pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input[__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input++] = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input *)o; - if (p->__pyx_v_amount) { - e = (*v)(p->__pyx_v_amount, a); if (e) return e; - } - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_message) { - e = (*v)(p->__pyx_v_message, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - if (p->__pyx_t_3) { - e = (*v)(p->__pyx_t_3, a); if (e) return e; - } - if (p->__pyx_t_4) { - e = (*v)(p->__pyx_t_4, a); if (e) return e; - } - if (p->__pyx_t_5) { - e = (*v)(p->__pyx_t_5, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input_spec = { - "handlers.payments.stars_pay.__pyx_scope_struct_5_process_custom_amount_input", - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.stars_pay.""__pyx_scope_struct_5_process_custom_amount_input", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query *__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query[8]; -static int __pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query[--__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query(PyObject *o) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_pre_checkout_query); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query)))) { - __pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query[__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query++] = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query *)o; - if (p->__pyx_v_pre_checkout_query) { - e = (*v)(p->__pyx_v_pre_checkout_query, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query_spec = { - "handlers.payments.stars_pay.__pyx_scope_struct_6_on_pre_checkout_query", - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.stars_pay.""__pyx_scope_struct_6_on_pre_checkout_query", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment *__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment[8]; -static int __pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment[--__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment(PyObject *o) { - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_message); - Py_CLEAR(p->__pyx_v_user_id); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment)))) { - __pyx_freelist_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment[__pyx_freecount_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment++] = ((struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment *p = (struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment *)o; - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_message) { - e = (*v)(p->__pyx_v_message, a); if (e) return e; - } - if (p->__pyx_v_user_id) { - e = (*v)(p->__pyx_v_user_id, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment_spec = { - "handlers.payments.stars_pay.__pyx_scope_struct_7_on_successful_payment", - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.stars_pay.""__pyx_scope_struct_7_on_successful_payment", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif -/* #### Code section: pystring_table ### */ - -static int __Pyx_CreateStringTabAndInitStrings(void) { - __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_u_21U68SOLOBOT, __pyx_k_21U68SOLOBOT, sizeof(__pyx_k_21U68SOLOBOT), 0, 1, 0, 0}, - {&__pyx_n_s_AMOUNT_TEXT, __pyx_k_AMOUNT_TEXT, sizeof(__pyx_k_AMOUNT_TEXT), 0, 0, 1, 1}, - {&__pyx_n_s_Any, __pyx_k_Any, sizeof(__pyx_k_Any), 0, 0, 1, 1}, - {&__pyx_n_s_BACK, __pyx_k_BACK, sizeof(__pyx_k_BACK), 0, 0, 1, 1}, - {&__pyx_n_s_CUSTOM_AMOUNT, __pyx_k_CUSTOM_AMOUNT, sizeof(__pyx_k_CUSTOM_AMOUNT), 0, 0, 1, 1}, - {&__pyx_n_s_DEFAULT_PAYMENT_MESSAGE, __pyx_k_DEFAULT_PAYMENT_MESSAGE, sizeof(__pyx_k_DEFAULT_PAYMENT_MESSAGE), 0, 0, 1, 1}, - {&__pyx_n_s_ENTER_SUM, __pyx_k_ENTER_SUM, sizeof(__pyx_k_ENTER_SUM), 0, 0, 1, 1}, - {&__pyx_n_s_F, __pyx_k_F, sizeof(__pyx_k_F), 0, 0, 1, 1}, - {&__pyx_n_s_FSMContext, __pyx_k_FSMContext, sizeof(__pyx_k_FSMContext), 0, 0, 1, 1}, - {&__pyx_n_s_InlineKeyboardBuilder, __pyx_k_InlineKeyboardBuilder, sizeof(__pyx_k_InlineKeyboardBuilder), 0, 0, 1, 1}, - {&__pyx_n_s_InlineKeyboardButton, __pyx_k_InlineKeyboardButton, sizeof(__pyx_k_InlineKeyboardButton), 0, 0, 1, 1}, - {&__pyx_n_s_LabeledPrice, __pyx_k_LabeledPrice, sizeof(__pyx_k_LabeledPrice), 0, 0, 1, 1}, - {&__pyx_n_s_PAY, __pyx_k_PAY, sizeof(__pyx_k_PAY), 0, 0, 1, 1}, - {&__pyx_n_s_PAYMENT_OPTIONS, __pyx_k_PAYMENT_OPTIONS, sizeof(__pyx_k_PAYMENT_OPTIONS), 0, 0, 1, 1}, - {&__pyx_kp_u_Payment_succeeded_for_user_id, __pyx_k_Payment_succeeded_for_user_id, sizeof(__pyx_k_Payment_succeeded_for_user_id), 0, 1, 0, 0}, - {&__pyx_n_s_PreCheckoutQuery, __pyx_k_PreCheckoutQuery, sizeof(__pyx_k_PreCheckoutQuery), 0, 0, 1, 1}, - {&__pyx_n_s_RUB_TO_XTR, __pyx_k_RUB_TO_XTR, sizeof(__pyx_k_RUB_TO_XTR), 0, 0, 1, 1}, - {&__pyx_n_s_ReplenishBalanceState, __pyx_k_ReplenishBalanceState, sizeof(__pyx_k_ReplenishBalanceState), 0, 0, 1, 1}, - {&__pyx_n_s_Router, __pyx_k_Router, sizeof(__pyx_k_Router), 0, 0, 1, 1}, - {&__pyx_n_s_STARS_BOT, __pyx_k_STARS_BOT, sizeof(__pyx_k_STARS_BOT), 0, 0, 1, 1}, - {&__pyx_n_s_STARS_ROUTER, __pyx_k_STARS_ROUTER, sizeof(__pyx_k_STARS_ROUTER), 0, 0, 1, 1}, - {&__pyx_n_s_State, __pyx_k_State, sizeof(__pyx_k_State), 0, 0, 1, 1}, - {&__pyx_n_s_StatesGroup, __pyx_k_StatesGroup, sizeof(__pyx_k_StatesGroup), 0, 0, 1, 1}, - {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_n_u_XTR, __pyx_k_XTR, sizeof(__pyx_k_XTR), 0, 1, 0, 1}, - {&__pyx_kp_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0}, - {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0}, - {&__pyx_kp_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0}, - {&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0}, - {&__pyx_kp_u__14, __pyx_k__14, sizeof(__pyx_k__14), 0, 1, 0, 0}, - {&__pyx_kp_u__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 1, 0, 0}, - {&__pyx_kp_u__18, __pyx_k__18, sizeof(__pyx_k__18), 0, 1, 0, 0}, - {&__pyx_n_u__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 1, 0, 1}, - {&__pyx_kp_u__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0, 0}, - {&__pyx_kp_u__20, __pyx_k__20, sizeof(__pyx_k__20), 0, 1, 0, 0}, - {&__pyx_n_u__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 1, 0, 1}, - {&__pyx_kp_u__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 1, 0, 0}, - {&__pyx_n_s__34, __pyx_k__34, sizeof(__pyx_k__34), 0, 0, 1, 1}, - {&__pyx_kp_u__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 1, 0, 0}, - {&__pyx_kp_u__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0, 0}, - {&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0}, - {&__pyx_n_s_add_connection, __pyx_k_add_connection, sizeof(__pyx_k_add_connection), 0, 0, 1, 1}, - {&__pyx_n_s_add_payment, __pyx_k_add_payment, sizeof(__pyx_k_add_payment), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram, __pyx_k_aiogram, sizeof(__pyx_k_aiogram), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_fsm_context, __pyx_k_aiogram_fsm_context, sizeof(__pyx_k_aiogram_fsm_context), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_fsm_state, __pyx_k_aiogram_fsm_state, sizeof(__pyx_k_aiogram_fsm_state), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_types, __pyx_k_aiogram_types, sizeof(__pyx_k_aiogram_types), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_utils_keyboard, __pyx_k_aiogram_utils_keyboard, sizeof(__pyx_k_aiogram_utils_keyboard), 0, 0, 1, 1}, - {&__pyx_n_s_amount, __pyx_k_amount, sizeof(__pyx_k_amount), 0, 0, 1, 1}, - {&__pyx_kp_u_amount_2, __pyx_k_amount_2, sizeof(__pyx_k_amount_2), 0, 1, 0, 0}, - {&__pyx_n_s_amount_str, __pyx_k_amount_str, sizeof(__pyx_k_amount_str), 0, 0, 1, 1}, - {&__pyx_n_s_answer, __pyx_k_answer, sizeof(__pyx_k_answer), 0, 0, 1, 1}, - {&__pyx_n_s_answer_invoice, __pyx_k_answer_invoice, sizeof(__pyx_k_answer_invoice), 0, 0, 1, 1}, - {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, - {&__pyx_n_s_as_markup, __pyx_k_as_markup, sizeof(__pyx_k_as_markup), 0, 0, 1, 1}, - {&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1}, - {&__pyx_n_s_await, __pyx_k_await, sizeof(__pyx_k_await), 0, 0, 1, 1}, - {&__pyx_n_s_back_to_pay_stars, __pyx_k_back_to_pay_stars, sizeof(__pyx_k_back_to_pay_stars), 0, 0, 1, 1}, - {&__pyx_n_u_back_to_pay_stars, __pyx_k_back_to_pay_stars, sizeof(__pyx_k_back_to_pay_stars), 0, 1, 0, 1}, - {&__pyx_n_s_back_to_pay_stars_after_invoice, __pyx_k_back_to_pay_stars_after_invoice, sizeof(__pyx_k_back_to_pay_stars_after_invoice), 0, 0, 1, 1}, - {&__pyx_n_u_back_to_pay_stars_after_invoice, __pyx_k_back_to_pay_stars_after_invoice, sizeof(__pyx_k_back_to_pay_stars_after_invoice), 0, 1, 0, 1}, - {&__pyx_n_s_balance, __pyx_k_balance, sizeof(__pyx_k_balance), 0, 0, 1, 1}, - {&__pyx_n_s_builder, __pyx_k_builder, sizeof(__pyx_k_builder), 0, 0, 1, 1}, - {&__pyx_n_s_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 0, 1, 1}, - {&__pyx_n_u_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 1, 0, 1}, - {&__pyx_n_s_callback_query, __pyx_k_callback_query, sizeof(__pyx_k_callback_query), 0, 0, 1, 1}, - {&__pyx_n_s_chat, __pyx_k_chat, sizeof(__pyx_k_chat), 0, 0, 1, 1}, - {&__pyx_n_s_check_connection_exists, __pyx_k_check_connection_exists, sizeof(__pyx_k_check_connection_exists), 0, 0, 1, 1}, - {&__pyx_n_s_choosing_amount_stars, __pyx_k_choosing_amount_stars, sizeof(__pyx_k_choosing_amount_stars), 0, 0, 1, 1}, - {&__pyx_n_s_class_getitem, __pyx_k_class_getitem, sizeof(__pyx_k_class_getitem), 0, 0, 1, 1}, - {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, - {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, - {&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1}, - {&__pyx_n_s_currency, __pyx_k_currency, sizeof(__pyx_k_currency), 0, 0, 1, 1}, - {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, - {&__pyx_n_s_database, __pyx_k_database, sizeof(__pyx_k_database), 0, 0, 1, 1}, - {&__pyx_n_s_debug, __pyx_k_debug, sizeof(__pyx_k_debug), 0, 0, 1, 1}, - {&__pyx_n_s_delete, __pyx_k_delete, sizeof(__pyx_k_delete), 0, 0, 1, 1}, - {&__pyx_n_s_description, __pyx_k_description, sizeof(__pyx_k_description), 0, 0, 1, 1}, - {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, - {&__pyx_kp_u_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0, 0}, - {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1}, - {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1}, - {&__pyx_n_s_edit_or_send_message, __pyx_k_edit_or_send_message, sizeof(__pyx_k_edit_or_send_message), 0, 0, 1, 1}, - {&__pyx_kp_u_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0, 0}, - {&__pyx_n_u_enter_custom_amount_stars, __pyx_k_enter_custom_amount_stars, sizeof(__pyx_k_enter_custom_amount_stars), 0, 1, 0, 1}, - {&__pyx_n_s_entering_custom_amount_stars, __pyx_k_entering_custom_amount_stars, sizeof(__pyx_k_entering_custom_amount_stars), 0, 0, 1, 1}, - {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1}, - {&__pyx_n_s_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 0, 0, 1, 1}, - {&__pyx_n_s_expected_hash, __pyx_k_expected_hash, sizeof(__pyx_k_expected_hash), 0, 0, 1, 1}, - {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, - {&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0}, - {&__pyx_n_s_get_key_count, __pyx_k_get_key_count, sizeof(__pyx_k_get_key_count), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_buttons, __pyx_k_handlers_buttons, sizeof(__pyx_k_handlers_buttons), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_gift, __pyx_k_handlers_payments_gift, sizeof(__pyx_k_handlers_payments_gift), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_stars_pay, __pyx_k_handlers_payments_stars_pay, sizeof(__pyx_k_handlers_payments_stars_pay), 0, 0, 1, 1}, - {&__pyx_kp_s_handlers_payments_stars_pay_py, __pyx_k_handlers_payments_stars_pay_py, sizeof(__pyx_k_handlers_payments_stars_pay_py), 0, 0, 1, 0}, - {&__pyx_n_s_handlers_payments_utils, __pyx_k_handlers_payments_utils, sizeof(__pyx_k_handlers_payments_utils), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_texts, __pyx_k_handlers_texts, sizeof(__pyx_k_handlers_texts), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_utils, __pyx_k_handlers_utils, sizeof(__pyx_k_handlers_utils), 0, 0, 1, 1}, - {&__pyx_kp_u_https_t_me_PremiumBot, __pyx_k_https_t_me_PremiumBot, sizeof(__pyx_k_https_t_me_PremiumBot), 0, 1, 0, 0}, - {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, - {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1}, - {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, - {&__pyx_n_s_init_subclass, __pyx_k_init_subclass, sizeof(__pyx_k_init_subclass), 0, 0, 1, 1}, - {&__pyx_n_s_invoice_payload, __pyx_k_invoice_payload, sizeof(__pyx_k_invoice_payload), 0, 0, 1, 1}, - {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1}, - {&__pyx_n_s_isdigit, __pyx_k_isdigit, sizeof(__pyx_k_isdigit), 0, 0, 1, 1}, - {&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0}, - {&__pyx_n_s_key_count, __pyx_k_key_count, sizeof(__pyx_k_key_count), 0, 0, 1, 1}, - {&__pyx_n_s_label, __pyx_k_label, sizeof(__pyx_k_label), 0, 0, 1, 1}, - {&__pyx_n_s_logger, __pyx_k_logger, sizeof(__pyx_k_logger), 0, 0, 1, 1}, - {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, - {&__pyx_n_s_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 0, 1, 1}, - {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1}, - {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1}, - {&__pyx_n_s_mro_entries, __pyx_k_mro_entries, sizeof(__pyx_k_mro_entries), 0, 0, 1, 1}, - {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, - {&__pyx_n_s_ok, __pyx_k_ok, sizeof(__pyx_k_ok), 0, 0, 1, 1}, - {&__pyx_n_s_on_pre_checkout_query, __pyx_k_on_pre_checkout_query, sizeof(__pyx_k_on_pre_checkout_query), 0, 0, 1, 1}, - {&__pyx_n_s_on_successful_payment, __pyx_k_on_successful_payment, sizeof(__pyx_k_on_successful_payment), 0, 0, 1, 1}, - {&__pyx_n_s_pay, __pyx_k_pay, sizeof(__pyx_k_pay), 0, 0, 1, 1}, - {&__pyx_n_u_pay, __pyx_k_pay, sizeof(__pyx_k_pay), 0, 1, 0, 1}, - {&__pyx_n_u_pay_stars, __pyx_k_pay_stars, sizeof(__pyx_k_pay_stars), 0, 1, 0, 1}, - {&__pyx_n_s_payload, __pyx_k_payload, sizeof(__pyx_k_payload), 0, 0, 1, 1}, - {&__pyx_n_s_pre_checkout_query, __pyx_k_pre_checkout_query, sizeof(__pyx_k_pre_checkout_query), 0, 0, 1, 1}, - {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1}, - {&__pyx_n_s_prices, __pyx_k_prices, sizeof(__pyx_k_prices), 0, 0, 1, 1}, - {&__pyx_n_s_process_amount_selection, __pyx_k_process_amount_selection, sizeof(__pyx_k_process_amount_selection), 0, 0, 1, 1}, - {&__pyx_n_s_process_callback_pay_stars, __pyx_k_process_callback_pay_stars, sizeof(__pyx_k_process_callback_pay_stars), 0, 0, 1, 1}, - {&__pyx_n_s_process_custom_amount_input, __pyx_k_process_custom_amount_input, sizeof(__pyx_k_process_custom_amount_input), 0, 0, 1, 1}, - {&__pyx_n_s_process_enter_custom_amount, __pyx_k_process_enter_custom_amount, sizeof(__pyx_k_process_enter_custom_amount), 0, 0, 1, 1}, - {&__pyx_n_s_provider_token, __pyx_k_provider_token, sizeof(__pyx_k_provider_token), 0, 0, 1, 1}, - {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1}, - {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, - {&__pyx_n_s_reply_markup, __pyx_k_reply_markup, sizeof(__pyx_k_reply_markup), 0, 0, 1, 1}, - {&__pyx_n_s_router, __pyx_k_router, sizeof(__pyx_k_router), 0, 0, 1, 1}, - {&__pyx_n_s_row, __pyx_k_row, sizeof(__pyx_k_row), 0, 0, 1, 1}, - {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1}, - {&__pyx_n_s_send_payment_success_notificatio, __pyx_k_send_payment_success_notificatio, sizeof(__pyx_k_send_payment_success_notificatio), 0, 0, 1, 1}, - {&__pyx_n_s_session, __pyx_k_session, sizeof(__pyx_k_session), 0, 0, 1, 1}, - {&__pyx_n_s_set_name, __pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 0, 1, 1}, - {&__pyx_n_s_set_state, __pyx_k_set_state, sizeof(__pyx_k_set_state), 0, 0, 1, 1}, - {&__pyx_kp_u_solonet_sup, __pyx_k_solonet_sup, sizeof(__pyx_k_solonet_sup), 0, 1, 0, 0}, - {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1}, - {&__pyx_n_u_stars, __pyx_k_stars, sizeof(__pyx_k_stars), 0, 1, 0, 1}, - {&__pyx_n_u_stars_2, __pyx_k_stars_2, sizeof(__pyx_k_stars_2), 0, 1, 0, 1}, - {&__pyx_n_u_stars_3, __pyx_k_stars_3, sizeof(__pyx_k_stars_3), 0, 1, 0, 1}, - {&__pyx_kp_u_stars_amount, __pyx_k_stars_amount, sizeof(__pyx_k_stars_amount), 0, 1, 0, 0}, - {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1}, - {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1}, - {&__pyx_n_s_successful_payment, __pyx_k_successful_payment, sizeof(__pyx_k_successful_payment), 0, 0, 1, 1}, - {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1}, - {&__pyx_n_s_target_message, __pyx_k_target_message, sizeof(__pyx_k_target_message), 0, 0, 1, 1}, - {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, - {&__pyx_n_s_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 0, 1, 1}, - {&__pyx_n_u_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 1, 0, 1}, - {&__pyx_n_s_tg_id, __pyx_k_tg_id, sizeof(__pyx_k_tg_id), 0, 0, 1, 1}, - {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1}, - {&__pyx_n_s_title, __pyx_k_title, sizeof(__pyx_k_title), 0, 0, 1, 1}, - {&__pyx_n_s_trial, __pyx_k_trial, sizeof(__pyx_k_trial), 0, 0, 1, 1}, - {&__pyx_n_s_types, __pyx_k_types, sizeof(__pyx_k_types), 0, 0, 1, 1}, - {&__pyx_kp_s_types_CallbackQuery, __pyx_k_types_CallbackQuery, sizeof(__pyx_k_types_CallbackQuery), 0, 0, 1, 0}, - {&__pyx_kp_s_types_Message, __pyx_k_types_Message, sizeof(__pyx_k_types_Message), 0, 0, 1, 0}, - {&__pyx_n_s_typing, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1}, - {&__pyx_n_s_update_balance, __pyx_k_update_balance, sizeof(__pyx_k_update_balance), 0, 0, 1, 1}, - {&__pyx_n_s_update_data, __pyx_k_update_data, sizeof(__pyx_k_update_data), 0, 0, 1, 1}, - {&__pyx_n_s_url, __pyx_k_url, sizeof(__pyx_k_url), 0, 0, 1, 1}, - {&__pyx_n_s_user_id, __pyx_k_user_id, sizeof(__pyx_k_user_id), 0, 0, 1, 1}, - {&__pyx_kp_u_user_id_amount, __pyx_k_user_id_amount, sizeof(__pyx_k_user_id_amount), 0, 1, 0, 0}, - {&__pyx_n_s_waiting_for_payment_confirmation, __pyx_k_waiting_for_payment_confirmation, sizeof(__pyx_k_waiting_for_payment_confirmation), 0, 0, 1, 1}, - {&__pyx_n_s_warning, __pyx_k_warning, sizeof(__pyx_k_warning), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} - }; - return __Pyx_InitStrings(__pyx_string_tab); -} -/* #### Code section: cached_builtins ### */ -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 77, __pyx_L1_error) - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 152, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: cached_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - __pyx_tuple__9 = PyTuple_Pack(2, __pyx_kp_u__8, __pyx_int_1); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__9); - __Pyx_GIVEREF(__pyx_tuple__9); - - __pyx_tuple__25 = PyTuple_Pack(4, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session, __pyx_n_s_e); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__25); - __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_stars_pay_py, __pyx_n_s_back_to_pay_stars_after_invoice, 36, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 36, __pyx_L1_error) - - __pyx_tuple__26 = PyTuple_Pack(3, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__26); - __Pyx_GIVEREF(__pyx_tuple__26); - __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_stars_pay_py, __pyx_n_s_back_to_pay_stars, 48, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 48, __pyx_L1_error) - - __pyx_tuple__27 = PyTuple_Pack(10, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session, __pyx_n_s_expected_hash, __pyx_n_s_tg_id, __pyx_n_s_builder, __pyx_n_s_i, __pyx_n_s_key_count, __pyx_n_s_exists, __pyx_n_s_e); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__27); - __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_stars_pay_py, __pyx_n_s_process_callback_pay_stars, 54, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 54, __pyx_L1_error) - - __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_u_stars_amount); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__28); - __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_tuple__29 = PyTuple_Pack(7, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_data, __pyx_n_s_amount_str, __pyx_n_s_amount, __pyx_n_s_builder, __pyx_n_s_e); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__29); - __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_stars_pay_py, __pyx_n_s_process_amount_selection, 135, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 135, __pyx_L1_error) - - __pyx_tuple__30 = PyTuple_Pack(3, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__30); - __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_stars_pay_py, __pyx_n_s_process_enter_custom_amount, 191, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 191, __pyx_L1_error) - - __pyx_tuple__31 = PyTuple_Pack(5, __pyx_n_s_message, __pyx_n_s_state, __pyx_n_s_amount, __pyx_n_s_builder, __pyx_n_s_e); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__31); - __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_stars_pay_py, __pyx_n_s_process_custom_amount_input, 205, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 205, __pyx_L1_error) - - __pyx_tuple__32 = PyTuple_Pack(1, __pyx_n_s_pre_checkout_query); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__32); - __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__21 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_stars_pay_py, __pyx_n_s_on_pre_checkout_query, 246, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 246, __pyx_L1_error) - - __pyx_tuple__33 = PyTuple_Pack(4, __pyx_n_s_message, __pyx_n_s_user_id, __pyx_n_s_amount, __pyx_n_s_e); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__33); - __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_stars_pay_py, __pyx_n_s_on_successful_payment, 251, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} -/* #### Code section: init_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) { - if (__Pyx_CreateStringTabAndInitStrings() < 0) __PYX_ERR(0, 1, __pyx_L1_error); - __pyx_float_0_0 = PyFloat_FromDouble(0.0); if (unlikely(!__pyx_float_0_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: init_globals ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { - return 0; -} -/* #### Code section: init_module ### */ - -static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ - -static int __Pyx_modinit_global_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_init_code(void) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); - /*--- Type init code ---*/ - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice)) __PYX_ERR(0, 36, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice_spec, __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice) < 0) __PYX_ERR(0, 36, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice = &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice) < 0) __PYX_ERR(0, 36, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice->tp_dictoffset && __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct__back_to_pay_stars_after_invoice->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars)) __PYX_ERR(0, 48, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars_spec, __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars) < 0) __PYX_ERR(0, 48, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars = &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars) < 0) __PYX_ERR(0, 48, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars->tp_dictoffset && __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_1_back_to_pay_stars->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars)) __PYX_ERR(0, 54, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars_spec, __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars) < 0) __PYX_ERR(0, 54, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars = &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars) < 0) __PYX_ERR(0, 54, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars->tp_dictoffset && __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_2_process_callback_pay_stars->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection)) __PYX_ERR(0, 135, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection_spec, __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection) < 0) __PYX_ERR(0, 135, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection = &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection) < 0) __PYX_ERR(0, 135, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection->tp_dictoffset && __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_3_process_amount_selection->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount)) __PYX_ERR(0, 191, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount_spec, __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount) < 0) __PYX_ERR(0, 191, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount = &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount) < 0) __PYX_ERR(0, 191, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount->tp_dictoffset && __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_4_process_enter_custom_amount->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input)) __PYX_ERR(0, 205, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input_spec, __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input) < 0) __PYX_ERR(0, 205, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input = &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input) < 0) __PYX_ERR(0, 205, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input->tp_dictoffset && __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_5_process_custom_amount_input->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query)) __PYX_ERR(0, 246, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query_spec, __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query) < 0) __PYX_ERR(0, 246, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query = &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query) < 0) __PYX_ERR(0, 246, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query->tp_dictoffset && __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_6_on_pre_checkout_query->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment)) __PYX_ERR(0, 251, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment_spec, __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment) < 0) __PYX_ERR(0, 251, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment = &__pyx_type_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment) < 0) __PYX_ERR(0, 251, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment->tp_dictoffset && __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_9stars_pay___pyx_scope_struct_7_on_successful_payment->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_type_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); - /*--- Type import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - - -#if PY_MAJOR_VERSION >= 3 -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec_stars_pay(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec_stars_pay}, - {0, NULL} -}; -#endif - -#ifdef __cplusplus -namespace { - struct PyModuleDef __pyx_moduledef = - #else - static struct PyModuleDef __pyx_moduledef = - #endif - { - PyModuleDef_HEAD_INIT, - "stars_pay", - 0, /* m_doc */ - #if CYTHON_PEP489_MULTI_PHASE_INIT - 0, /* m_size */ - #elif CYTHON_USE_MODULE_STATE - sizeof(__pyx_mstate), /* m_size */ - #else - -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - #if CYTHON_USE_MODULE_STATE - __pyx_m_traverse, /* m_traverse */ - __pyx_m_clear, /* m_clear */ - NULL /* m_free */ - #else - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ - #endif - }; - #ifdef __cplusplus -} /* anonymous namespace */ -#endif -#endif - -#ifndef CYTHON_NO_PYINIT_EXPORT -#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#elif PY_MAJOR_VERSION < 3 -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" void -#else -#define __Pyx_PyMODINIT_FUNC void -#endif -#else -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * -#else -#define __Pyx_PyMODINIT_FUNC PyObject * -#endif -#endif - - -#if PY_MAJOR_VERSION < 3 -__Pyx_PyMODINIT_FUNC initstars_pay(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC initstars_pay(void) -#else -__Pyx_PyMODINIT_FUNC PyInit_stars_pay(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit_stars_pay(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - #if PY_VERSION_HEX >= 0x030700A1 - static PY_INT64_T main_interpreter_id = -1; - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return (unlikely(current_id == -1)) ? -1 : 0; - } else if (unlikely(main_interpreter_id != current_id)) - #else - static PyInterpreterState *main_interpreter = NULL; - PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; - if (!main_interpreter) { - main_interpreter = current_interpreter; - } else if (unlikely(main_interpreter != current_interpreter)) - #endif - { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *module, const char* from_name, const char* to_name, int allow_none) -#else -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) -#endif -{ - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { -#if CYTHON_COMPILING_IN_LIMITED_API - result = PyModule_AddObject(module, to_name, value); -#else - result = PyDict_SetItemString(moddict, to_name, value); -#endif - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - CYTHON_UNUSED_VAR(def); - if (__Pyx_check_single_interpreter()) - return NULL; - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; -#if CYTHON_COMPILING_IN_LIMITED_API - moddict = module; -#else - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; -#endif - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec_stars_pay(PyObject *__pyx_pyinit_module) -#endif -#endif -{ - int stringtab_initialized = 0; - #if CYTHON_USE_MODULE_STATE - int pystate_addmodule_run = 0; - #endif - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - unsigned int __pyx_t_8; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module 'stars_pay' has already been imported. Re-initialisation is not supported."); - return -1; - } - #elif PY_MAJOR_VERSION >= 3 - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_m = __pyx_pyinit_module; - Py_INCREF(__pyx_m); - #else - #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4("stars_pay", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #elif CYTHON_USE_MODULE_STATE - __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) - { - int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef); - __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "stars_pay" pseudovariable */ - if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - pystate_addmodule_run = 1; - } - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #endif - CYTHON_UNUSED_VAR(__pyx_t_1); - __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_d); - __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if CYTHON_REFNANNY -__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); -if (!__Pyx_RefNanny) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); -} -#endif - __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_stars_pay(void)", 0); - if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pxy_PyFrame_Initialize_Offsets - __Pxy_PyFrame_Initialize_Offsets(); - #endif - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pyx_CyFunction_USED - if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_FusedFunction_USED - if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Coroutine_USED - if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Generator_USED - if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_StopAsyncIteration_USED - if (__pyx_StopAsyncIteration_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ - #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS - PyEval_InitThreads(); - #endif - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - stringtab_initialized = 1; - if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) - if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - if (__pyx_module_is_main_handlers__payments__stars_pay) { - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - } - #if PY_MAJOR_VERSION >= 3 - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "handlers.payments.stars_pay")) { - if (unlikely((PyDict_SetItemString(modules, "handlers.payments.stars_pay", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #endif - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_global_init_code(); - (void)__Pyx_modinit_variable_export_code(); - (void)__Pyx_modinit_function_export_code(); - if (unlikely((__Pyx_modinit_type_init_code() < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_type_import_code(); - (void)__Pyx_modinit_variable_import_code(); - (void)__Pyx_modinit_function_import_code(); - /*--- Execution code ---*/ - #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_Any); - __Pyx_GIVEREF(__pyx_n_s_Any); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Any)) __PYX_ERR(0, 1, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Any); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Any, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_F); - __Pyx_GIVEREF(__pyx_n_s_F); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_F)) __PYX_ERR(0, 3, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_Router); - __Pyx_GIVEREF(__pyx_n_s_Router); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_Router)) __PYX_ERR(0, 3, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_types); - __Pyx_GIVEREF(__pyx_n_s_types); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_types)) __PYX_ERR(0, 3, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_F, __pyx_t_3) < 0) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Router, __pyx_t_3) < 0) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_FSMContext); - __Pyx_GIVEREF(__pyx_n_s_FSMContext); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_FSMContext)) __PYX_ERR(0, 4, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_fsm_context, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_FSMContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_FSMContext, __pyx_t_2) < 0) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_State); - __Pyx_GIVEREF(__pyx_n_s_State); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_State)) __PYX_ERR(0, 5, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_StatesGroup); - __Pyx_GIVEREF(__pyx_n_s_StatesGroup); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_StatesGroup)) __PYX_ERR(0, 5, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_fsm_state, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_State); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_State, __pyx_t_3) < 0) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_StatesGroup, __pyx_t_3) < 0) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardButton); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardButton); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_InlineKeyboardButton)) __PYX_ERR(0, 6, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_LabeledPrice); - __Pyx_GIVEREF(__pyx_n_s_LabeledPrice); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_LabeledPrice)) __PYX_ERR(0, 6, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_PreCheckoutQuery); - __Pyx_GIVEREF(__pyx_n_s_PreCheckoutQuery); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_PreCheckoutQuery)) __PYX_ERR(0, 6, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_types, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardButton, __pyx_t_2) < 0) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_LabeledPrice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_LabeledPrice, __pyx_t_2) < 0) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PreCheckoutQuery); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PreCheckoutQuery, __pyx_t_2) < 0) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardBuilder); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardBuilder); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_InlineKeyboardBuilder)) __PYX_ERR(0, 7, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_utils_keyboard, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardBuilder, __pyx_t_3) < 0) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_RUB_TO_XTR); - __Pyx_GIVEREF(__pyx_n_s_RUB_TO_XTR); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_RUB_TO_XTR)) __PYX_ERR(0, 9, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_config, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_RUB_TO_XTR); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_RUB_TO_XTR, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_add_connection); - __Pyx_GIVEREF(__pyx_n_s_add_connection); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_add_connection)) __PYX_ERR(0, 11, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_add_payment); - __Pyx_GIVEREF(__pyx_n_s_add_payment); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_add_payment)) __PYX_ERR(0, 11, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_check_connection_exists); - __Pyx_GIVEREF(__pyx_n_s_check_connection_exists); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_check_connection_exists)) __PYX_ERR(0, 11, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_get_key_count); - __Pyx_GIVEREF(__pyx_n_s_get_key_count); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_get_key_count)) __PYX_ERR(0, 11, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_update_balance); - __Pyx_GIVEREF(__pyx_n_s_update_balance); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 4, __pyx_n_s_update_balance)) __PYX_ERR(0, 11, __pyx_L1_error); - - __pyx_t_2 = __Pyx_Import(__pyx_n_s_database, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_connection, __pyx_t_3) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_payment, __pyx_t_3) < 0) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_connection_exists, __pyx_t_3) < 0) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_key_count, __pyx_t_3) < 0) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_update_balance, __pyx_t_3) < 0) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_STARS_ROUTER); - __Pyx_GIVEREF(__pyx_n_s_STARS_ROUTER); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_STARS_ROUTER)) __PYX_ERR(0, 17, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_payments_gift, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_STARS_ROUTER); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_STARS_ROUTER, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_send_payment_success_notificatio); - __Pyx_GIVEREF(__pyx_n_s_send_payment_success_notificatio); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_send_payment_success_notificatio)) __PYX_ERR(0, 18, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_payments_utils, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_send_payment_success_notificatio, __pyx_t_3) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_PAYMENT_OPTIONS); - __Pyx_GIVEREF(__pyx_n_s_PAYMENT_OPTIONS); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_PAYMENT_OPTIONS)) __PYX_ERR(0, 19, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_AMOUNT_TEXT); - __Pyx_GIVEREF(__pyx_n_s_AMOUNT_TEXT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_AMOUNT_TEXT)) __PYX_ERR(0, 19, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_ENTER_SUM); - __Pyx_GIVEREF(__pyx_n_s_ENTER_SUM); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_ENTER_SUM)) __PYX_ERR(0, 19, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - __Pyx_GIVEREF(__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE)) __PYX_ERR(0, 19, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_texts, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAYMENT_OPTIONS, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_AMOUNT_TEXT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMOUNT_TEXT, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_ENTER_SUM); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ENTER_SUM, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_logger); - __Pyx_GIVEREF(__pyx_n_s_logger); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_logger)) __PYX_ERR(0, 20, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_logger, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_3) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_BACK); - __Pyx_GIVEREF(__pyx_n_s_BACK); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_BACK)) __PYX_ERR(0, 22, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_CUSTOM_AMOUNT); - __Pyx_GIVEREF(__pyx_n_s_CUSTOM_AMOUNT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_CUSTOM_AMOUNT)) __PYX_ERR(0, 22, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_STARS_BOT); - __Pyx_GIVEREF(__pyx_n_s_STARS_BOT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_STARS_BOT)) __PYX_ERR(0, 22, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_PAY); - __Pyx_GIVEREF(__pyx_n_s_PAY); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_PAY)) __PYX_ERR(0, 22, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_buttons, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_BACK); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_BACK, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_CUSTOM_AMOUNT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUSTOM_AMOUNT, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_STARS_BOT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_STARS_BOT, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PAY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAY, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_edit_or_send_message); - __Pyx_GIVEREF(__pyx_n_s_edit_or_send_message); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_edit_or_send_message)) __PYX_ERR(0, 24, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_utils, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_edit_or_send_message, __pyx_t_3) < 0) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_router, __pyx_t_3) < 0) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_3, __pyx_n_s_ReplenishBalanceState, __pyx_n_s_ReplenishBalanceState, (PyObject *) NULL, __pyx_n_s_handlers_payments_stars_pay, (PyObject *) NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (__pyx_t_3 != __pyx_t_2) { - if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_t_2) < 0))) __PYX_ERR(0, 30, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_State); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - __pyx_t_8 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_8 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_choosing_amount_stars, __pyx_t_2) < 0) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_State); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - __pyx_t_8 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_8 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_waiting_for_payment_confirmation, __pyx_t_2) < 0) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_State); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = NULL; - __pyx_t_8 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_8 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 0+__pyx_t_8); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_5, __pyx_n_s_entering_custom_amount_stars, __pyx_t_2) < 0) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_n_s_ReplenishBalanceState, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ReplenishBalanceState, __pyx_t_2) < 0) __PYX_ERR(0, 30, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_n_u_back_to_pay_stars_after_invoice, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 36, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 36, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 36, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_9stars_pay_1back_to_pay_stars_after_invoice, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_back_to_pay_stars_after_invoice, NULL, __pyx_n_s_handlers_payments_stars_pay, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_back_to_pay_stars_after_invoice, __pyx_t_3) < 0) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_n_u_back_to_pay_stars, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 48, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 48, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 48, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_9stars_pay_4back_to_pay_stars, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_back_to_pay_stars, NULL, __pyx_n_s_handlers_payments_stars_pay, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_back_to_pay_stars, __pyx_t_3) < 0) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_n_u_pay_stars, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 54, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 54, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 54, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_9stars_pay_7process_callback_pay_stars, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_callback_pay_stars, NULL, __pyx_n_s_handlers_payments_stars_pay, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_callback_pay_stars, __pyx_t_3) < 0) __PYX_ERR(0, 54, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_startswith); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 135, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 135, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_9stars_pay_10process_amount_selection, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_amount_selection, NULL, __pyx_n_s_handlers_payments_stars_pay, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_amount_selection, __pyx_t_5) < 0) __PYX_ERR(0, 135, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_router); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_F); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_n_u_enter_custom_amount_stars, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 191, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 191, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_9stars_pay_13process_enter_custom_amount, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_enter_custom_amount, NULL, __pyx_n_s_handlers_payments_stars_pay, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_enter_custom_amount, __pyx_t_5) < 0) __PYX_ERR(0, 191, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_router); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_message); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_entering_custom_amount_stars); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_message, __pyx_kp_s_types_Message) < 0) __PYX_ERR(0, 205, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 205, __pyx_L1_error) - __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_9stars_pay_16process_custom_amount_input, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_custom_amount_input, NULL, __pyx_n_s_handlers_payments_stars_pay, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_custom_amount_input, __pyx_t_3) < 0) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_pre_checkout_query); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_pre_checkout_query, __pyx_n_s_PreCheckoutQuery) < 0) __PYX_ERR(0, 246, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_9stars_pay_19on_pre_checkout_query, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_on_pre_checkout_query, NULL, __pyx_n_s_handlers_payments_stars_pay, __pyx_d, ((PyObject *)__pyx_codeobj__21)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 246, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_on_pre_checkout_query, __pyx_t_4) < 0) __PYX_ERR(0, 246, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_router); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_message); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_F); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_successful_payment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_message, __pyx_kp_s_types_Message) < 0) __PYX_ERR(0, 251, __pyx_L1_error) - __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_9stars_pay_22on_successful_payment, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_on_successful_payment, NULL, __pyx_n_s_handlers_payments_stars_pay, __pyx_d, ((PyObject *)__pyx_codeobj__22)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_on_successful_payment, __pyx_t_3) < 0) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - if (__pyx_m) { - if (__pyx_d && stringtab_initialized) { - __Pyx_AddTraceback("init handlers.payments.stars_pay", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - #if !CYTHON_USE_MODULE_STATE - Py_CLEAR(__pyx_m); - #else - Py_DECREF(__pyx_m); - if (pystate_addmodule_run) { - PyObject *tp, *value, *tb; - PyErr_Fetch(&tp, &value, &tb); - PyState_RemoveModule(&__pyx_moduledef); - PyErr_Restore(tp, value, tb); - } - #endif - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init handlers.payments.stars_pay"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #elif PY_MAJOR_VERSION >= 3 - return __pyx_m; - #else - return; - #endif -} -/* #### Code section: cleanup_globals ### */ -/* #### Code section: cleanup_module ### */ -/* #### Code section: main_method ### */ -/* #### Code section: utility_code_pragmas ### */ -#ifdef _MSC_VER -#pragma warning( push ) -/* Warning 4127: conditional expression is constant - * Cython uses constant conditional expressions to allow in inline functions to be optimized at - * compile-time, so this warning is not useful - */ -#pragma warning( disable : 4127 ) -#endif - - - -/* #### Code section: utility_code_def ### */ - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* PyErrExceptionMatches */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i= 0x030C00A6 - PyObject *current_exception = tstate->current_exception; - if (unlikely(!current_exception)) return 0; - exc_type = (PyObject*) Py_TYPE(current_exception); - if (exc_type == err) return 1; -#else - exc_type = tstate->curexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; -#endif - #if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(exc_type); - #endif - if (unlikely(PyTuple_Check(err))) { - result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - } else { - result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err); - } - #if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(exc_type); - #endif - return result; -} -#endif - -/* PyErrFetchRestore */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject *tmp_value; - assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value))); - if (value) { - #if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb)) - #endif - PyException_SetTraceback(value, tb); - } - tmp_value = tstate->current_exception; - tstate->current_exception = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#endif -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject* exc_value; - exc_value = tstate->current_exception; - tstate->current_exception = 0; - *value = exc_value; - *type = NULL; - *tb = NULL; - if (exc_value) { - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - #if CYTHON_COMPILING_IN_CPYTHON - *tb = ((PyBaseExceptionObject*) exc_value)->traceback; - Py_XINCREF(*tb); - #else - *tb = PyException_GetTraceback(exc_value); - #endif - } -#else - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#endif -} -#endif - -/* PyObjectGetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_getattr)) - return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); -#endif - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* PyObjectGetAttrStrNoError */ -#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1 -static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) - __Pyx_PyErr_Clear(); -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { - PyObject *result; -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - (void) PyObject_GetOptionalAttr(obj, attr_name, &result); - return result; -#else -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { - return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); - } -#endif - result = __Pyx_PyObject_GetAttrStr(obj, attr_name); - if (unlikely(!result)) { - __Pyx_PyObject_GetAttrStr_ClearAttributeError(); - } - return result; -#endif -} - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_b, name); - if (unlikely(!result) && !PyErr_Occurred()) { - PyErr_Format(PyExc_NameError, -#if PY_MAJOR_VERSION >= 3 - "name '%U' is not defined", name); -#else - "name '%.200s' is not defined", PyString_AS_STRING(name)); -#endif - } - return result; -} - -/* TupleAndListFromArray */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) { - PyObject *v; - Py_ssize_t i; - for (i = 0; i < length; i++) { - v = dest[i] = src[i]; - Py_INCREF(v); - } -} -static CYTHON_INLINE PyObject * -__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - Py_INCREF(__pyx_empty_tuple); - return __pyx_empty_tuple; - } - res = PyTuple_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n); - return res; -} -static CYTHON_INLINE PyObject * -__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - return PyList_New(0); - } - res = PyList_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n); - return res; -} -#endif - -/* BytesEquals */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else - if (s1 == s2) { - return (equals == Py_EQ); - } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { - const char *ps1, *ps2; - Py_ssize_t length = PyBytes_GET_SIZE(s1); - if (length != PyBytes_GET_SIZE(s2)) - return (equals == Py_NE); - ps1 = PyBytes_AS_STRING(s1); - ps2 = PyBytes_AS_STRING(s2); - if (ps1[0] != ps2[0]) { - return (equals == Py_NE); - } else if (length == 1) { - return (equals == Py_EQ); - } else { - int result; -#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) - Py_hash_t hash1, hash2; - hash1 = ((PyBytesObject*)s1)->ob_shash; - hash2 = ((PyBytesObject*)s2)->ob_shash; - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - return (equals == Py_NE); - } -#endif - result = memcmp(ps1, ps2, (size_t)length); - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { - return (equals == Py_NE); - } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { - return (equals == Py_NE); - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -#endif -} - -/* UnicodeEquals */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else -#if PY_MAJOR_VERSION < 3 - PyObject* owned_ref = NULL; -#endif - int s1_is_unicode, s2_is_unicode; - if (s1 == s2) { - goto return_eq; - } - s1_is_unicode = PyUnicode_CheckExact(s1); - s2_is_unicode = PyUnicode_CheckExact(s2); -#if PY_MAJOR_VERSION < 3 - if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { - owned_ref = PyUnicode_FromObject(s2); - if (unlikely(!owned_ref)) - return -1; - s2 = owned_ref; - s2_is_unicode = 1; - } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { - owned_ref = PyUnicode_FromObject(s1); - if (unlikely(!owned_ref)) - return -1; - s1 = owned_ref; - s1_is_unicode = 1; - } else if (((!s2_is_unicode) & (!s1_is_unicode))) { - return __Pyx_PyBytes_Equals(s1, s2, equals); - } -#endif - if (s1_is_unicode & s2_is_unicode) { - Py_ssize_t length; - int kind; - void *data1, *data2; - if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) - return -1; - length = __Pyx_PyUnicode_GET_LENGTH(s1); - if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { - goto return_ne; - } -#if CYTHON_USE_UNICODE_INTERNALS - { - Py_hash_t hash1, hash2; - #if CYTHON_PEP393_ENABLED - hash1 = ((PyASCIIObject*)s1)->hash; - hash2 = ((PyASCIIObject*)s2)->hash; - #else - hash1 = ((PyUnicodeObject*)s1)->hash; - hash2 = ((PyUnicodeObject*)s2)->hash; - #endif - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - goto return_ne; - } - } -#endif - kind = __Pyx_PyUnicode_KIND(s1); - if (kind != __Pyx_PyUnicode_KIND(s2)) { - goto return_ne; - } - data1 = __Pyx_PyUnicode_DATA(s1); - data2 = __Pyx_PyUnicode_DATA(s2); - if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { - goto return_ne; - } else if (length == 1) { - goto return_eq; - } else { - int result = memcmp(data1, data2, (size_t)(length * kind)); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & s2_is_unicode) { - goto return_ne; - } else if ((s2 == Py_None) & s1_is_unicode) { - goto return_ne; - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -return_eq: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ); -return_ne: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_NE); -#endif -} - -/* fastcall */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s) -{ - Py_ssize_t i, n = PyTuple_GET_SIZE(kwnames); - for (i = 0; i < n; i++) - { - if (s == PyTuple_GET_ITEM(kwnames, i)) return kwvalues[i]; - } - for (i = 0; i < n; i++) - { - int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ); - if (unlikely(eq != 0)) { - if (unlikely(eq < 0)) return NULL; - return kwvalues[i]; - } - } - return NULL; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 -CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) { - Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames); - PyObject *dict; - dict = PyDict_New(); - if (unlikely(!dict)) - return NULL; - for (i=0; i= 3 - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, - PyString_AsString(kw_name)); - #endif -} - -/* ParseKeywords */ -static int __Pyx_ParseOptionalKeywords( - PyObject *kwds, - PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject *key = 0, *value = 0; - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; - int kwds_is_tuple = CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds)); - while (1) { - Py_XDECREF(key); key = NULL; - Py_XDECREF(value); value = NULL; - if (kwds_is_tuple) { - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(kwds); -#else - size = PyTuple_Size(kwds); - if (size < 0) goto bad; -#endif - if (pos >= size) break; -#if CYTHON_AVOID_BORROWED_REFS - key = __Pyx_PySequence_ITEM(kwds, pos); - if (!key) goto bad; -#elif CYTHON_ASSUME_SAFE_MACROS - key = PyTuple_GET_ITEM(kwds, pos); -#else - key = PyTuple_GetItem(kwds, pos); - if (!key) goto bad; -#endif - value = kwvalues[pos]; - pos++; - } - else - { - if (!PyDict_Next(kwds, &pos, &key, &value)) break; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - } - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(value); - Py_DECREF(key); -#endif - key = NULL; - value = NULL; - continue; - } -#if !CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - Py_INCREF(value); - name = first_kw_arg; - #if PY_MAJOR_VERSION < 3 - if (likely(PyString_Check(key))) { - while (*name) { - if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) - && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - if ((**argname == key) || ( - (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) - && _PyString_Eq(**argname, key))) { - goto arg_passed_twice; - } - argname++; - } - } - } else - #endif - if (likely(PyUnicode_Check(key))) { - while (*name) { - int cmp = ( - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**name, key) - ); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - int cmp = (**argname == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**argname, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - argname++; - } - } - } else - goto invalid_keyword_type; - if (kwds2) { - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else { - goto invalid_keyword; - } - } - Py_XDECREF(key); - Py_XDECREF(value); - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -invalid_keyword: - #if PY_MAJOR_VERSION < 3 - PyErr_Format(PyExc_TypeError, - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - PyErr_Format(PyExc_TypeError, - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif -bad: - Py_XDECREF(key); - Py_XDECREF(value); - return -1; -} - -/* PyFunctionFastCall */ -#if CYTHON_FAST_PYCALL && !CYTHON_VECTORCALL -static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, - PyObject *globals) { - PyFrameObject *f; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject **fastlocals; - Py_ssize_t i; - PyObject *result; - assert(globals != NULL); - /* XXX Perhaps we should create a specialized - PyFrame_New() that doesn't take locals, but does - take builtins without sanity checking them. - */ - assert(tstate != NULL); - f = PyFrame_New(tstate, co, globals, NULL); - if (f == NULL) { - return NULL; - } - fastlocals = __Pyx_PyFrame_GetLocalsplus(f); - for (i = 0; i < na; i++) { - Py_INCREF(*args); - fastlocals[i] = *args++; - } - result = PyEval_EvalFrameEx(f,0); - ++tstate->recursion_depth; - Py_DECREF(f); - --tstate->recursion_depth; - return result; -} -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { - PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); - PyObject *globals = PyFunction_GET_GLOBALS(func); - PyObject *argdefs = PyFunction_GET_DEFAULTS(func); - PyObject *closure; -#if PY_MAJOR_VERSION >= 3 - PyObject *kwdefs; -#endif - PyObject *kwtuple, **k; - PyObject **d; - Py_ssize_t nd; - Py_ssize_t nk; - PyObject *result; - assert(kwargs == NULL || PyDict_Check(kwargs)); - nk = kwargs ? PyDict_Size(kwargs) : 0; - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) { - return NULL; - } - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) { - return NULL; - } - #endif - if ( -#if PY_MAJOR_VERSION >= 3 - co->co_kwonlyargcount == 0 && -#endif - likely(kwargs == NULL || nk == 0) && - co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { - if (argdefs == NULL && co->co_argcount == nargs) { - result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); - goto done; - } - else if (nargs == 0 && argdefs != NULL - && co->co_argcount == Py_SIZE(argdefs)) { - /* function called with no arguments, but all parameters have - a default value: use default values as arguments .*/ - args = &PyTuple_GET_ITEM(argdefs, 0); - result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); - goto done; - } - } - if (kwargs != NULL) { - Py_ssize_t pos, i; - kwtuple = PyTuple_New(2 * nk); - if (kwtuple == NULL) { - result = NULL; - goto done; - } - k = &PyTuple_GET_ITEM(kwtuple, 0); - pos = i = 0; - while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { - Py_INCREF(k[i]); - Py_INCREF(k[i+1]); - i += 2; - } - nk = i / 2; - } - else { - kwtuple = NULL; - k = NULL; - } - closure = PyFunction_GET_CLOSURE(func); -#if PY_MAJOR_VERSION >= 3 - kwdefs = PyFunction_GET_KW_DEFAULTS(func); -#endif - if (argdefs != NULL) { - d = &PyTuple_GET_ITEM(argdefs, 0); - nd = Py_SIZE(argdefs); - } - else { - d = NULL; - nd = 0; - } -#if PY_MAJOR_VERSION >= 3 - result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, kwdefs, closure); -#else - result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, closure); -#endif - Py_XDECREF(kwtuple); -done: - Py_LeaveRecursiveCall(); - return result; -} -#endif - -/* PyObjectCall */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = Py_TYPE(func)->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallMethO */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func); - self = __Pyx_CyOrPyCFunction_GET_SELF(func); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectFastCall */ -#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API -static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) { - PyObject *argstuple; - PyObject *result = 0; - size_t i; - argstuple = PyTuple_New((Py_ssize_t)nargs); - if (unlikely(!argstuple)) return NULL; - for (i = 0; i < nargs; i++) { - Py_INCREF(args[i]); - if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad; - } - result = __Pyx_PyObject_Call(func, argstuple, kwargs); - bad: - Py_DECREF(argstuple); - return result; -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) { - Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs); -#if CYTHON_COMPILING_IN_CPYTHON - if (nargs == 0 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS)) - return __Pyx_PyObject_CallMethO(func, NULL); - } - else if (nargs == 1 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O)) - return __Pyx_PyObject_CallMethO(func, args[0]); - } -#endif - #if PY_VERSION_HEX < 0x030800B1 - #if CYTHON_FAST_PYCCALL - if (PyCFunction_Check(func)) { - if (kwargs) { - return _PyCFunction_FastCallDict(func, args, nargs, kwargs); - } else { - return _PyCFunction_FastCallKeywords(func, args, nargs, NULL); - } - } - #if PY_VERSION_HEX >= 0x030700A1 - if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) { - return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL); - } - #endif - #endif - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs); - } - #endif - #endif - if (kwargs == NULL) { - #if CYTHON_VECTORCALL - #if PY_VERSION_HEX < 0x03090000 - vectorcallfunc f = _PyVectorcall_Function(func); - #else - vectorcallfunc f = PyVectorcall_Function(func); - #endif - if (f) { - return f(func, args, (size_t)nargs, NULL); - } - #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL - if (__Pyx_CyFunction_CheckExact(func)) { - __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func); - if (f) return f(func, args, (size_t)nargs, NULL); - } - #endif - } - if (nargs == 0) { - return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs); - } - #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API - return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs); - #else - return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs); - #endif -} - -/* FixUpExtensionType */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) { -#if PY_VERSION_HEX > 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - CYTHON_UNUSED_VAR(spec); - CYTHON_UNUSED_VAR(type); -#else - const PyType_Slot *slot = spec->slots; - while (slot && slot->slot && slot->slot != Py_tp_members) - slot++; - if (slot && slot->slot == Py_tp_members) { - int changed = 0; -#if !(PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON) - const -#endif - PyMemberDef *memb = (PyMemberDef*) slot->pfunc; - while (memb && memb->name) { - if (memb->name[0] == '_' && memb->name[1] == '_') { -#if PY_VERSION_HEX < 0x030900b1 - if (strcmp(memb->name, "__weaklistoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_weaklistoffset = memb->offset; - changed = 1; - } - else if (strcmp(memb->name, "__dictoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_dictoffset = memb->offset; - changed = 1; - } -#if CYTHON_METH_FASTCALL - else if (strcmp(memb->name, "__vectorcalloffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); -#if PY_VERSION_HEX >= 0x030800b4 - type->tp_vectorcall_offset = memb->offset; -#else - type->tp_print = (printfunc) memb->offset; -#endif - changed = 1; - } -#endif -#else - if ((0)); -#endif -#if PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON - else if (strcmp(memb->name, "__module__") == 0) { - PyObject *descr; - assert(memb->type == T_OBJECT); - assert(memb->flags == 0 || memb->flags == READONLY); - descr = PyDescr_NewMember(type, memb); - if (unlikely(!descr)) - return -1; - if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) { - Py_DECREF(descr); - return -1; - } - Py_DECREF(descr); - changed = 1; - } -#endif - } - memb++; - } - if (changed) - PyType_Modified(type); - } -#endif - return 0; -} -#endif - -/* FetchSharedCythonModule */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void) { - return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME); -} - -/* FetchCommonType */ -static int __Pyx_VerifyCachedType(PyObject *cached_type, - const char *name, - Py_ssize_t basicsize, - Py_ssize_t expected_basicsize) { - if (!PyType_Check(cached_type)) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s is not a type object", name); - return -1; - } - if (basicsize != expected_basicsize) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s has the wrong size, try recompiling", - name); - return -1; - } - return 0; -} -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { - PyObject* abi_module; - const char* object_name; - PyTypeObject *cached_type = NULL; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - object_name = strrchr(type->tp_name, '.'); - object_name = object_name ? object_name+1 : type->tp_name; - cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - if (__Pyx_VerifyCachedType( - (PyObject *)cached_type, - object_name, - cached_type->tp_basicsize, - type->tp_basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - if (PyType_Ready(type) < 0) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0) - goto bad; - Py_INCREF(type); - cached_type = type; -done: - Py_DECREF(abi_module); - return cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#else -static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) { - PyObject *abi_module, *cached_type = NULL; - const char* object_name = strrchr(spec->name, '.'); - object_name = object_name ? object_name+1 : spec->name; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - cached_type = PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - Py_ssize_t basicsize; -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *py_basicsize; - py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__"); - if (unlikely(!py_basicsize)) goto bad; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = 0; - if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; -#else - basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1; -#endif - if (__Pyx_VerifyCachedType( - cached_type, - object_name, - basicsize, - spec->basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - CYTHON_UNUSED_VAR(module); - cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases); - if (unlikely(!cached_type)) goto bad; - if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad; -done: - Py_DECREF(abi_module); - assert(cached_type == NULL || PyType_Check(cached_type)); - return (PyTypeObject *) cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#endif - -/* RaiseException */ -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - __Pyx_PyThreadState_declare - CYTHON_UNUSED_VAR(cause); - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_PyThreadState_assign - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; -} -#else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { - #if PY_VERSION_HEX >= 0x030C00A6 - PyException_SetTraceback(value, tb); - #elif CYTHON_FAST_THREAD_STATE - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} -#endif - -/* GetTopmostException */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - PyObject *exc_value = exc_info->exc_value; - if (exc_value == NULL || exc_value == Py_None) { - *value = NULL; - *type = NULL; - *tb = NULL; - } else { - *value = exc_value; - Py_INCREF(*value); - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - *tb = PyException_GetTraceback(exc_value); - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #endif -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - PyObject *tmp_value = exc_info->exc_value; - exc_info->exc_value = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); - #else - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); - #endif -} -#endif - -/* SwapException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_value = exc_info->exc_value; - exc_info->exc_value = *value; - if (tmp_value == NULL || tmp_value == Py_None) { - Py_XDECREF(tmp_value); - tmp_value = NULL; - tmp_type = NULL; - tmp_tb = NULL; - } else { - tmp_type = (PyObject*) Py_TYPE(tmp_value); - Py_INCREF(tmp_type); - #if CYTHON_COMPILING_IN_CPYTHON - tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback; - Py_XINCREF(tmp_tb); - #else - tmp_tb = PyException_GetTraceback(tmp_value); - #endif - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = *type; - exc_info->exc_value = *value; - exc_info->exc_traceback = *tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = *type; - tstate->exc_value = *value; - tstate->exc_traceback = *tb; - #endif - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); - PyErr_SetExcInfo(*type, *value, *tb); - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#endif - -/* PyObjectCall2Args */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args[3] = {NULL, arg1, arg2}; - return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectCallOneArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *args[2] = {NULL, arg}; - return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectGetMethod */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { - PyObject *attr; -#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP - __Pyx_TypeName type_name; - PyTypeObject *tp = Py_TYPE(obj); - PyObject *descr; - descrgetfunc f = NULL; - PyObject **dictptr, *dict; - int meth_found = 0; - assert (*method == NULL); - if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; - } - if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { - return 0; - } - descr = _PyType_Lookup(tp, name); - if (likely(descr != NULL)) { - Py_INCREF(descr); -#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR - if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR)) -#elif PY_MAJOR_VERSION >= 3 - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type))) - #endif -#else - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr))) - #endif -#endif - { - meth_found = 1; - } else { - f = Py_TYPE(descr)->tp_descr_get; - if (f != NULL && PyDescr_IsData(descr)) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - } - } - dictptr = _PyObject_GetDictPtr(obj); - if (dictptr != NULL && (dict = *dictptr) != NULL) { - Py_INCREF(dict); - attr = __Pyx_PyDict_GetItemStr(dict, name); - if (attr != NULL) { - Py_INCREF(attr); - Py_DECREF(dict); - Py_XDECREF(descr); - goto try_unpack; - } - Py_DECREF(dict); - } - if (meth_found) { - *method = descr; - return 1; - } - if (f != NULL) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - if (likely(descr != NULL)) { - *method = descr; - return 0; - } - type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return 0; -#else - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; -#endif -try_unpack: -#if CYTHON_UNPACK_METHODS - if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { - PyObject *function = PyMethod_GET_FUNCTION(attr); - Py_INCREF(function); - Py_DECREF(attr); - *method = function; - return 1; - } -#endif - *method = attr; - return 0; -} - -/* PyObjectCallMethod1 */ -#if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2) -static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { - PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); - Py_DECREF(method); - return result; -} -#endif -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { -#if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2 - PyObject *args[2] = {obj, arg}; - (void) __Pyx_PyObject_GetMethod; - (void) __Pyx_PyObject_CallOneArg; - (void) __Pyx_PyObject_Call2Args; - return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); -#else - PyObject *method = NULL, *result; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_Call2Args(method, obj, arg); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) return NULL; - return __Pyx__PyObject_CallMethod1(method, arg); -#endif -} - -/* PyObjectCallNoArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { - PyObject *arg[2] = {NULL, NULL}; - return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* CoroutineBase */ -#include -#if PY_VERSION_HEX >= 0x030b00a6 && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom) -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) { - PyObject *et, *ev, *tb; - PyObject *value = NULL; - CYTHON_UNUSED_VAR(__pyx_tstate); - __Pyx_ErrFetch(&et, &ev, &tb); - if (!et) { - Py_XDECREF(tb); - Py_XDECREF(ev); - Py_INCREF(Py_None); - *pvalue = Py_None; - return 0; - } - if (likely(et == PyExc_StopIteration)) { - if (!ev) { - Py_INCREF(Py_None); - value = Py_None; - } -#if PY_VERSION_HEX >= 0x030300A0 - else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) { - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); - } -#endif - else if (unlikely(PyTuple_Check(ev))) { - if (PyTuple_GET_SIZE(ev) >= 1) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - value = PyTuple_GET_ITEM(ev, 0); - Py_INCREF(value); -#else - value = PySequence_ITEM(ev, 0); -#endif - } else { - Py_INCREF(Py_None); - value = Py_None; - } - Py_DECREF(ev); - } - else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) { - value = ev; - } - if (likely(value)) { - Py_XDECREF(tb); - Py_DECREF(et); - *pvalue = value; - return 0; - } - } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - PyErr_NormalizeException(&et, &ev, &tb); - if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - Py_XDECREF(tb); - Py_DECREF(et); -#if PY_VERSION_HEX >= 0x030300A0 - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); -#else - { - PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args); - Py_DECREF(ev); - if (likely(args)) { - value = PySequence_GetItem(args, 0); - Py_DECREF(args); - } - if (unlikely(!value)) { - __Pyx_ErrRestore(NULL, NULL, NULL); - Py_INCREF(Py_None); - value = Py_None; - } - } -#endif - *pvalue = value; - return 0; -} -static CYTHON_INLINE -void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_CLEAR(exc_state->exc_value); -#else - PyObject *t, *v, *tb; - t = exc_state->exc_type; - v = exc_state->exc_value; - tb = exc_state->exc_traceback; - exc_state->exc_type = NULL; - exc_state->exc_value = NULL; - exc_state->exc_traceback = NULL; - Py_XDECREF(t); - Py_XDECREF(v); - Py_XDECREF(tb); -#endif -} -#define __Pyx_Coroutine_AlreadyRunningError(gen) (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check((PyObject*)gen)) { - msg = "coroutine already executing"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) { - msg = "async generator already executing"; - #endif - } else { - msg = "generator already executing"; - } - PyErr_SetString(PyExc_ValueError, msg); -} -#define __Pyx_Coroutine_NotStartedError(gen) (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_NotStartedError(PyObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(gen)) { - msg = "can't send non-None value to a just-started coroutine"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(gen)) { - msg = "can't send non-None value to a just-started async generator"; - #endif - } else { - msg = "can't send non-None value to a just-started generator"; - } - PyErr_SetString(PyExc_TypeError, msg); -} -#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing) (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) { - CYTHON_MAYBE_UNUSED_VAR(gen); - CYTHON_MAYBE_UNUSED_VAR(closing); - #ifdef __Pyx_Coroutine_USED - if (!closing && __Pyx_Coroutine_Check(gen)) { - PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine"); - } else - #endif - if (value) { - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration); - else - #endif - PyErr_SetNone(PyExc_StopIteration); - } -} -static -PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) { - __Pyx_PyThreadState_declare - PyThreadState *tstate; - __Pyx_ExcInfoStruct *exc_state; - PyObject *retval; - assert(!self->is_running); - if (unlikely(self->resume_label == 0)) { - if (unlikely(value && value != Py_None)) { - return __Pyx_Coroutine_NotStartedError((PyObject*)self); - } - } - if (unlikely(self->resume_label == -1)) { - return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing); - } -#if CYTHON_FAST_THREAD_STATE - __Pyx_PyThreadState_assign - tstate = __pyx_tstate; -#else - tstate = __Pyx_PyThreadState_Current; -#endif - exc_state = &self->gi_exc_state; - if (exc_state->exc_value) { - #if CYTHON_COMPILING_IN_PYPY - #else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #elif PY_VERSION_HEX >= 0x030B00a4 - exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback; - #else - exc_tb = exc_state->exc_traceback; - #endif - if (exc_tb) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - assert(f->f_back == NULL); - #if PY_VERSION_HEX >= 0x030B00A1 - f->f_back = PyThreadState_GetFrame(tstate); - #else - Py_XINCREF(tstate->frame); - f->f_back = tstate->frame; - #endif - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - Py_DECREF(exc_tb); - #endif - } - #endif - } -#if CYTHON_USE_EXC_INFO_STACK - exc_state->previous_item = tstate->exc_info; - tstate->exc_info = exc_state; -#else - if (exc_state->exc_type) { - __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } else { - __Pyx_Coroutine_ExceptionClear(exc_state); - __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } -#endif - self->is_running = 1; - retval = self->body(self, tstate, value); - self->is_running = 0; -#if CYTHON_USE_EXC_INFO_STACK - exc_state = &self->gi_exc_state; - tstate->exc_info = exc_state->previous_item; - exc_state->previous_item = NULL; - __Pyx_Coroutine_ResetFrameBackpointer(exc_state); -#endif - return retval; -} -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) { -#if CYTHON_COMPILING_IN_PYPY - CYTHON_UNUSED_VAR(exc_state); -#else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 - if (!exc_state->exc_value) return; - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #else - exc_tb = exc_state->exc_traceback; - #endif - if (likely(exc_tb)) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - Py_CLEAR(f->f_back); - #if PY_VERSION_HEX >= 0x030B00a4 - Py_DECREF(exc_tb); - #endif - } -#endif -} -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_MethodReturn(PyObject* gen, PyObject *retval) { - CYTHON_MAYBE_UNUSED_VAR(gen); - if (unlikely(!retval)) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (!__Pyx_PyErr_Occurred()) { - PyObject *exc = PyExc_StopIteration; - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - exc = __Pyx_PyExc_StopAsyncIteration; - #endif - __Pyx_PyErr_SetNone(exc); - } - } - return retval; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) -static CYTHON_INLINE -PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) { -#if PY_VERSION_HEX <= 0x030A00A1 - return _PyGen_Send(gen, arg); -#else - PyObject *result; - if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) { - if (PyAsyncGen_CheckExact(gen)) { - assert(result == Py_None); - PyErr_SetNone(PyExc_StopAsyncIteration); - } - else if (result == Py_None) { - PyErr_SetNone(PyExc_StopIteration); - } - else { -#if PY_VERSION_HEX < 0x030d00A1 - _PyGen_SetStopIterationValue(result); -#else - if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) { - PyErr_SetObject(PyExc_StopIteration, result); - } else { - PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result); - if (likely(exc != NULL)) { - PyErr_SetObject(PyExc_StopIteration, exc); - Py_DECREF(exc); - } - } -#endif - } - Py_DECREF(result); - result = NULL; - } - return result; -#endif -} -#endif -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) { - PyObject *ret; - PyObject *val = NULL; - __Pyx_Coroutine_Undelegate(gen); - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val); - ret = __Pyx_Coroutine_SendEx(gen, val, 0); - Py_XDECREF(val); - return ret; -} -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) { - PyObject *retval; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - ret = __Pyx_async_gen_asend_send(yf, value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyCoro_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - { - if (value == Py_None) - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - else - ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value); - } - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - retval = __Pyx_Coroutine_FinishDelegation(gen); - } else { - retval = __Pyx_Coroutine_SendEx(gen, value, 0); - } - return __Pyx_Coroutine_MethodReturn(self, retval); -} -static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) { - PyObject *retval = NULL; - int err = 0; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - if (__Pyx_CoroutineAwait_CheckExact(yf)) { - retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - retval = __Pyx_async_gen_asend_close(yf, NULL); - } else - if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) { - retval = __Pyx_async_gen_athrow_close(yf, NULL); - } else - #endif - { - PyObject *meth; - gen->is_running = 1; - meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_close); - if (unlikely(!meth)) { - if (unlikely(PyErr_Occurred())) { - PyErr_WriteUnraisable(yf); - } - } else { - retval = __Pyx_PyObject_CallNoArg(meth); - Py_DECREF(meth); - if (unlikely(!retval)) - err = -1; - } - gen->is_running = 0; - } - Py_XDECREF(retval); - return err; -} -static PyObject *__Pyx_Generator_Next(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Generator_Next(yf); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, Py_None); - } else - #endif - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - return __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_SendEx(gen, Py_None, 0); -} -static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self); -} -static PyObject *__Pyx_Coroutine_Close(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *retval, *raised_exception; - PyObject *yf = gen->yieldfrom; - int err = 0; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - Py_INCREF(yf); - err = __Pyx_Coroutine_CloseIter(gen, yf); - __Pyx_Coroutine_Undelegate(gen); - Py_DECREF(yf); - } - if (err == 0) - PyErr_SetNone(PyExc_GeneratorExit); - retval = __Pyx_Coroutine_SendEx(gen, NULL, 1); - if (unlikely(retval)) { - const char *msg; - Py_DECREF(retval); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(self)) { - msg = "coroutine ignored GeneratorExit"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(self)) { -#if PY_VERSION_HEX < 0x03060000 - msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)"; -#else - msg = "async generator ignored GeneratorExit"; -#endif - #endif - } else { - msg = "generator ignored GeneratorExit"; - } - PyErr_SetString(PyExc_RuntimeError, msg); - return NULL; - } - raised_exception = PyErr_Occurred(); - if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) { - if (raised_exception) PyErr_Clear(); - Py_INCREF(Py_None); - return Py_None; - } - return NULL; -} -static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb, - PyObject *args, int close_on_genexit) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - Py_INCREF(yf); - if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) { - int err = __Pyx_Coroutine_CloseIter(gen, yf); - Py_DECREF(yf); - __Pyx_Coroutine_Undelegate(gen); - if (err < 0) - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); - goto throw_here; - } - gen->is_running = 1; - if (0 - #ifdef __Pyx_Generator_USED - || __Pyx_Generator_CheckExact(yf) - #endif - #ifdef __Pyx_Coroutine_USED - || __Pyx_Coroutine_Check(yf) - #endif - ) { - ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit); - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_CoroutineAwait_CheckExact(yf)) { - ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit); - #endif - } else { - PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_throw); - if (unlikely(!meth)) { - Py_DECREF(yf); - if (unlikely(PyErr_Occurred())) { - gen->is_running = 0; - return NULL; - } - __Pyx_Coroutine_Undelegate(gen); - gen->is_running = 0; - goto throw_here; - } - if (likely(args)) { - ret = __Pyx_PyObject_Call(meth, args, NULL); - } else { - PyObject *cargs[4] = {NULL, typ, val, tb}; - ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); - } - Py_DECREF(meth); - } - gen->is_running = 0; - Py_DECREF(yf); - if (!ret) { - ret = __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_MethodReturn(self, ret); - } -throw_here: - __Pyx_Raise(typ, val, tb, NULL); - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); -} -static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) { - PyObject *typ; - PyObject *val = NULL; - PyObject *tb = NULL; - if (unlikely(!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb))) - return NULL; - return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1); -} -static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_VISIT(exc_state->exc_value); -#else - Py_VISIT(exc_state->exc_type); - Py_VISIT(exc_state->exc_value); - Py_VISIT(exc_state->exc_traceback); -#endif - return 0; -} -static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) { - Py_VISIT(gen->closure); - Py_VISIT(gen->classobj); - Py_VISIT(gen->yieldfrom); - return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg); -} -static int __Pyx_Coroutine_clear(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - Py_CLEAR(gen->closure); - Py_CLEAR(gen->classobj); - Py_CLEAR(gen->yieldfrom); - __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer); - } -#endif - Py_CLEAR(gen->gi_code); - Py_CLEAR(gen->gi_frame); - Py_CLEAR(gen->gi_name); - Py_CLEAR(gen->gi_qualname); - Py_CLEAR(gen->gi_modulename); - return 0; -} -static void __Pyx_Coroutine_dealloc(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject_GC_UnTrack(gen); - if (gen->gi_weakreflist != NULL) - PyObject_ClearWeakRefs(self); - if (gen->resume_label >= 0) { - PyObject_GC_Track(self); -#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE - if (unlikely(PyObject_CallFinalizerFromDealloc(self))) -#else - Py_TYPE(gen)->tp_del(self); - if (unlikely(Py_REFCNT(self) > 0)) -#endif - { - return; - } - PyObject_GC_UnTrack(self); - } -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - /* We have to handle this case for asynchronous generators - right here, because this code has to be between UNTRACK - and GC_Del. */ - Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer); - } -#endif - __Pyx_Coroutine_clear(self); - __Pyx_PyHeapTypeObject_GC_Del(gen); -} -static void __Pyx_Coroutine_del(PyObject *self) { - PyObject *error_type, *error_value, *error_traceback; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - __Pyx_PyThreadState_declare - if (gen->resume_label < 0) { - return; - } -#if !CYTHON_USE_TP_FINALIZE - assert(self->ob_refcnt == 0); - __Pyx_SET_REFCNT(self, 1); -#endif - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&error_type, &error_value, &error_traceback); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self; - PyObject *finalizer = agen->ag_finalizer; - if (finalizer && !agen->ag_closed) { - PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self); - if (unlikely(!res)) { - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); - return; - } - } -#endif - if (unlikely(gen->resume_label == 0 && !error_value)) { -#ifdef __Pyx_Coroutine_USED -#ifdef __Pyx_Generator_USED - if (!__Pyx_Generator_CheckExact(self)) -#endif - { - PyObject_GC_UnTrack(self); -#if PY_MAJOR_VERSION >= 3 || defined(PyErr_WarnFormat) - if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0)) - PyErr_WriteUnraisable(self); -#else - {PyObject *msg; - char *cmsg; - #if CYTHON_COMPILING_IN_PYPY - msg = NULL; - cmsg = (char*) "coroutine was never awaited"; - #else - char *cname; - PyObject *qualname; - qualname = gen->gi_qualname; - cname = PyString_AS_STRING(qualname); - msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname); - if (unlikely(!msg)) { - PyErr_Clear(); - cmsg = (char*) "coroutine was never awaited"; - } else { - cmsg = PyString_AS_STRING(msg); - } - #endif - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0)) - PyErr_WriteUnraisable(self); - Py_XDECREF(msg);} -#endif - PyObject_GC_Track(self); - } -#endif - } else { - PyObject *res = __Pyx_Coroutine_Close(self); - if (unlikely(!res)) { - if (PyErr_Occurred()) - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); -#if !CYTHON_USE_TP_FINALIZE - assert(Py_REFCNT(self) > 0); - if (likely(--self->ob_refcnt == 0)) { - return; - } - { - Py_ssize_t refcnt = Py_REFCNT(self); - _Py_NewReference(self); - __Pyx_SET_REFCNT(self, refcnt); - } -#if CYTHON_COMPILING_IN_CPYTHON - assert(PyType_IS_GC(Py_TYPE(self)) && - _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED); - _Py_DEC_REFTOTAL; -#endif -#ifdef COUNT_ALLOCS - --Py_TYPE(self)->tp_frees; - --Py_TYPE(self)->tp_allocs; -#endif -#endif -} -static PyObject * -__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_name; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_name, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_qualname; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_qualname, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context) -{ - PyObject *frame = self->gi_frame; - CYTHON_UNUSED_VAR(context); - if (!frame) { - if (unlikely(!self->gi_code)) { - Py_RETURN_NONE; - } - frame = (PyObject *) PyFrame_New( - PyThreadState_Get(), /*PyThreadState *tstate,*/ - (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (unlikely(!frame)) - return NULL; - self->gi_frame = frame; - } - Py_INCREF(frame); - return frame; -} -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type); - if (unlikely(!gen)) - return NULL; - return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name); -} -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - gen->body = body; - gen->closure = closure; - Py_XINCREF(closure); - gen->is_running = 0; - gen->resume_label = 0; - gen->classobj = NULL; - gen->yieldfrom = NULL; - #if PY_VERSION_HEX >= 0x030B00a4 - gen->gi_exc_state.exc_value = NULL; - #else - gen->gi_exc_state.exc_type = NULL; - gen->gi_exc_state.exc_value = NULL; - gen->gi_exc_state.exc_traceback = NULL; - #endif -#if CYTHON_USE_EXC_INFO_STACK - gen->gi_exc_state.previous_item = NULL; -#endif - gen->gi_weakreflist = NULL; - Py_XINCREF(qualname); - gen->gi_qualname = qualname; - Py_XINCREF(name); - gen->gi_name = name; - Py_XINCREF(module_name); - gen->gi_modulename = module_name; - Py_XINCREF(code); - gen->gi_code = code; - gen->gi_frame = NULL; - PyObject_GC_Track(gen); - return gen; -} - -/* PyObject_GenericGetAttrNoDict */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { - __Pyx_TypeName type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, attr_name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(attr_name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { - PyObject *descr; - PyTypeObject *tp = Py_TYPE(obj); - if (unlikely(!PyString_Check(attr_name))) { - return PyObject_GenericGetAttr(obj, attr_name); - } - assert(!tp->tp_dictoffset); - descr = _PyType_Lookup(tp, attr_name); - if (unlikely(!descr)) { - return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); - } - Py_INCREF(descr); - #if PY_MAJOR_VERSION < 3 - if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) - #endif - { - descrgetfunc f = Py_TYPE(descr)->tp_descr_get; - if (unlikely(f)) { - PyObject *res = f(descr, obj, (PyObject *)tp); - Py_DECREF(descr); - return res; - } - } - return descr; -} -#endif - -/* PatchModuleWithCoroutine */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - int result; - PyObject *globals, *result_obj; - globals = PyDict_New(); if (unlikely(!globals)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_coroutine_type", - #ifdef __Pyx_Coroutine_USED - (PyObject*)__pyx_CoroutineType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_generator_type", - #ifdef __Pyx_Generator_USED - (PyObject*)__pyx_GeneratorType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore; - result_obj = PyRun_String(py_code, Py_file_input, globals, globals); - if (unlikely(!result_obj)) goto ignore; - Py_DECREF(result_obj); - Py_DECREF(globals); - return module; -ignore: - Py_XDECREF(globals); - PyErr_WriteUnraisable(module); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) { - Py_DECREF(module); - module = NULL; - } -#else - py_code++; -#endif - return module; -} - -/* PatchGeneratorABC */ -#ifndef CYTHON_REGISTER_ABCS -#define CYTHON_REGISTER_ABCS 1 -#endif -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) -static PyObject* __Pyx_patch_abc_module(PyObject *module); -static PyObject* __Pyx_patch_abc_module(PyObject *module) { - module = __Pyx_Coroutine_patch_module( - module, "" -"if _cython_generator_type is not None:\n" -" try: Generator = _module.Generator\n" -" except AttributeError: pass\n" -" else: Generator.register(_cython_generator_type)\n" -"if _cython_coroutine_type is not None:\n" -" try: Coroutine = _module.Coroutine\n" -" except AttributeError: pass\n" -" else: Coroutine.register(_cython_coroutine_type)\n" - ); - return module; -} -#endif -static int __Pyx_patch_abc(void) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - static int abc_patched = 0; - if (CYTHON_REGISTER_ABCS && !abc_patched) { - PyObject *module; - module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections"); - if (unlikely(!module)) { - PyErr_WriteUnraisable(NULL); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, - ((PY_MAJOR_VERSION >= 3) ? - "Cython module failed to register with collections.abc module" : - "Cython module failed to register with collections module"), 1) < 0)) { - return -1; - } - } else { - module = __Pyx_patch_abc_module(module); - abc_patched = 1; - if (unlikely(!module)) - return -1; - Py_DECREF(module); - } - module = PyImport_ImportModule("backports_abc"); - if (module) { - module = __Pyx_patch_abc_module(module); - Py_XDECREF(module); - } - if (!module) { - PyErr_Clear(); - } - } -#else - if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL); -#endif - return 0; -} - -/* Coroutine */ -static void __Pyx_CoroutineAwait_dealloc(PyObject *self) { - PyObject_GC_UnTrack(self); - Py_CLEAR(((__pyx_CoroutineAwaitObject*)self)->coroutine); - __Pyx_PyHeapTypeObject_GC_Del(self); -} -static int __Pyx_CoroutineAwait_traverse(__pyx_CoroutineAwaitObject *self, visitproc visit, void *arg) { - Py_VISIT(self->coroutine); - return 0; -} -static int __Pyx_CoroutineAwait_clear(__pyx_CoroutineAwaitObject *self) { - Py_CLEAR(self->coroutine); - return 0; -} -static PyObject *__Pyx_CoroutineAwait_Next(__pyx_CoroutineAwaitObject *self) { - return __Pyx_Generator_Next(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_Send(__pyx_CoroutineAwaitObject *self, PyObject *value) { - return __Pyx_Coroutine_Send(self->coroutine, value); -} -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args) { - return __Pyx_Coroutine_Throw(self->coroutine, args); -} -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_self(PyObject *self) { - Py_INCREF(self); - return self; -} -#if !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_CoroutineAwait_no_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { - CYTHON_UNUSED_VAR(type); - CYTHON_UNUSED_VAR(args); - CYTHON_UNUSED_VAR(kwargs); - PyErr_SetString(PyExc_TypeError, "cannot instantiate type, use 'await coroutine' instead"); - return NULL; -} -#endif -static PyObject *__Pyx_CoroutineAwait_reduce_ex(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - PyErr_Format(PyExc_TypeError, "cannot pickle '%.200s' object", - Py_TYPE(self)->tp_name); - return NULL; -} -static PyMethodDef __pyx_CoroutineAwait_methods[] = { - {"send", (PyCFunction) __Pyx_CoroutineAwait_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_CoroutineAwait_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_CoroutineAwait_Close, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, - {"__reduce_ex__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_O, 0}, - {"__reduce__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_NOARGS, 0}, - {0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineAwaitType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CoroutineAwait_dealloc}, - {Py_tp_traverse, (void *)__Pyx_CoroutineAwait_traverse}, - {Py_tp_clear, (void *)__Pyx_CoroutineAwait_clear}, -#if !CYTHON_COMPILING_IN_PYPY - {Py_tp_new, (void *)__Pyx_CoroutineAwait_no_new}, -#endif - {Py_tp_methods, (void *)__pyx_CoroutineAwait_methods}, - {Py_tp_iter, (void *)__Pyx_CoroutineAwait_self}, - {Py_tp_iternext, (void *)__Pyx_CoroutineAwait_Next}, - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineAwaitType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - __pyx_CoroutineAwaitType_slots -}; -#else -static PyTypeObject __pyx_CoroutineAwaitType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - (destructor) __Pyx_CoroutineAwait_dealloc, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - PyDoc_STR("A wrapper object implementing __await__ for coroutines."), - (traverseproc) __Pyx_CoroutineAwait_traverse, - (inquiry) __Pyx_CoroutineAwait_clear, - 0, - 0, - __Pyx_CoroutineAwait_self, - (iternextfunc) __Pyx_CoroutineAwait_Next, - __pyx_CoroutineAwait_methods, - 0 , - 0 , - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if !CYTHON_COMPILING_IN_PYPY - __Pyx_CoroutineAwait_no_new, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -#if PY_VERSION_HEX < 0x030500B1 || defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static CYTHON_INLINE PyObject *__Pyx__Coroutine_await(PyObject *coroutine) { - __pyx_CoroutineAwaitObject *await = PyObject_GC_New(__pyx_CoroutineAwaitObject, __pyx_CoroutineAwaitType); - if (unlikely(!await)) return NULL; - Py_INCREF(coroutine); - await->coroutine = coroutine; - PyObject_GC_Track(await); - return (PyObject*)await; -} -#endif -#if PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_await_method(PyObject *coroutine, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static PyObject *__Pyx_Coroutine_await(PyObject *coroutine) { - if (unlikely(!coroutine || !__Pyx_Coroutine_Check(coroutine))) { - PyErr_SetString(PyExc_TypeError, "invalid input, expected coroutine"); - return NULL; - } - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_compare(PyObject *obj, PyObject *other, int op) { - PyObject* result; - switch (op) { - case Py_EQ: result = (other == obj) ? Py_True : Py_False; break; - case Py_NE: result = (other != obj) ? Py_True : Py_False; break; - default: - result = Py_NotImplemented; - } - Py_INCREF(result); - return result; -} -#endif -static PyMethodDef __pyx_Coroutine_methods[] = { - {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, -#if PY_VERSION_HEX < 0x030500B1 - {"__await__", (PyCFunction) __Pyx_Coroutine_await_method, METH_NOARGS, - (char*) PyDoc_STR("__await__() -> return an iterator to be used in await expression.")}, -#endif - {0, 0, 0, 0} -}; -static PyMemberDef __pyx_Coroutine_memberlist[] = { - {(char *) "cr_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL}, - {(char*) "cr_await", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY, - (char*) PyDoc_STR("object being awaited, or None")}, - {(char*) "cr_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL}, - {(char *) "__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0}, -#if CYTHON_USE_TYPE_SPECS - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyGetSetDef __pyx_Coroutine_getsets[] = { - {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name, - (char*) PyDoc_STR("name of the coroutine"), 0}, - {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname, - (char*) PyDoc_STR("qualified name of the coroutine"), 0}, - {(char *) "cr_frame", (getter)__Pyx_Coroutine_get_frame, NULL, - (char*) PyDoc_STR("Frame of the coroutine"), 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc}, - {Py_am_await, (void *)&__Pyx_Coroutine_await}, - {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse}, - {Py_tp_methods, (void *)__pyx_Coroutine_methods}, - {Py_tp_members, (void *)__pyx_Coroutine_memberlist}, - {Py_tp_getset, (void *)__pyx_Coroutine_getsets}, - {Py_tp_getattro, (void *) __Pyx_PyObject_GenericGetAttrNoDict}, -#if CYTHON_USE_TP_FINALIZE - {Py_tp_finalize, (void *)__Pyx_Coroutine_del}, -#endif - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - __pyx_CoroutineType_slots -}; -#else -#if CYTHON_USE_ASYNC_SLOTS -static __Pyx_PyAsyncMethodsStruct __pyx_Coroutine_as_async = { - __Pyx_Coroutine_await, - 0, - 0, -#if PY_VERSION_HEX >= 0x030A00A3 - 0, -#endif -}; -#endif -static PyTypeObject __pyx_CoroutineType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - (destructor) __Pyx_Coroutine_dealloc, - 0, - 0, - 0, -#if CYTHON_USE_ASYNC_SLOTS - &__pyx_Coroutine_as_async, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - 0, - (traverseproc) __Pyx_Coroutine_traverse, - 0, -#if CYTHON_USE_ASYNC_SLOTS && CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 - __Pyx_Coroutine_compare, -#else - 0, -#endif - offsetof(__pyx_CoroutineObject, gi_weakreflist), - 0, - 0, - __pyx_Coroutine_methods, - __pyx_Coroutine_memberlist, - __pyx_Coroutine_getsets, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if CYTHON_USE_TP_FINALIZE - 0, -#else - __Pyx_Coroutine_del, -#endif - 0, -#if CYTHON_USE_TP_FINALIZE - __Pyx_Coroutine_del, -#elif PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_Coroutine_init(PyObject *module) { - CYTHON_MAYBE_UNUSED_VAR(module); -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineType_spec, NULL); -#else - __pyx_CoroutineType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - __pyx_CoroutineType = __Pyx_FetchCommonType(&__pyx_CoroutineType_type); -#endif - if (unlikely(!__pyx_CoroutineType)) - return -1; -#ifdef __Pyx_IterableCoroutine_USED - if (unlikely(__pyx_IterableCoroutine_init(module) == -1)) - return -1; -#endif -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineAwaitType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineAwaitType_spec, NULL); -#else - __pyx_CoroutineAwaitType = __Pyx_FetchCommonType(&__pyx_CoroutineAwaitType_type); -#endif - if (unlikely(!__pyx_CoroutineAwaitType)) - return -1; - return 0; -} - -/* GetAwaitIter */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o) { -#ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(o)) { - return __Pyx_NewRef(o); - } -#endif - return __Pyx__Coroutine_GetAwaitableIter(o); -} -static void __Pyx_Coroutine_AwaitableIterError(PyObject *source) { -#if PY_VERSION_HEX >= 0x030600B3 && PY_VERSION_HEX < 0x030d0000 || defined(_PyErr_FormatFromCause) - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - _PyErr_FormatFromCause(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); -#elif PY_MAJOR_VERSION >= 3 - PyObject *exc, *val, *val2, *tb; - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - assert(PyErr_Occurred()); - PyErr_Fetch(&exc, &val, &tb); - PyErr_NormalizeException(&exc, &val, &tb); - if (tb != NULL) { - PyException_SetTraceback(val, tb); - Py_DECREF(tb); - } - Py_DECREF(exc); - assert(!PyErr_Occurred()); - PyErr_Format(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); - PyErr_Fetch(&exc, &val2, &tb); - PyErr_NormalizeException(&exc, &val2, &tb); - Py_INCREF(val); - PyException_SetCause(val2, val); - PyException_SetContext(val2, val); - PyErr_Restore(exc, val2, tb); -#else - CYTHON_UNUSED_VAR(source); -#endif -} -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *obj) { - PyObject *res; -#if CYTHON_USE_ASYNC_SLOTS - __Pyx_PyAsyncMethodsStruct* am = __Pyx_PyType_AsAsync(obj); - if (likely(am && am->am_await)) { - res = (*am->am_await)(obj); - } else -#endif -#if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - if (PyCoro_CheckExact(obj)) { - return __Pyx_NewRef(obj); - } else -#endif -#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE) -#if PY_VERSION_HEX >= 0x030C00A6 - if (PyGen_CheckExact(obj) && (PyGen_GetCode((PyGenObject*)obj)->co_flags & CO_ITERABLE_COROUTINE)) { -#else - if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) { -#endif - return __Pyx_NewRef(obj); - } else -#endif - { - PyObject *method = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, __pyx_n_s_await, &method); - if (likely(is_method)) { - res = __Pyx_PyObject_CallOneArg(method, obj); - } else if (likely(method)) { - res = __Pyx_PyObject_CallNoArg(method); - } else - goto slot_error; - Py_DECREF(method); - } - if (unlikely(!res)) { - __Pyx_Coroutine_AwaitableIterError(obj); - goto bad; - } - if (unlikely(!PyIter_Check(res))) { - __Pyx_TypeName res_type_name = __Pyx_PyType_GetName(Py_TYPE(res)); - PyErr_Format(PyExc_TypeError, - "__await__() returned non-iterator of type '" __Pyx_FMT_TYPENAME "'", res_type_name); - __Pyx_DECREF_TypeName(res_type_name); - Py_CLEAR(res); - } else { - int is_coroutine = 0; - #ifdef __Pyx_Coroutine_USED - is_coroutine |= __Pyx_Coroutine_Check(res); - #endif - #if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - is_coroutine |= PyCoro_CheckExact(res); - #endif - if (unlikely(is_coroutine)) { - /* __await__ must return an *iterator*, not - a coroutine or another awaitable (see PEP 492) */ - PyErr_SetString(PyExc_TypeError, - "__await__() returned a coroutine"); - Py_CLEAR(res); - } - } - return res; -slot_error: - { - __Pyx_TypeName obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "object " __Pyx_FMT_TYPENAME " can't be used in 'await' expression", obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); - } -bad: - return NULL; -} - -/* CoroutineYieldFrom */ - static PyObject* __Pyx__Coroutine_Yield_From_Generic(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - PyObject *source_gen = __Pyx__Coroutine_GetAwaitableIter(source); - if (unlikely(!source_gen)) { - return NULL; - } - if (__Pyx_Coroutine_Check(source_gen)) { - retval = __Pyx_Generator_Next(source_gen); - } else { - retval = __Pyx_PyObject_GetIterNextFunc(source_gen)(source_gen); - } - if (retval) { - gen->yieldfrom = source_gen; - return retval; - } - Py_DECREF(source_gen); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - if (__Pyx_Coroutine_Check(source)) { - if (unlikely(((__pyx_CoroutineObject*)source)->yieldfrom)) { - PyErr_SetString( - PyExc_RuntimeError, - "coroutine is being awaited already"); - return NULL; - } - retval = __Pyx_Generator_Next(source); -#ifdef __Pyx_AsyncGen_USED - } else if (__pyx_PyAsyncGenASend_CheckExact(source)) { - retval = __Pyx_async_gen_asend_iternext(source); -#endif - } else { - return __Pyx__Coroutine_Yield_From_Generic(gen, source); - } - if (retval) { - Py_INCREF(source); - gen->yieldfrom = source; - } - return retval; -} - -/* GetException */ - #if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type = NULL, *local_value, *local_tb = NULL; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if PY_VERSION_HEX >= 0x030C00A6 - local_value = tstate->current_exception; - tstate->current_exception = 0; - if (likely(local_value)) { - local_type = (PyObject*) Py_TYPE(local_value); - Py_INCREF(local_type); - local_tb = PyException_GetTraceback(local_value); - } - #else - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; - #endif -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE && PY_VERSION_HEX >= 0x030C00A6 - if (unlikely(tstate->current_exception)) -#elif CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - #if PY_VERSION_HEX >= 0x030B00a4 - tmp_value = exc_info->exc_value; - exc_info->exc_value = local_value; - tmp_type = NULL; - tmp_tb = NULL; - Py_XDECREF(local_type); - Py_XDECREF(local_tb); - #else - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - #endif - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -/* PyDictVersioning */ - #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ - #if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if !CYTHON_AVOID_BORROWED_REFS -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000 - result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } else if (unlikely(PyErr_Occurred())) { - return NULL; - } -#elif CYTHON_COMPILING_IN_LIMITED_API - if (unlikely(!__pyx_m)) { - return NULL; - } - result = PyObject_GetAttr(__pyx_m, name); - if (likely(result)) { - return result; - } -#else - result = PyDict_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } -#endif -#else - result = PyObject_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyErr_Clear(); -#endif - return __Pyx_GetBuiltinName(name); -} - -/* pep479 */ - static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) { - PyObject *exc, *val, *tb, *cur_exc; - __Pyx_PyThreadState_declare - #ifdef __Pyx_StopAsyncIteration_USED - int is_async_stopiteration = 0; - #endif - CYTHON_MAYBE_UNUSED_VAR(in_async_gen); - cur_exc = PyErr_Occurred(); - if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) { - #ifdef __Pyx_StopAsyncIteration_USED - if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, __Pyx_PyExc_StopAsyncIteration))) { - is_async_stopiteration = 1; - } else - #endif - return; - } - __Pyx_PyThreadState_assign - __Pyx_GetException(&exc, &val, &tb); - Py_XDECREF(exc); - Py_XDECREF(val); - Py_XDECREF(tb); - PyErr_SetString(PyExc_RuntimeError, - #ifdef __Pyx_StopAsyncIteration_USED - is_async_stopiteration ? "async generator raised StopAsyncIteration" : - in_async_gen ? "async generator raised StopIteration" : - #endif - "generator raised StopIteration"); -} - -/* PyIntBinop */ - #if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_MAYBE_UNUSED_VAR(inplace); - CYTHON_UNUSED_VAR(zerodivision_check); - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - - x = (long)((unsigned long)a + (unsigned long)b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - if (unlikely(__Pyx_PyLong_IsZero(op1))) { - return __Pyx_NewRef(op2); - } - if (likely(__Pyx_PyLong_IsCompact(op1))) { - a = __Pyx_PyLong_CompactValue(op1); - } else { - const digit* digits = __Pyx_PyLong_Digits(op1); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1); - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - double result; - - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* GetItemInt */ - static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (unlikely(!j)) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyList_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyTuple_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping; - PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence; - if (mm && mm->mp_subscript) { - PyObject *r, *key = PyInt_FromSsize_t(i); - if (unlikely(!key)) return NULL; - r = mm->mp_subscript(o, key); - Py_DECREF(key); - return r; - } - if (likely(sm && sm->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) { - Py_ssize_t l = sm->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return NULL; - PyErr_Clear(); - } - } - return sm->sq_item(o, i); - } - } -#else - if (is_list || !PyMapping_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - -/* ObjectGetItem */ - #if CYTHON_USE_TYPE_SLOTS -static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) { - PyObject *runerr = NULL; - Py_ssize_t key_value; - key_value = __Pyx_PyIndex_AsSsize_t(index); - if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { - return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); - } - if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { - __Pyx_TypeName index_type_name = __Pyx_PyType_GetName(Py_TYPE(index)); - PyErr_Clear(); - PyErr_Format(PyExc_IndexError, - "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", index_type_name); - __Pyx_DECREF_TypeName(index_type_name); - } - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) { - __Pyx_TypeName obj_type_name; - if (likely(PyType_Check(obj))) { - PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_n_s_class_getitem); - if (!meth) { - PyErr_Clear(); - } else { - PyObject *result = __Pyx_PyObject_CallOneArg(meth, key); - Py_DECREF(meth); - return result; - } - } - obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) { - PyTypeObject *tp = Py_TYPE(obj); - PyMappingMethods *mm = tp->tp_as_mapping; - PySequenceMethods *sm = tp->tp_as_sequence; - if (likely(mm && mm->mp_subscript)) { - return mm->mp_subscript(obj, key); - } - if (likely(sm && sm->sq_item)) { - return __Pyx_PyObject_GetIndex(obj, key); - } - return __Pyx_PyObject_GetItem_Slow(obj, key); -} -#endif - -/* DictGetItem */ - #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { - PyObject *value; - value = PyDict_GetItemWithError(d, key); - if (unlikely(!value)) { - if (!PyErr_Occurred()) { - if (unlikely(PyTuple_Check(key))) { - PyObject* args = PyTuple_Pack(1, key); - if (likely(args)) { - PyErr_SetObject(PyExc_KeyError, args); - Py_DECREF(args); - } - } else { - PyErr_SetObject(PyExc_KeyError, key); - } - } - return NULL; - } - Py_INCREF(value); - return value; -} -#endif - -/* PyIntCompare */ - static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_UNUSED_VAR(inplace); - if (op1 == op2) { - return 1; - } - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long a = PyInt_AS_LONG(op1); - return (a == b); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - int unequal; - unsigned long uintval; - Py_ssize_t size = __Pyx_PyLong_DigitCount(op1); - const digit* digits = __Pyx_PyLong_Digits(op1); - if (intval == 0) { - return (__Pyx_PyLong_IsZero(op1) == 1); - } else if (intval < 0) { - if (__Pyx_PyLong_IsNonNeg(op1)) - return 0; - intval = -intval; - } else { - if (__Pyx_PyLong_IsNeg(op1)) - return 0; - } - uintval = (unsigned long) intval; -#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 4)) { - unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 3)) { - unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 2)) { - unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 1)) { - unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif - unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); - return (unequal == 0); - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - return ((double)a == (double)b); - } - return __Pyx_PyObject_IsTrueAndDecref( - PyObject_RichCompare(op1, op2, Py_EQ)); -} - -/* UnicodeConcatInPlace */ - # if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 -static int -__Pyx_unicode_modifiable(PyObject *unicode) -{ - if (Py_REFCNT(unicode) != 1) - return 0; - if (!PyUnicode_CheckExact(unicode)) - return 0; - if (PyUnicode_CHECK_INTERNED(unicode)) - return 0; - return 1; -} -static CYTHON_INLINE PyObject *__Pyx_PyUnicode_ConcatInPlaceImpl(PyObject **p_left, PyObject *right - #if CYTHON_REFNANNY - , void* __pyx_refnanny - #endif - ) { - PyObject *left = *p_left; - Py_ssize_t left_len, right_len, new_len; - if (unlikely(__Pyx_PyUnicode_READY(left) == -1)) - return NULL; - if (unlikely(__Pyx_PyUnicode_READY(right) == -1)) - return NULL; - left_len = PyUnicode_GET_LENGTH(left); - if (left_len == 0) { - Py_INCREF(right); - return right; - } - right_len = PyUnicode_GET_LENGTH(right); - if (right_len == 0) { - Py_INCREF(left); - return left; - } - if (unlikely(left_len > PY_SSIZE_T_MAX - right_len)) { - PyErr_SetString(PyExc_OverflowError, - "strings are too large to concat"); - return NULL; - } - new_len = left_len + right_len; - if (__Pyx_unicode_modifiable(left) - && PyUnicode_CheckExact(right) - && PyUnicode_KIND(right) <= PyUnicode_KIND(left) - && !(PyUnicode_IS_ASCII(left) && !PyUnicode_IS_ASCII(right))) { - int ret; - __Pyx_GIVEREF(*p_left); - ret = PyUnicode_Resize(p_left, new_len); - __Pyx_GOTREF(*p_left); - if (unlikely(ret != 0)) - return NULL; - #if PY_VERSION_HEX >= 0x030d0000 - if (unlikely(PyUnicode_CopyCharacters(*p_left, left_len, right, 0, right_len) < 0)) return NULL; - #else - _PyUnicode_FastCopyCharacters(*p_left, left_len, right, 0, right_len); - #endif - __Pyx_INCREF(*p_left); - __Pyx_GIVEREF(*p_left); - return *p_left; - } else { - return __Pyx_PyUnicode_Concat(left, right); - } - } -#endif - -/* JoinPyUnicode */ - static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char) { -#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - PyObject *result_uval; - int result_ukind, kind_shift; - Py_ssize_t i, char_pos; - void *result_udata; - CYTHON_MAYBE_UNUSED_VAR(max_char); -#if CYTHON_PEP393_ENABLED - result_uval = PyUnicode_New(result_ulength, max_char); - if (unlikely(!result_uval)) return NULL; - result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND; - kind_shift = (result_ukind == PyUnicode_4BYTE_KIND) ? 2 : result_ukind - 1; - result_udata = PyUnicode_DATA(result_uval); -#else - result_uval = PyUnicode_FromUnicode(NULL, result_ulength); - if (unlikely(!result_uval)) return NULL; - result_ukind = sizeof(Py_UNICODE); - kind_shift = (result_ukind == 4) ? 2 : result_ukind - 1; - result_udata = PyUnicode_AS_UNICODE(result_uval); -#endif - assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0); - char_pos = 0; - for (i=0; i < value_count; i++) { - int ukind; - Py_ssize_t ulength; - void *udata; - PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); - if (unlikely(__Pyx_PyUnicode_READY(uval))) - goto bad; - ulength = __Pyx_PyUnicode_GET_LENGTH(uval); - if (unlikely(!ulength)) - continue; - if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos)) - goto overflow; - ukind = __Pyx_PyUnicode_KIND(uval); - udata = __Pyx_PyUnicode_DATA(uval); - if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) { - memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift)); - } else { - #if PY_VERSION_HEX >= 0x030d0000 - if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad; - #elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters) - _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength); - #else - Py_ssize_t j; - for (j=0; j < ulength; j++) { - Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j); - __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar); - } - #endif - } - char_pos += ulength; - } - return result_uval; -overflow: - PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string"); -bad: - Py_DECREF(result_uval); - return NULL; -#else - CYTHON_UNUSED_VAR(max_char); - CYTHON_UNUSED_VAR(result_ulength); - CYTHON_UNUSED_VAR(value_count); - return PyUnicode_Join(__pyx_empty_unicode, value_tuple); -#endif -} - -/* pybytes_as_double */ - static double __Pyx_SlowPyString_AsDouble(PyObject *obj) { - PyObject *float_value; -#if PY_MAJOR_VERSION >= 3 - float_value = PyFloat_FromString(obj); -#else - float_value = PyFloat_FromString(obj, 0); -#endif - if (likely(float_value)) { -#if CYTHON_ASSUME_SAFE_MACROS - double value = PyFloat_AS_DOUBLE(float_value); -#else - double value = PyFloat_AsDouble(float_value); -#endif - Py_DECREF(float_value); - return value; - } - return (double)-1; -} -static const char* __Pyx__PyBytes_AsDouble_Copy(const char* start, char* buffer, Py_ssize_t length) { - int last_was_punctuation = 1; - Py_ssize_t i; - for (i=0; i < length; i++) { - char chr = start[i]; - int is_punctuation = (chr == '_') | (chr == '.') | (chr == 'e') | (chr == 'E'); - *buffer = chr; - buffer += (chr != '_'); - if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure; - last_was_punctuation = is_punctuation; - } - if (unlikely(last_was_punctuation)) goto parse_failure; - *buffer = '\0'; - return buffer; -parse_failure: - return NULL; -} -static double __Pyx__PyBytes_AsDouble_inf_nan(const char* start, Py_ssize_t length) { - int matches = 1; - char sign = start[0]; - int is_signed = (sign == '+') | (sign == '-'); - start += is_signed; - length -= is_signed; - switch (start[0]) { - #ifdef Py_NAN - case 'n': - case 'N': - if (unlikely(length != 3)) goto parse_failure; - matches &= (start[1] == 'a' || start[1] == 'A'); - matches &= (start[2] == 'n' || start[2] == 'N'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_NAN : Py_NAN; - #endif - case 'i': - case 'I': - if (unlikely(length < 3)) goto parse_failure; - matches &= (start[1] == 'n' || start[1] == 'N'); - matches &= (start[2] == 'f' || start[2] == 'F'); - if (likely(length == 3 && matches)) - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - if (unlikely(length != 8)) goto parse_failure; - matches &= (start[3] == 'i' || start[3] == 'I'); - matches &= (start[4] == 'n' || start[4] == 'N'); - matches &= (start[5] == 'i' || start[5] == 'I'); - matches &= (start[6] == 't' || start[6] == 'T'); - matches &= (start[7] == 'y' || start[7] == 'Y'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - break; - default: - goto parse_failure; - } - return 0.0; -parse_failure: - return -1.0; -} -static CYTHON_INLINE int __Pyx__PyBytes_AsDouble_IsSpace(char ch) { - return (ch == 0x20) | !((ch < 0x9) | (ch > 0xd)); -} -CYTHON_UNUSED static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length) { - double value; - Py_ssize_t i, digits; - const char *last = start + length; - char *end; - while (__Pyx__PyBytes_AsDouble_IsSpace(*start)) - start++; - while (start < last - 1 && __Pyx__PyBytes_AsDouble_IsSpace(last[-1])) - last--; - length = last - start; - if (unlikely(length <= 0)) goto fallback; - value = __Pyx__PyBytes_AsDouble_inf_nan(start, length); - if (unlikely(value == -1.0)) goto fallback; - if (value != 0.0) return value; - digits = 0; - for (i=0; i < length; digits += start[i++] != '_'); - if (likely(digits == length)) { - value = PyOS_string_to_double(start, &end, NULL); - } else if (digits < 40) { - char number[40]; - last = __Pyx__PyBytes_AsDouble_Copy(start, number, length); - if (unlikely(!last)) goto fallback; - value = PyOS_string_to_double(number, &end, NULL); - } else { - char *number = (char*) PyMem_Malloc((digits + 1) * sizeof(char)); - if (unlikely(!number)) goto fallback; - last = __Pyx__PyBytes_AsDouble_Copy(start, number, length); - if (unlikely(!last)) { - PyMem_Free(number); - goto fallback; - } - value = PyOS_string_to_double(number, &end, NULL); - PyMem_Free(number); - } - if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) { - return value; - } -fallback: - return __Pyx_SlowPyString_AsDouble(obj); -} - -/* pyobject_as_double */ - static double __Pyx__PyObject_AsDouble(PyObject* obj) { - if (PyUnicode_CheckExact(obj)) { - return __Pyx_PyUnicode_AsDouble(obj); - } else if (PyBytes_CheckExact(obj)) { - return __Pyx_PyBytes_AsDouble(obj); - } else if (PyByteArray_CheckExact(obj)) { - return __Pyx_PyByteArray_AsDouble(obj); - } else { - PyObject* float_value; -#if !CYTHON_USE_TYPE_SLOTS - float_value = PyNumber_Float(obj); if ((0)) goto bad; - (void)__Pyx_PyObject_CallOneArg; -#else - PyNumberMethods *nb = Py_TYPE(obj)->tp_as_number; - if (likely(nb) && likely(nb->nb_float)) { - float_value = nb->nb_float(obj); - if (likely(float_value) && unlikely(!PyFloat_Check(float_value))) { - __Pyx_TypeName float_value_type_name = __Pyx_PyType_GetName(Py_TYPE(float_value)); - PyErr_Format(PyExc_TypeError, - "__float__ returned non-float (type " __Pyx_FMT_TYPENAME ")", - float_value_type_name); - __Pyx_DECREF_TypeName(float_value_type_name); - Py_DECREF(float_value); - goto bad; - } - } else { - float_value = __Pyx_PyObject_CallOneArg((PyObject*)&PyFloat_Type, obj); - } -#endif - if (likely(float_value)) { - double value = PyFloat_AS_DOUBLE(float_value); - Py_DECREF(float_value); - return value; - } - } -bad: - return (double)-1; -} - -/* PyObjectCallMethod0 */ - static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) { - PyObject *method = NULL, *result = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_CallOneArg(method, obj); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) goto bad; - result = __Pyx_PyObject_CallNoArg(method); - Py_DECREF(method); -bad: - return result; -} - -/* ValidateBasesTuple */ - #if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) { - Py_ssize_t i, n; -#if CYTHON_ASSUME_SAFE_MACROS - n = PyTuple_GET_SIZE(bases); -#else - n = PyTuple_Size(bases); - if (n < 0) return -1; -#endif - for (i = 1; i < n; i++) - { -#if CYTHON_AVOID_BORROWED_REFS - PyObject *b0 = PySequence_GetItem(bases, i); - if (!b0) return -1; -#elif CYTHON_ASSUME_SAFE_MACROS - PyObject *b0 = PyTuple_GET_ITEM(bases, i); -#else - PyObject *b0 = PyTuple_GetItem(bases, i); - if (!b0) return -1; -#endif - PyTypeObject *b; -#if PY_MAJOR_VERSION < 3 - if (PyClass_Check(b0)) - { - PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class", - PyString_AS_STRING(((PyClassObject*)b0)->cl_name)); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } -#endif - b = (PyTypeObject*) b0; - if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE)) - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name); - __Pyx_DECREF_TypeName(b_name); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - if (dictoffset == 0) - { - Py_ssize_t b_dictoffset = 0; -#if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - b_dictoffset = b->tp_dictoffset; -#else - PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__"); - if (!py_b_dictoffset) goto dictoffset_return; - b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset); - Py_DECREF(py_b_dictoffset); - if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return; -#endif - if (b_dictoffset) { - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "extension type '%.200s' has no __dict__ slot, " - "but base type '" __Pyx_FMT_TYPENAME "' has: " - "either add 'cdef dict __dict__' to the extension type " - "or add '__slots__ = [...]' to the base type", - type_name, b_name); - __Pyx_DECREF_TypeName(b_name); - } -#if !(CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY) - dictoffset_return: -#endif -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - } -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - } - return 0; -} -#endif - -/* PyType_Ready */ - static int __Pyx_PyType_Ready(PyTypeObject *t) { -#if CYTHON_USE_TYPE_SPECS || !(CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API) || defined(PYSTON_MAJOR_VERSION) - (void)__Pyx_PyObject_CallMethod0; -#if CYTHON_USE_TYPE_SPECS - (void)__Pyx_validate_bases_tuple; -#endif - return PyType_Ready(t); -#else - int r; - PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*); - if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1)) - return -1; -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - { - int gc_was_enabled; - #if PY_VERSION_HEX >= 0x030A00b1 - gc_was_enabled = PyGC_Disable(); - (void)__Pyx_PyObject_CallMethod0; - #else - PyObject *ret, *py_status; - PyObject *gc = NULL; - #if PY_VERSION_HEX >= 0x030700a1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400) - gc = PyImport_GetModule(__pyx_kp_u_gc); - #endif - if (unlikely(!gc)) gc = PyImport_Import(__pyx_kp_u_gc); - if (unlikely(!gc)) return -1; - py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_isenabled); - if (unlikely(!py_status)) { - Py_DECREF(gc); - return -1; - } - gc_was_enabled = __Pyx_PyObject_IsTrue(py_status); - Py_DECREF(py_status); - if (gc_was_enabled > 0) { - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_disable); - if (unlikely(!ret)) { - Py_DECREF(gc); - return -1; - } - Py_DECREF(ret); - } else if (unlikely(gc_was_enabled == -1)) { - Py_DECREF(gc); - return -1; - } - #endif - t->tp_flags |= Py_TPFLAGS_HEAPTYPE; -#if PY_VERSION_HEX >= 0x030A0000 - t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE; -#endif -#else - (void)__Pyx_PyObject_CallMethod0; -#endif - r = PyType_Ready(t); -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE; - #if PY_VERSION_HEX >= 0x030A00b1 - if (gc_was_enabled) - PyGC_Enable(); - #else - if (gc_was_enabled) { - PyObject *tp, *v, *tb; - PyErr_Fetch(&tp, &v, &tb); - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_enable); - if (likely(ret || r == -1)) { - Py_XDECREF(ret); - PyErr_Restore(tp, v, tb); - } else { - Py_XDECREF(tp); - Py_XDECREF(v); - Py_XDECREF(tb); - r = -1; - } - } - Py_DECREF(gc); - #endif - } -#endif - return r; -#endif -} - -/* Import */ - static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { - PyObject *module = 0; - PyObject *empty_dict = 0; - PyObject *empty_list = 0; - #if PY_MAJOR_VERSION < 3 - PyObject *py_import; - py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); - if (unlikely(!py_import)) - goto bad; - if (!from_list) { - empty_list = PyList_New(0); - if (unlikely(!empty_list)) - goto bad; - from_list = empty_list; - } - #endif - empty_dict = PyDict_New(); - if (unlikely(!empty_dict)) - goto bad; - { - #if PY_MAJOR_VERSION >= 3 - if (level == -1) { - if (strchr(__Pyx_MODULE_NAME, '.') != NULL) { - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, 1); - if (unlikely(!module)) { - if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError))) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - #endif - if (!module) { - #if PY_MAJOR_VERSION < 3 - PyObject *py_level = PyInt_FromLong(level); - if (unlikely(!py_level)) - goto bad; - module = PyObject_CallFunctionObjArgs(py_import, - name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL); - Py_DECREF(py_level); - #else - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, level); - #endif - } - } -bad: - Py_XDECREF(empty_dict); - Py_XDECREF(empty_list); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_import); - #endif - return module; -} - -/* ImportFrom */ - static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { - PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); - if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { - const char* module_name_str = 0; - PyObject* module_name = 0; - PyObject* module_dot = 0; - PyObject* full_name = 0; - PyErr_Clear(); - module_name_str = PyModule_GetName(module); - if (unlikely(!module_name_str)) { goto modbad; } - module_name = PyUnicode_FromString(module_name_str); - if (unlikely(!module_name)) { goto modbad; } - module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__24); - if (unlikely(!module_dot)) { goto modbad; } - full_name = PyUnicode_Concat(module_dot, name); - if (unlikely(!full_name)) { goto modbad; } - #if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400) - { - PyObject *modules = PyImport_GetModuleDict(); - if (unlikely(!modules)) - goto modbad; - value = PyObject_GetItem(modules, full_name); - } - #else - value = PyImport_GetModule(full_name); - #endif - modbad: - Py_XDECREF(full_name); - Py_XDECREF(module_dot); - Py_XDECREF(module_name); - } - if (unlikely(!value)) { - PyErr_Format(PyExc_ImportError, - #if PY_MAJOR_VERSION < 3 - "cannot import name %.230s", PyString_AS_STRING(name)); - #else - "cannot import name %S", name); - #endif - } - return value; -} - -/* Py3UpdateBases */ - static PyObject* -__Pyx_PEP560_update_bases(PyObject *bases) -{ - Py_ssize_t i, j, size_bases; - PyObject *base, *meth, *new_base, *result, *new_bases = NULL; - size_bases = PyTuple_GET_SIZE(bases); - for (i = 0; i < size_bases; i++) { - base = PyTuple_GET_ITEM(bases, i); - if (PyType_Check(base)) { - if (new_bases) { - if (PyList_Append(new_bases, base) < 0) { - goto error; - } - } - continue; - } - meth = __Pyx_PyObject_GetAttrStrNoError(base, __pyx_n_s_mro_entries); - if (!meth && PyErr_Occurred()) { - goto error; - } - if (!meth) { - if (new_bases) { - if (PyList_Append(new_bases, base) < 0) { - goto error; - } - } - continue; - } - new_base = __Pyx_PyObject_CallOneArg(meth, bases); - Py_DECREF(meth); - if (!new_base) { - goto error; - } - if (!PyTuple_Check(new_base)) { - PyErr_SetString(PyExc_TypeError, - "__mro_entries__ must return a tuple"); - Py_DECREF(new_base); - goto error; - } - if (!new_bases) { - if (!(new_bases = PyList_New(i))) { - goto error; - } - for (j = 0; j < i; j++) { - base = PyTuple_GET_ITEM(bases, j); - PyList_SET_ITEM(new_bases, j, base); - Py_INCREF(base); - } - } - j = PyList_GET_SIZE(new_bases); - if (PyList_SetSlice(new_bases, j, j, new_base) < 0) { - goto error; - } - Py_DECREF(new_base); - } - if (!new_bases) { - Py_INCREF(bases); - return bases; - } - result = PyList_AsTuple(new_bases); - Py_DECREF(new_bases); - return result; -error: - Py_XDECREF(new_bases); - return NULL; -} - -/* CalculateMetaclass */ - static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) { - Py_ssize_t i, nbases; -#if CYTHON_ASSUME_SAFE_MACROS - nbases = PyTuple_GET_SIZE(bases); -#else - nbases = PyTuple_Size(bases); - if (nbases < 0) return NULL; -#endif - for (i=0; i < nbases; i++) { - PyTypeObject *tmptype; -#if CYTHON_ASSUME_SAFE_MACROS - PyObject *tmp = PyTuple_GET_ITEM(bases, i); -#else - PyObject *tmp = PyTuple_GetItem(bases, i); - if (!tmp) return NULL; -#endif - tmptype = Py_TYPE(tmp); -#if PY_MAJOR_VERSION < 3 - if (tmptype == &PyClass_Type) - continue; -#endif - if (!metaclass) { - metaclass = tmptype; - continue; - } - if (PyType_IsSubtype(metaclass, tmptype)) - continue; - if (PyType_IsSubtype(tmptype, metaclass)) { - metaclass = tmptype; - continue; - } - PyErr_SetString(PyExc_TypeError, - "metaclass conflict: " - "the metaclass of a derived class " - "must be a (non-strict) subclass " - "of the metaclasses of all its bases"); - return NULL; - } - if (!metaclass) { -#if PY_MAJOR_VERSION < 3 - metaclass = &PyClass_Type; -#else - metaclass = &PyType_Type; -#endif - } - Py_INCREF((PyObject*) metaclass); - return (PyObject*) metaclass; -} - -/* PyObjectLookupSpecial */ - #if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) { - PyObject *res; - PyTypeObject *tp = Py_TYPE(obj); -#if PY_MAJOR_VERSION < 3 - if (unlikely(PyInstance_Check(obj))) - return with_error ? __Pyx_PyObject_GetAttrStr(obj, attr_name) : __Pyx_PyObject_GetAttrStrNoError(obj, attr_name); -#endif - res = _PyType_Lookup(tp, attr_name); - if (likely(res)) { - descrgetfunc f = Py_TYPE(res)->tp_descr_get; - if (!f) { - Py_INCREF(res); - } else { - res = f(res, obj, (PyObject *)tp); - } - } else if (with_error) { - PyErr_SetObject(PyExc_AttributeError, attr_name); - } - return res; -} -#endif - -/* Py3ClassCreate */ - static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, - PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) { - PyObject *ns; - if (metaclass) { - PyObject *prep = __Pyx_PyObject_GetAttrStrNoError(metaclass, __pyx_n_s_prepare); - if (prep) { - PyObject *pargs[3] = {NULL, name, bases}; - ns = __Pyx_PyObject_FastCallDict(prep, pargs+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw); - Py_DECREF(prep); - } else { - if (unlikely(PyErr_Occurred())) - return NULL; - ns = PyDict_New(); - } - } else { - ns = PyDict_New(); - } - if (unlikely(!ns)) - return NULL; - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad; -#if PY_VERSION_HEX >= 0x03030000 - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad; -#else - CYTHON_MAYBE_UNUSED_VAR(qualname); -#endif - if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad; - return ns; -bad: - Py_DECREF(ns); - return NULL; -} -#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS -static int __Pyx_SetNamesPEP487(PyObject *type_obj) { - PyTypeObject *type = (PyTypeObject*) type_obj; - PyObject *names_to_set, *key, *value, *set_name, *tmp; - Py_ssize_t i = 0; -#if CYTHON_USE_TYPE_SLOTS - names_to_set = PyDict_Copy(type->tp_dict); -#else - { - PyObject *d = PyObject_GetAttr(type_obj, __pyx_n_s_dict); - names_to_set = NULL; - if (likely(d)) { - PyObject *names_to_set = PyDict_New(); - int ret = likely(names_to_set) ? PyDict_Update(names_to_set, d) : -1; - Py_DECREF(d); - if (unlikely(ret < 0)) - Py_CLEAR(names_to_set); - } - } -#endif - if (unlikely(names_to_set == NULL)) - goto bad; - while (PyDict_Next(names_to_set, &i, &key, &value)) { - set_name = __Pyx_PyObject_LookupSpecialNoError(value, __pyx_n_s_set_name); - if (unlikely(set_name != NULL)) { - tmp = __Pyx_PyObject_Call2Args(set_name, type_obj, key); - Py_DECREF(set_name); - if (unlikely(tmp == NULL)) { - __Pyx_TypeName value_type_name = - __Pyx_PyType_GetName(Py_TYPE(value)); - __Pyx_TypeName type_name = __Pyx_PyType_GetName(type); - PyErr_Format(PyExc_RuntimeError, -#if PY_MAJOR_VERSION >= 3 - "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %R " "in '" __Pyx_FMT_TYPENAME "'", - value_type_name, key, type_name); -#else - "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %.100s in '" __Pyx_FMT_TYPENAME "'", - value_type_name, - PyString_Check(key) ? PyString_AS_STRING(key) : "?", - type_name); -#endif - goto bad; - } else { - Py_DECREF(tmp); - } - } - else if (unlikely(PyErr_Occurred())) { - goto bad; - } - } - Py_DECREF(names_to_set); - return 0; -bad: - Py_XDECREF(names_to_set); - return -1; -} -static PyObject *__Pyx_InitSubclassPEP487(PyObject *type_obj, PyObject *mkw) { -#if CYTHON_USE_TYPE_SLOTS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - PyTypeObject *type = (PyTypeObject*) type_obj; - PyObject *mro = type->tp_mro; - Py_ssize_t i, nbases; - if (unlikely(!mro)) goto done; - (void) &__Pyx_GetBuiltinName; - Py_INCREF(mro); - nbases = PyTuple_GET_SIZE(mro); - assert(PyTuple_GET_ITEM(mro, 0) == type_obj); - for (i = 1; i < nbases-1; i++) { - PyObject *base, *dict, *meth; - base = PyTuple_GET_ITEM(mro, i); - dict = ((PyTypeObject *)base)->tp_dict; - meth = __Pyx_PyDict_GetItemStrWithError(dict, __pyx_n_s_init_subclass); - if (unlikely(meth)) { - descrgetfunc f = Py_TYPE(meth)->tp_descr_get; - PyObject *res; - Py_INCREF(meth); - if (likely(f)) { - res = f(meth, NULL, type_obj); - Py_DECREF(meth); - if (unlikely(!res)) goto bad; - meth = res; - } - res = __Pyx_PyObject_FastCallDict(meth, NULL, 0, mkw); - Py_DECREF(meth); - if (unlikely(!res)) goto bad; - Py_DECREF(res); - goto done; - } else if (unlikely(PyErr_Occurred())) { - goto bad; - } - } -done: - Py_XDECREF(mro); - return type_obj; -bad: - Py_XDECREF(mro); - Py_DECREF(type_obj); - return NULL; -#else - PyObject *super_type, *super, *func, *res; -#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type) - super_type = __Pyx_GetBuiltinName(__pyx_n_s_super); -#else - super_type = (PyObject*) &PySuper_Type; - (void) &__Pyx_GetBuiltinName; -#endif - super = likely(super_type) ? __Pyx_PyObject_Call2Args(super_type, type_obj, type_obj) : NULL; -#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type) - Py_XDECREF(super_type); -#endif - if (unlikely(!super)) { - Py_CLEAR(type_obj); - goto done; - } - func = __Pyx_PyObject_GetAttrStrNoError(super, __pyx_n_s_init_subclass); - Py_DECREF(super); - if (likely(!func)) { - if (unlikely(PyErr_Occurred())) - Py_CLEAR(type_obj); - goto done; - } - res = __Pyx_PyObject_FastCallDict(func, NULL, 0, mkw); - Py_DECREF(func); - if (unlikely(!res)) - Py_CLEAR(type_obj); - Py_XDECREF(res); -done: - return type_obj; -#endif -} -#endif -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, - PyObject *dict, PyObject *mkw, - int calculate_metaclass, int allow_py2_metaclass) { - PyObject *result; - PyObject *owned_metaclass = NULL; - PyObject *margs[4] = {NULL, name, bases, dict}; - if (allow_py2_metaclass) { - owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass); - if (owned_metaclass) { - metaclass = owned_metaclass; - } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) { - PyErr_Clear(); - } else { - return NULL; - } - } - if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) { - metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases); - Py_XDECREF(owned_metaclass); - if (unlikely(!metaclass)) - return NULL; - owned_metaclass = metaclass; - } - result = __Pyx_PyObject_FastCallDict(metaclass, margs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, -#if PY_VERSION_HEX < 0x030600A4 - (metaclass == (PyObject*)&PyType_Type) ? NULL : mkw -#else - mkw -#endif - ); - Py_XDECREF(owned_metaclass); -#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS - if (likely(result) && likely(PyType_Check(result))) { - if (unlikely(__Pyx_SetNamesPEP487(result) < 0)) { - Py_CLEAR(result); - } else { - result = __Pyx_InitSubclassPEP487(result, mkw); - } - } -#else - (void) &__Pyx_GetBuiltinName; -#endif - return result; -} - -/* PyVectorcallFastCallDict */ - #if CYTHON_METH_FASTCALL -static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - PyObject *res = NULL; - PyObject *kwnames; - PyObject **newargs; - PyObject **kwvalues; - Py_ssize_t i, pos; - size_t j; - PyObject *key, *value; - unsigned long keys_are_strings; - Py_ssize_t nkw = PyDict_GET_SIZE(kw); - newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0])); - if (unlikely(newargs == NULL)) { - PyErr_NoMemory(); - return NULL; - } - for (j = 0; j < nargs; j++) newargs[j] = args[j]; - kwnames = PyTuple_New(nkw); - if (unlikely(kwnames == NULL)) { - PyMem_Free(newargs); - return NULL; - } - kwvalues = newargs + nargs; - pos = i = 0; - keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS; - while (PyDict_Next(kw, &pos, &key, &value)) { - keys_are_strings &= Py_TYPE(key)->tp_flags; - Py_INCREF(key); - Py_INCREF(value); - PyTuple_SET_ITEM(kwnames, i, key); - kwvalues[i] = value; - i++; - } - if (unlikely(!keys_are_strings)) { - PyErr_SetString(PyExc_TypeError, "keywords must be strings"); - goto cleanup; - } - res = vc(func, newargs, nargs, kwnames); -cleanup: - Py_DECREF(kwnames); - for (i = 0; i < nkw; i++) - Py_DECREF(kwvalues[i]); - PyMem_Free(newargs); - return res; -} -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) { - return vc(func, args, nargs, NULL); - } - return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw); -} -#endif - -/* CythonFunctionShared */ - #if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - if (__Pyx_CyFunction_Check(func)) { - return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc; - } else if (PyCFunction_Check(func)) { - return PyCFunction_GetFunction(func) == (PyCFunction) cfunc; - } - return 0; -} -#else -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -} -#endif -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) { -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - __Pyx_Py_XDECREF_SET( - __Pyx_CyFunction_GetClassObj(f), - ((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#else - __Pyx_Py_XDECREF_SET( - ((PyCMethodObject *) (f))->mm_class, - (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#endif -} -static PyObject * -__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure) -{ - CYTHON_UNUSED_VAR(closure); - if (unlikely(op->func_doc == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_doc = PyObject_GetAttrString(op->func, "__doc__"); - if (unlikely(!op->func_doc)) return NULL; -#else - if (((PyCFunctionObject*)op)->m_ml->ml_doc) { -#if PY_MAJOR_VERSION >= 3 - op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#else - op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#endif - if (unlikely(op->func_doc == NULL)) - return NULL; - } else { - Py_INCREF(Py_None); - return Py_None; - } -#endif - } - Py_INCREF(op->func_doc); - return op->func_doc; -} -static int -__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (value == NULL) { - value = Py_None; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_doc, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_name == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_name = PyObject_GetAttrString(op->func, "__name__"); -#elif PY_MAJOR_VERSION >= 3 - op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#else - op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#endif - if (unlikely(op->func_name == NULL)) - return NULL; - } - Py_INCREF(op->func_name); - return op->func_name; -} -static int -__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_name, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_qualname); - return op->func_qualname; -} -static int -__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_qualname, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_dict == NULL)) { - op->func_dict = PyDict_New(); - if (unlikely(op->func_dict == NULL)) - return NULL; - } - Py_INCREF(op->func_dict); - return op->func_dict; -} -static int -__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(value == NULL)) { - PyErr_SetString(PyExc_TypeError, - "function's dictionary may not be deleted"); - return -1; - } - if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "setting function's dictionary to a non-dict"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_dict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_globals); - return op->func_globals; -} -static PyObject * -__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(op); - CYTHON_UNUSED_VAR(context); - Py_INCREF(Py_None); - return Py_None; -} -static PyObject * -__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context) -{ - PyObject* result = (op->func_code) ? op->func_code : Py_None; - CYTHON_UNUSED_VAR(context); - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { - int result = 0; - PyObject *res = op->defaults_getter((PyObject *) op); - if (unlikely(!res)) - return -1; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - op->defaults_tuple = PyTuple_GET_ITEM(res, 0); - Py_INCREF(op->defaults_tuple); - op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); - Py_INCREF(op->defaults_kwdict); - #else - op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0); - if (unlikely(!op->defaults_tuple)) result = -1; - else { - op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1); - if (unlikely(!op->defaults_kwdict)) result = -1; - } - #endif - Py_DECREF(res); - return result; -} -static int -__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyTuple_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__defaults__ must be set to a tuple object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_tuple, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_tuple; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_tuple; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__kwdefaults__ must be set to a dict object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_kwdict; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_kwdict; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value || value == Py_None) { - value = NULL; - } else if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__annotations__ must be set to a dict object"); - return -1; - } - Py_XINCREF(value); - __Pyx_Py_XDECREF_SET(op->func_annotations, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->func_annotations; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - result = PyDict_New(); - if (unlikely(!result)) return NULL; - op->func_annotations = result; - } - Py_INCREF(result); - return result; -} -static PyObject * -__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) { - int is_coroutine; - CYTHON_UNUSED_VAR(context); - if (op->func_is_coroutine) { - return __Pyx_NewRef(op->func_is_coroutine); - } - is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE; -#if PY_VERSION_HEX >= 0x03050000 - if (is_coroutine) { - PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine; - fromlist = PyList_New(1); - if (unlikely(!fromlist)) return NULL; - Py_INCREF(marker); -#if CYTHON_ASSUME_SAFE_MACROS - PyList_SET_ITEM(fromlist, 0, marker); -#else - if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) { - Py_DECREF(marker); - Py_DECREF(fromlist); - return NULL; - } -#endif - module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0); - Py_DECREF(fromlist); - if (unlikely(!module)) goto ignore; - op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker); - Py_DECREF(module); - if (likely(op->func_is_coroutine)) { - return __Pyx_NewRef(op->func_is_coroutine); - } -ignore: - PyErr_Clear(); - } -#endif - op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine); - return __Pyx_NewRef(op->func_is_coroutine); -} -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject * -__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_GetAttrString(op->func, "__module__"); -} -static int -__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_SetAttrString(op->func, "__module__", value); -} -#endif -static PyGetSetDef __pyx_CyFunction_getsets[] = { - {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, - {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, - {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, - {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0}, -#if CYTHON_COMPILING_IN_LIMITED_API - {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyMemberDef __pyx_CyFunction_members[] = { -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0}, -#endif -#if CYTHON_USE_TYPE_SPECS - {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0}, -#if CYTHON_METH_FASTCALL -#if CYTHON_BACKPORT_VECTORCALL - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0}, -#else -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0}, -#endif -#endif -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0}, -#else - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0}, -#endif -#endif - {0, 0, 0, 0, 0} -}; -static PyObject * -__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args) -{ - CYTHON_UNUSED_VAR(args); -#if PY_MAJOR_VERSION >= 3 - Py_INCREF(m->func_qualname); - return m->func_qualname; -#else - return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name); -#endif -} -static PyMethodDef __pyx_CyFunction_methods[] = { - {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, - {0, 0, 0, 0} -}; -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) -#else -#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist) -#endif -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { -#if !CYTHON_COMPILING_IN_LIMITED_API - PyCFunctionObject *cf = (PyCFunctionObject*) op; -#endif - if (unlikely(op == NULL)) - return NULL; -#if CYTHON_COMPILING_IN_LIMITED_API - op->func = PyCFunction_NewEx(ml, (PyObject*)op, module); - if (unlikely(!op->func)) return NULL; -#endif - op->flags = flags; - __Pyx_CyFunction_weakreflist(op) = NULL; -#if !CYTHON_COMPILING_IN_LIMITED_API - cf->m_ml = ml; - cf->m_self = (PyObject *) op; -#endif - Py_XINCREF(closure); - op->func_closure = closure; -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_XINCREF(module); - cf->m_module = module; -#endif - op->func_dict = NULL; - op->func_name = NULL; - Py_INCREF(qualname); - op->func_qualname = qualname; - op->func_doc = NULL; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - op->func_classobj = NULL; -#else - ((PyCMethodObject*)op)->mm_class = NULL; -#endif - op->func_globals = globals; - Py_INCREF(op->func_globals); - Py_XINCREF(code); - op->func_code = code; - op->defaults_pyobjects = 0; - op->defaults_size = 0; - op->defaults = NULL; - op->defaults_tuple = NULL; - op->defaults_kwdict = NULL; - op->defaults_getter = NULL; - op->func_annotations = NULL; - op->func_is_coroutine = NULL; -#if CYTHON_METH_FASTCALL - switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) { - case METH_NOARGS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS; - break; - case METH_O: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O; - break; - case METH_METHOD | METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD; - break; - case METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS; - break; - case METH_VARARGS | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = NULL; - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - Py_DECREF(op); - return NULL; - } -#endif - return (PyObject *) op; -} -static int -__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) -{ - Py_CLEAR(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_CLEAR(m->func); -#else - Py_CLEAR(((PyCFunctionObject*)m)->m_module); -#endif - Py_CLEAR(m->func_dict); - Py_CLEAR(m->func_name); - Py_CLEAR(m->func_qualname); - Py_CLEAR(m->func_doc); - Py_CLEAR(m->func_globals); - Py_CLEAR(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API -#if PY_VERSION_HEX < 0x030900B1 - Py_CLEAR(__Pyx_CyFunction_GetClassObj(m)); -#else - { - PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class; - ((PyCMethodObject *) (m))->mm_class = NULL; - Py_XDECREF(cls); - } -#endif -#endif - Py_CLEAR(m->defaults_tuple); - Py_CLEAR(m->defaults_kwdict); - Py_CLEAR(m->func_annotations); - Py_CLEAR(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_XDECREF(pydefaults[i]); - PyObject_Free(m->defaults); - m->defaults = NULL; - } - return 0; -} -static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - if (__Pyx_CyFunction_weakreflist(m) != NULL) - PyObject_ClearWeakRefs((PyObject *) m); - __Pyx_CyFunction_clear(m); - __Pyx_PyHeapTypeObject_GC_Del(m); -} -static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - PyObject_GC_UnTrack(m); - __Pyx__CyFunction_dealloc(m); -} -static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) -{ - Py_VISIT(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(m->func); -#else - Py_VISIT(((PyCFunctionObject*)m)->m_module); -#endif - Py_VISIT(m->func_dict); - Py_VISIT(m->func_name); - Py_VISIT(m->func_qualname); - Py_VISIT(m->func_doc); - Py_VISIT(m->func_globals); - Py_VISIT(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(__Pyx_CyFunction_GetClassObj(m)); -#endif - Py_VISIT(m->defaults_tuple); - Py_VISIT(m->defaults_kwdict); - Py_VISIT(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_VISIT(pydefaults[i]); - } - return 0; -} -static PyObject* -__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) -{ -#if PY_MAJOR_VERSION >= 3 - return PyUnicode_FromFormat("", - op->func_qualname, (void *)op); -#else - return PyString_FromFormat("", - PyString_AsString(op->func_qualname), (void *)op); -#endif -} -static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *f = ((__pyx_CyFunctionObject*)func)->func; - PyObject *py_name = NULL; - PyCFunction meth; - int flags; - meth = PyCFunction_GetFunction(f); - if (unlikely(!meth)) return NULL; - flags = PyCFunction_GetFlags(f); - if (unlikely(flags < 0)) return NULL; -#else - PyCFunctionObject* f = (PyCFunctionObject*)func; - PyCFunction meth = f->m_ml->ml_meth; - int flags = f->m_ml->ml_flags; -#endif - Py_ssize_t size; - switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { - case METH_VARARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) - return (*meth)(self, arg); - break; - case METH_VARARGS | METH_KEYWORDS: - return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); - case METH_NOARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 0)) - return (*meth)(self, NULL); -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - case METH_O: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 1)) { - PyObject *result, *arg0; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - arg0 = PyTuple_GET_ITEM(arg, 0); - #else - arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; - #endif - result = (*meth)(self, arg0); - #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(arg0); - #endif - return result; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - return NULL; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments", - py_name); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", - f->m_ml->ml_name); -#endif - return NULL; -} -static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *self, *result; -#if CYTHON_COMPILING_IN_LIMITED_API - self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func); - if (unlikely(!self) && PyErr_Occurred()) return NULL; -#else - self = ((PyCFunctionObject*)func)->m_self; -#endif - result = __Pyx_CyFunction_CallMethod(func, self, arg, kw); - return result; -} -static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { - PyObject *result; - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; -#if CYTHON_METH_FASTCALL - __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc); - if (vc) { -#if CYTHON_ASSUME_SAFE_MACROS - return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw); -#else - (void) &__Pyx_PyVectorcall_FastCallDict; - return PyVectorcall_Call(func, args, kw); -#endif - } -#endif - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - Py_ssize_t argc; - PyObject *new_args; - PyObject *self; -#if CYTHON_ASSUME_SAFE_MACROS - argc = PyTuple_GET_SIZE(args); -#else - argc = PyTuple_Size(args); - if (unlikely(!argc) < 0) return NULL; -#endif - new_args = PyTuple_GetSlice(args, 1, argc); - if (unlikely(!new_args)) - return NULL; - self = PyTuple_GetItem(args, 0); - if (unlikely(!self)) { - Py_DECREF(new_args); -#if PY_MAJOR_VERSION > 2 - PyErr_Format(PyExc_TypeError, - "unbound method %.200S() needs an argument", - cyfunc->func_qualname); -#else - PyErr_SetString(PyExc_TypeError, - "unbound method needs an argument"); -#endif - return NULL; - } - result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); - Py_DECREF(new_args); - } else { - result = __Pyx_CyFunction_Call(func, args, kw); - } - return result; -} -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames) -{ - int ret = 0; - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - if (unlikely(nargs < 1)) { - PyErr_Format(PyExc_TypeError, "%.200s() needs an argument", - ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - ret = 1; - } - if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - return ret; -} -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 0)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, NULL); -} -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 1)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, args[0]); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; - PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc); -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames); -} -#endif -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CyFunctionType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc}, - {Py_tp_repr, (void *)__Pyx_CyFunction_repr}, - {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod}, - {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse}, - {Py_tp_clear, (void *)__Pyx_CyFunction_clear}, - {Py_tp_methods, (void *)__pyx_CyFunction_methods}, - {Py_tp_members, (void *)__pyx_CyFunction_members}, - {Py_tp_getset, (void *)__pyx_CyFunction_getsets}, - {Py_tp_descr_get, (void *)__Pyx_PyMethod_New}, - {0, 0}, -}; -static PyType_Spec __pyx_CyFunctionType_spec = { - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL) - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - __pyx_CyFunctionType_slots -}; -#else -static PyTypeObject __pyx_CyFunctionType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, - (destructor) __Pyx_CyFunction_dealloc, -#if !CYTHON_METH_FASTCALL - 0, -#elif CYTHON_BACKPORT_VECTORCALL - (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall), -#else - offsetof(PyCFunctionObject, vectorcall), -#endif - 0, - 0, -#if PY_MAJOR_VERSION < 3 - 0, -#else - 0, -#endif - (reprfunc) __Pyx_CyFunction_repr, - 0, - 0, - 0, - 0, - __Pyx_CyFunction_CallAsMethod, - 0, - 0, - 0, - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - 0, - (traverseproc) __Pyx_CyFunction_traverse, - (inquiry) __Pyx_CyFunction_clear, - 0, -#if PY_VERSION_HEX < 0x030500A0 - offsetof(__pyx_CyFunctionObject, func_weakreflist), -#else - offsetof(PyCFunctionObject, m_weakreflist), -#endif - 0, - 0, - __pyx_CyFunction_methods, - __pyx_CyFunction_members, - __pyx_CyFunction_getsets, - 0, - 0, - __Pyx_PyMethod_New, - 0, - offsetof(__pyx_CyFunctionObject, func_dict), - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_CyFunction_init(PyObject *module) { -#if CYTHON_USE_TYPE_SPECS - __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL); -#else - CYTHON_UNUSED_VAR(module); - __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); -#endif - if (unlikely(__pyx_CyFunctionType == NULL)) { - return -1; - } - return 0; -} -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults = PyObject_Malloc(size); - if (unlikely(!m->defaults)) - return PyErr_NoMemory(); - memset(m->defaults, 0, size); - m->defaults_pyobjects = pyobjects; - m->defaults_size = size; - return m->defaults; -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_tuple = tuple; - Py_INCREF(tuple); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_kwdict = dict; - Py_INCREF(dict); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->func_annotations = dict; - Py_INCREF(dict); -} - -/* CythonFunction */ - static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - PyObject *op = __Pyx_CyFunction_Init( - PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), - ml, flags, qualname, closure, module, globals, code - ); - if (likely(op)) { - PyObject_GC_Track(op); - } - return op; -} - -/* CLineInTraceback */ - #ifndef CYTHON_CLINE_IN_TRACEBACK -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { - PyObject *use_cline; - PyObject *ptype, *pvalue, *ptraceback; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject **cython_runtime_dict; -#endif - CYTHON_MAYBE_UNUSED_VAR(tstate); - if (unlikely(!__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); -#if CYTHON_COMPILING_IN_CPYTHON - cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, *cython_runtime_dict, - __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) - } else -#endif - { - PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); - if (use_cline_obj) { - use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; - Py_DECREF(use_cline_obj); - } else { - PyErr_Clear(); - use_cline = NULL; - } - } - if (!use_cline) { - c_line = 0; - (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); - } - else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache */ - #if !CYTHON_COMPILING_IN_LIMITED_API -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static PyCodeObject *__pyx_find_code_object(int code_line) { - PyCodeObject* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { - return NULL; - } - code_object = __pyx_code_cache.entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = 64; - __pyx_code_cache.count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { - PyCodeObject* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_DECREF(tmp); - return; - } - if (__pyx_code_cache.count == __pyx_code_cache.max_count) { - int new_max = __pyx_code_cache.max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = new_max; - } - for (i=__pyx_code_cache.count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - __pyx_code_cache.count++; - Py_INCREF(code_object); -} -#endif - -/* AddTraceback */ - #include "compile.h" -#include "frameobject.h" -#include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict, - PyObject *firstlineno, PyObject *name) { - PyObject *replace = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL; - replace = PyObject_GetAttrString(code, "replace"); - if (likely(replace)) { - PyObject *result; - result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict); - Py_DECREF(replace); - return result; - } - PyErr_Clear(); - #if __PYX_LIMITED_VERSION_HEX < 0x030780000 - { - PyObject *compiled = NULL, *result = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL; - compiled = Py_CompileString( - "out = type(code)(\n" - " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n" - " code.co_flags, code.co_code, code.co_consts, code.co_names,\n" - " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n" - " code.co_lnotab)\n", "", Py_file_input); - if (!compiled) return NULL; - result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict); - Py_DECREF(compiled); - if (!result) PyErr_Print(); - Py_DECREF(result); - result = PyDict_GetItemString(scratch_dict, "out"); - if (result) Py_INCREF(result); - return result; - } - #else - return NULL; - #endif -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL; - PyObject *replace = NULL, *getframe = NULL, *frame = NULL; - PyObject *exc_type, *exc_value, *exc_traceback; - int success = 0; - if (c_line) { - (void) __pyx_cfilenm; - (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line); - } - PyErr_Fetch(&exc_type, &exc_value, &exc_traceback); - code_object = Py_CompileString("_getframe()", filename, Py_eval_input); - if (unlikely(!code_object)) goto bad; - py_py_line = PyLong_FromLong(py_line); - if (unlikely(!py_py_line)) goto bad; - py_funcname = PyUnicode_FromString(funcname); - if (unlikely(!py_funcname)) goto bad; - dict = PyDict_New(); - if (unlikely(!dict)) goto bad; - { - PyObject *old_code_object = code_object; - code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname); - Py_DECREF(old_code_object); - } - if (unlikely(!code_object)) goto bad; - getframe = PySys_GetObject("_getframe"); - if (unlikely(!getframe)) goto bad; - if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad; - frame = PyEval_EvalCode(code_object, dict, dict); - if (unlikely(!frame) || frame == Py_None) goto bad; - success = 1; - bad: - PyErr_Restore(exc_type, exc_value, exc_traceback); - Py_XDECREF(code_object); - Py_XDECREF(py_py_line); - Py_XDECREF(py_funcname); - Py_XDECREF(dict); - Py_XDECREF(replace); - if (success) { - PyTraceBack_Here( - (struct _frame*)frame); - } - Py_XDECREF(frame); -} -#else -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = NULL; - PyObject *py_funcname = NULL; - #if PY_MAJOR_VERSION < 3 - PyObject *py_srcfile = NULL; - py_srcfile = PyString_FromString(filename); - if (!py_srcfile) goto bad; - #endif - if (c_line) { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - #else - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - funcname = PyUnicode_AsUTF8(py_funcname); - if (!funcname) goto bad; - #endif - } - else { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromString(funcname); - if (!py_funcname) goto bad; - #endif - } - #if PY_MAJOR_VERSION < 3 - py_code = __Pyx_PyCode_New( - 0, - 0, - 0, - 0, - 0, - 0, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - py_line, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); - Py_DECREF(py_srcfile); - #else - py_code = PyCode_NewEmpty(filename, funcname, py_line); - #endif - Py_XDECREF(py_funcname); - return py_code; -bad: - Py_XDECREF(py_funcname); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_srcfile); - #endif - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject *ptype, *pvalue, *ptraceback; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) { - /* If the code object creation fails, then we should clear the - fetched exception references and propagate the new exception */ - Py_XDECREF(ptype); - Py_XDECREF(pvalue); - Py_XDECREF(ptraceback); - goto bad; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} -#endif - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *from_bytes, *result = NULL; - PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL; - from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes"); - if (!from_bytes) return NULL; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long)); - if (!py_bytes) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - arg_tuple = PyTuple_Pack(2, py_bytes, order_str); - if (!arg_tuple) goto limited_bad; - if (!is_unsigned) { - kwds = PyDict_New(); - if (!kwds) goto limited_bad; - if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad; - } - result = PyObject_Call(from_bytes, arg_tuple, kwds); - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(arg_tuple); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes); - return result; -#endif - } -} - -/* FormatTypeName */ - #if CYTHON_COMPILING_IN_LIMITED_API -static __Pyx_TypeName -__Pyx_PyType_GetName(PyTypeObject* tp) -{ - PyObject *name = __Pyx_PyObject_GetAttrStr((PyObject *)tp, - __pyx_n_s_name); - if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) { - PyErr_Clear(); - Py_XDECREF(name); - name = __Pyx_NewRef(__pyx_n_s__34); - } - return name; -} -#endif - -/* CIntFromPyVerify */ - #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* CIntFromPy */ - static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(long) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (long) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (long) -1; - val = __Pyx_PyInt_As_long(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(long) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(long) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - long val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (long) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (long) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (long) -1; - } else { - stepval = v; - } - v = NULL; - val = (long) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((long) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((long) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (long) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to long"); - return (long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int) -1; - val = __Pyx_PyInt_As_int(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(int) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(int) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - int val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (int) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (int) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (int) -1; - } else { - stepval = v; - } - v = NULL; - val = (int) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((int) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((int) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (int) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); - return (int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; -} - -/* FastTypeChecks */ - #if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*); - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (cls == a || cls == b) return 1; - mro = cls->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - PyObject *base = PyTuple_GET_ITEM(mro, i); - if (base == (PyObject *)a || base == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b); -} -#if PY_MAJOR_VERSION == 2 -static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { - PyObject *exception, *value, *tb; - int res; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&exception, &value, &tb); - res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - if (!res) { - res = PyObject_IsSubclass(err, exc_type2); - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - } - __Pyx_ErrRestore(exception, value, tb); - return res; -} -#else -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - if (exc_type1) { - return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2); - } else { - return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } -} -#endif -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i= 0x030B00A4 - return Py_Version & ~0xFFUL; -#else - const char* rt_version = Py_GetVersion(); - unsigned long version = 0; - unsigned long factor = 0x01000000UL; - unsigned int digit = 0; - int i = 0; - while (factor) { - while ('0' <= rt_version[i] && rt_version[i] <= '9') { - digit = digit * 10 + (unsigned int) (rt_version[i] - '0'); - ++i; - } - version += factor * digit; - if (rt_version[i] != '.') - break; - digit = 0; - factor >>= 8; - ++i; - } - return version; -#endif -} -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) { - const unsigned long MAJOR_MINOR = 0xFFFF0000UL; - if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR)) - return 0; - if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR))) - return 1; - { - char message[200]; - PyOS_snprintf(message, sizeof(message), - "compile time Python version %d.%d " - "of module '%.100s' " - "%s " - "runtime version %d.%d", - (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF), - __Pyx_MODULE_NAME, - (allow_newer) ? "was newer than" : "does not match", - (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF) - ); - return PyErr_WarnEx(NULL, message, 1); - } -} - -/* InitStrings */ - #if PY_MAJOR_VERSION >= 3 -static int __Pyx_InitString(__Pyx_StringTabEntry t, PyObject **str) { - if (t.is_unicode | t.is_str) { - if (t.intern) { - *str = PyUnicode_InternFromString(t.s); - } else if (t.encoding) { - *str = PyUnicode_Decode(t.s, t.n - 1, t.encoding, NULL); - } else { - *str = PyUnicode_FromStringAndSize(t.s, t.n - 1); - } - } else { - *str = PyBytes_FromStringAndSize(t.s, t.n - 1); - } - if (!*str) - return -1; - if (PyObject_Hash(*str) == -1) - return -1; - return 0; -} -#endif -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { - while (t->p) { - #if PY_MAJOR_VERSION >= 3 - __Pyx_InitString(*t, t->p); - #else - if (t->is_unicode) { - *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); - } else if (t->intern) { - *t->p = PyString_InternFromString(t->s); - } else { - *t->p = PyString_FromStringAndSize(t->s, t->n - 1); - } - if (!*t->p) - return -1; - if (PyObject_Hash(*t->p) == -1) - return -1; - #endif - ++t; - } - return 0; -} - -#include -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) { - size_t len = strlen(s); - if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) { - PyErr_SetString(PyExc_OverflowError, "byte string is too long"); - return -1; - } - return (Py_ssize_t) len; -} -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return __Pyx_PyUnicode_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return PyByteArray_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#if !CYTHON_PEP393_ENABLED -static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - char* defenc_c; - PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); - if (!defenc) return NULL; - defenc_c = PyBytes_AS_STRING(defenc); -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - { - char* end = defenc_c + PyBytes_GET_SIZE(defenc); - char* c; - for (c = defenc_c; c < end; c++) { - if ((unsigned char) (*c) >= 128) { - PyUnicode_AsASCIIString(o); - return NULL; - } - } - } -#endif - *length = PyBytes_GET_SIZE(defenc); - return defenc_c; -} -#else -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -} -#endif -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT - if ( -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - __Pyx_sys_getdefaultencoding_not_ascii && -#endif - PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif -#if (!CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) - if (PyByteArray_Check(o)) { - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); - } else -#endif - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { - __Pyx_TypeName result_type_name = __Pyx_PyType_GetName(Py_TYPE(result)); -#if PY_MAJOR_VERSION >= 3 - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type " __Pyx_FMT_TYPENAME "). " - "The ability to return an instance of a strict subclass of int is deprecated, " - "and may be removed in a future version of Python.", - result_type_name)) { - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; - } - __Pyx_DECREF_TypeName(result_type_name); - return result; - } -#endif - PyErr_Format(PyExc_TypeError, - "__%.4s__ returned non-%.4s (type " __Pyx_FMT_TYPENAME ")", - type_name, type_name, result_type_name); - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - const char *name = NULL; - PyObject *res = NULL; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x) || PyLong_Check(x))) -#else - if (likely(PyLong_Check(x))) -#endif - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - #if PY_MAJOR_VERSION < 3 - if (m && m->nb_int) { - name = "int"; - res = m->nb_int(x); - } - else if (m && m->nb_long) { - name = "long"; - res = m->nb_long(x); - } - #else - if (likely(m && m->nb_int)) { - name = "int"; - res = m->nb_int(x); - } - #endif -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Int(x); - } -#endif - if (likely(res)) { -#if PY_MAJOR_VERSION < 3 - if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { -#else - if (unlikely(!PyLong_CheckExact(res))) { -#endif - return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - Py_ssize_t ival; - PyObject *x; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(b))) { - if (sizeof(Py_ssize_t) >= sizeof(long)) - return PyInt_AS_LONG(b); - else - return PyInt_AsSsize_t(b); - } -#endif - if (likely(PyLong_CheckExact(b))) { - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(__Pyx_PyLong_IsCompact(b))) { - return __Pyx_PyLong_CompactValue(b); - } else { - const digit* digits = __Pyx_PyLong_Digits(b); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b); - switch (size) { - case 2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - } - } - #endif - return PyLong_AsSsize_t(b); - } - x = PyNumber_Index(b); - if (!x) return -1; - ival = PyInt_AsSsize_t(x); - Py_DECREF(x); - return ival; -} -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { - if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { - return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); -#if PY_MAJOR_VERSION < 3 - } else if (likely(PyInt_CheckExact(o))) { - return PyInt_AS_LONG(o); -#endif - } else { - Py_ssize_t ival; - PyObject *x; - x = PyNumber_Index(o); - if (!x) return -1; - ival = PyInt_AsLong(x); - Py_DECREF(x); - return ival; - } -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { - return PyInt_FromSize_t(ival); -} - - -/* #### Code section: utility_code_pragmas_end ### */ -#ifdef _MSC_VER -#pragma warning( pop ) -#endif - - - -/* #### Code section: end ### */ -#endif /* Py_PYTHON_H */ diff --git a/handlers/payments/stars_pay.cpython-312-x86_64-linux-gnu.so b/handlers/payments/stars_pay.cpython-312-x86_64-linux-gnu.so old mode 100755 new mode 100644 index e54c33048c50b36a1d41ae3a07afe3e8e80e0798..b06061d7a0329fe0bc2afb61ab51fb9a1f755d95 GIT binary patch literal 434008 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

gUSi_SEi@jgm&*>GO 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 YvDf5iM)kXybTR#Zv)K~w%BR-<3+&$AssI20 literal 231016 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 0x03030000 - #define Py_LIMITED_API CYTHON_LIMITED_API - #else - #define Py_LIMITED_API 0x03030000 - #endif - #endif -#endif - -#include "Python.h" -#ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) - #error Cython requires Python 2.7+ or Python 3.3+. -#else -#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API -#define __PYX_EXTRA_ABI_MODULE_NAME "limited" -#else -#define __PYX_EXTRA_ABI_MODULE_NAME "" -#endif -#define CYTHON_ABI "3_0_12" __PYX_EXTRA_ABI_MODULE_NAME -#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI -#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "." -#define CYTHON_HEX_VERSION 0x03000CF0 -#define CYTHON_FUTURE_DIVISION 1 -#include -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef HAVE_LONG_LONG - #define HAVE_LONG_LONG -#endif -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX -#if defined(GRAALVM_PYTHON) - /* For very preliminary testing purposes. Most variables are set the same as PyPy. - The existence of this section does not imply that anything works or is even tested */ - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 1 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(PYPY_VERSION) - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #if PY_VERSION_HEX < 0x03090000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00) - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(CYTHON_LIMITED_API) - #ifdef Py_LIMITED_API - #undef __PYX_LIMITED_VERSION_HEX - #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API - #endif - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 1 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_CLINE_IN_TRACEBACK - #define CYTHON_CLINE_IN_TRACEBACK 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 1 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #endif - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 1 - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 1 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #ifndef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 1 - #endif - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 - #endif -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #ifndef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #if PY_MAJOR_VERSION < 3 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #ifndef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #ifndef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #ifndef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL (PY_MAJOR_VERSION < 3 || PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030C00A6) - #endif - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL (PY_VERSION_HEX >= 0x030700A1) - #endif - #ifndef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 1 - #endif - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #if PY_VERSION_HEX < 0x030400a1 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #elif !defined(CYTHON_USE_TP_FINALIZE) - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #if PY_VERSION_HEX < 0x030600B1 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #elif !defined(CYTHON_USE_DICT_VERSIONS) - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX < 0x030C00A5) - #endif - #if PY_VERSION_HEX < 0x030700A3 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #elif !defined(CYTHON_USE_EXC_INFO_STACK) - #define CYTHON_USE_EXC_INFO_STACK 1 - #endif - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 1 - #endif -#endif -#if !defined(CYTHON_FAST_PYCCALL) -#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) -#endif -#if !defined(CYTHON_VECTORCALL) -#define CYTHON_VECTORCALL (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1) -#endif -#define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1) -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_MAJOR_VERSION < 3 - #include "longintrepr.h" - #endif - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(maybe_unused) - #define CYTHON_UNUSED [[maybe_unused]] - #endif - #endif - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR - #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x) -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_USE_CPP_STD_MOVE - #if defined(__cplusplus) && (\ - __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)) - #define CYTHON_USE_CPP_STD_MOVE 1 - #else - #define CYTHON_USE_CPP_STD_MOVE 0 - #endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#ifdef _MSC_VER - #ifndef _MSC_STDINT_H_ - #if _MSC_VER < 1300 - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - typedef unsigned int uint32_t; - #else - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; - #endif - #endif - #if _MSC_VER < 1300 - #ifdef _WIN64 - typedef unsigned long long __pyx_uintptr_t; - #else - typedef unsigned int __pyx_uintptr_t; - #endif - #else - #ifdef _WIN64 - typedef unsigned __int64 __pyx_uintptr_t; - #else - typedef unsigned __int32 __pyx_uintptr_t; - #endif - #endif -#else - #include - typedef uintptr_t __pyx_uintptr_t; -#endif -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(fallthrough) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif -#ifdef __cplusplus - template - struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);}; - #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL::value) -#else - #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0) -#endif -#if CYTHON_COMPILING_IN_PYPY == 1 - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000) -#else - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000) -#endif -#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer)) - -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" - #define __Pyx_DefaultClassType PyClass_Type - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" - #define __Pyx_DefaultClassType PyType_Type -#if CYTHON_COMPILING_IN_LIMITED_API - static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyObject *exception_table = NULL; - PyObject *types_module=NULL, *code_type=NULL, *result=NULL; - #if __PYX_LIMITED_VERSION_HEX < 0x030B0000 - PyObject *version_info; - PyObject *py_minor_version = NULL; - #endif - long minor_version = 0; - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); - #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000 - minor_version = 11; - #else - if (!(version_info = PySys_GetObject("version_info"))) goto end; - if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end; - minor_version = PyLong_AsLong(py_minor_version); - Py_DECREF(py_minor_version); - if (minor_version == -1 && PyErr_Occurred()) goto end; - #endif - if (!(types_module = PyImport_ImportModule("types"))) goto end; - if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end; - if (minor_version <= 7) { - (void)p; - result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else if (minor_version <= 10) { - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else { - if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end; - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell); - } - end: - Py_XDECREF(code_type); - Py_XDECREF(exception_table); - Py_XDECREF(types_module); - if (type) { - PyErr_Restore(type, value, traceback); - } - return result; - } - #ifndef CO_OPTIMIZED - #define CO_OPTIMIZED 0x0001 - #endif - #ifndef CO_NEWLOCALS - #define CO_NEWLOCALS 0x0002 - #endif - #ifndef CO_VARARGS - #define CO_VARARGS 0x0004 - #endif - #ifndef CO_VARKEYWORDS - #define CO_VARKEYWORDS 0x0008 - #endif - #ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x0200 - #endif - #ifndef CO_GENERATOR - #define CO_GENERATOR 0x0020 - #endif - #ifndef CO_COROUTINE - #define CO_COROUTINE 0x0080 - #endif -#elif PY_VERSION_HEX >= 0x030B0000 - static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyCodeObject *result; - PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); - if (!empty_bytes) return NULL; - result = - #if PY_VERSION_HEX >= 0x030C0000 - PyUnstable_Code_NewWithPosOnlyArgs - #else - PyCode_NewWithPosOnlyArgs - #endif - (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes); - Py_DECREF(empty_bytes); - return result; - } -#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif -#endif -#if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE) - #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type) -#else - #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is) - #define __Pyx_Py_Is(x, y) Py_Is(x, y) -#else - #define __Pyx_Py_Is(x, y) ((x) == (y)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone) - #define __Pyx_Py_IsNone(ob) Py_IsNone(ob) -#else - #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue) - #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob) -#else - #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse) - #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob) -#else - #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False) -#endif -#define __Pyx_NoneAsNull(obj) (__Pyx_Py_IsNone(obj) ? NULL : (obj)) -#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o) -#else - #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o) -#endif -#ifndef CO_COROUTINE - #define CO_COROUTINE 0x80 -#endif -#ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x200 -#endif -#ifndef Py_TPFLAGS_CHECKTYPES - #define Py_TPFLAGS_CHECKTYPES 0 -#endif -#ifndef Py_TPFLAGS_HAVE_INDEX - #define Py_TPFLAGS_HAVE_INDEX 0 -#endif -#ifndef Py_TPFLAGS_HAVE_NEWBUFFER - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef Py_TPFLAGS_SEQUENCE - #define Py_TPFLAGS_SEQUENCE 0 -#endif -#ifndef Py_TPFLAGS_MAPPING - #define Py_TPFLAGS_MAPPING 0 -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #if PY_VERSION_HEX >= 0x030d00A4 - # define __Pyx_PyCFunctionFast PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords - #else - # define __Pyx_PyCFunctionFast _PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords - #endif -#endif -#if CYTHON_METH_FASTCALL - #define __Pyx_METH_FASTCALL METH_FASTCALL - #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast - #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords -#else - #define __Pyx_METH_FASTCALL METH_VARARGS - #define __Pyx_PyCFunction_FastCall PyCFunction - #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords -#endif -#if CYTHON_VECTORCALL - #define __pyx_vectorcallfunc vectorcallfunc - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET PY_VECTORCALL_ARGUMENTS_OFFSET - #define __Pyx_PyVectorcall_NARGS(n) PyVectorcall_NARGS((size_t)(n)) -#elif CYTHON_BACKPORT_VECTORCALL - typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args, - size_t nargsf, PyObject *kwnames); - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET ((size_t)1 << (8 * sizeof(size_t) - 1)) - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)) -#else - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0 - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n)) -#endif -#if PY_MAJOR_VERSION >= 0x030900B1 -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func) -#else -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func) -#endif -#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func) -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth) -#elif !CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func) -#endif -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags) -static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) { - return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self; -} -#endif -static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) { -#if CYTHON_COMPILING_IN_LIMITED_API - return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc; -#else - return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -#endif -} -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc) -#if __PYX_LIMITED_VERSION_HEX < 0x030900B1 - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b)) - typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *); -#else - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) PyType_FromModuleAndSpec(m, s, b) - #define __Pyx_PyCMethod PyCMethod -#endif -#ifndef METH_METHOD - #define METH_METHOD 0x200 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyThreadState_Current PyThreadState_Get() -#elif !CYTHON_FAST_THREAD_STATE - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked() -#elif PY_VERSION_HEX >= 0x03060000 - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#elif PY_VERSION_HEX >= 0x03000000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_Current -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE void *__Pyx_PyModule_GetState(PyObject *op) -{ - void *result; - result = PyModule_GetState(op); - if (!result) - Py_FatalError("Couldn't find the module state"); - return result; -} -#endif -#define __Pyx_PyObject_GetSlot(obj, name, func_ctype) __Pyx_PyType_GetSlot(Py_TYPE(obj), name, func_ctype) -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((func_ctype) PyType_GetSlot((type), Py_##name)) -#else - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((type)->name) -#endif -#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) -#include "pythread.h" -#define Py_tss_NEEDS_INIT 0 -typedef int Py_tss_t; -static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { - *key = PyThread_create_key(); - return 0; -} -static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { - Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); - *key = Py_tss_NEEDS_INIT; - return key; -} -static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { - PyObject_Free(key); -} -static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { - return *key != Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { - PyThread_delete_key(*key); - *key = Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { - return PyThread_set_key_value(*key, value); -} -static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { - return PyThread_get_key_value(*key); -} -#endif -#if PY_MAJOR_VERSION < 3 - #if CYTHON_COMPILING_IN_PYPY - #if PYPY_VERSION_NUM < 0x07030600 - #if defined(__cplusplus) && __cplusplus >= 201402L - [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]] - #elif defined(__GNUC__) || defined(__clang__) - __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))) - #elif defined(_MSC_VER) - __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")) - #endif - static CYTHON_INLINE int PyGILState_Check(void) { - return 0; - } - #else // PYPY_VERSION_NUM < 0x07030600 - #endif // PYPY_VERSION_NUM < 0x07030600 - #else - static CYTHON_INLINE int PyGILState_Check(void) { - PyThreadState * tstate = _PyThreadState_Current; - return tstate && (tstate == PyGILState_GetThisThreadState()); - } - #endif -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION - #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#else - #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) { - PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name); - if (res == NULL) PyErr_Clear(); - return res; -} -#elif PY_MAJOR_VERSION >= 3 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000) -#define __Pyx_PyDict_GetItemStrWithError PyDict_GetItemWithError -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#else -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) { -#if CYTHON_COMPILING_IN_PYPY - return PyDict_GetItem(dict, name); -#else - PyDictEntry *ep; - PyDictObject *mp = (PyDictObject*) dict; - long hash = ((PyStringObject *) name)->ob_shash; - assert(hash != -1); - ep = (mp->ma_lookup)(mp, name, hash); - if (ep == NULL) { - return NULL; - } - return ep->me_value; -#endif -} -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#endif -#if CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyType_GetFlags(tp) (((PyTypeObject *)tp)->tp_flags) - #define __Pyx_PyType_HasFeature(type, feature) ((__Pyx_PyType_GetFlags(type) & (feature)) != 0) - #define __Pyx_PyObject_GetIterNextFunc(obj) (Py_TYPE(obj)->tp_iternext) -#else - #define __Pyx_PyType_GetFlags(tp) (PyType_GetFlags((PyTypeObject *)tp)) - #define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature) - #define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v) -#else - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v) -#endif -#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000 -#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\ - PyTypeObject *type = Py_TYPE((PyObject*)obj);\ - assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\ - PyObject_GC_Del(obj);\ - Py_DECREF(type);\ -} -#else -#define __Pyx_PyHeapTypeObject_GC_Del(obj) PyObject_GC_Del(obj) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define CYTHON_PEP393_ENABLED 1 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GetLength(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((void)u, 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((void)u, (0)) - #define __Pyx_PyUnicode_DATA(u) ((void*)u) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)k, PyUnicode_ReadChar((PyObject*)(d), i)) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GetLength(u)) -#elif PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) - #define CYTHON_PEP393_ENABLED 1 - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_READY(op) (0) - #else - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #endif - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) ((int)PyUnicode_KIND(u)) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, (Py_UCS4) ch) - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #else - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #endif - #endif -#else - #define CYTHON_PEP393_ENABLED 0 - #define PyUnicode_1BYTE_KIND 1 - #define PyUnicode_2BYTE_KIND 2 - #define PyUnicode_4BYTE_KIND 4 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535U : 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((int)sizeof(Py_UNICODE)) - #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = (Py_UNICODE) ch) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #if !defined(PyUnicode_DecodeUnicodeEscape) - #define PyUnicode_DecodeUnicodeEscape(s, size, errors) PyUnicode_Decode(s, size, "unicode_escape", errors) - #endif - #if !defined(PyUnicode_Contains) || (PY_MAJOR_VERSION == 2 && PYPY_VERSION_NUM < 0x07030500) - #undef PyUnicode_Contains - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) - #endif - #if !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) - #endif - #if !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) - #endif -#endif -#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) -#else - #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) -#endif -#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) - #define PyObject_ASCII(o) PyObject_Repr(o) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject - #define PyString_Type PyUnicode_Type - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact -#ifndef PyObject_Unicode - #define PyObject_Unicode PyObject_Str -#endif -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) - #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) -#else - #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) - #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) -#endif -#if CYTHON_COMPILING_IN_CPYTHON - #define __Pyx_PySequence_ListKeepNew(obj)\ - (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj)) -#else - #define __Pyx_PySequence_ListKeepNew(obj) PySequence_List(obj) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) __Pyx_IS_TYPE(obj, &PySet_Type) -#endif -#if PY_VERSION_HEX >= 0x030900A4 - #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) -#else - #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i) - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o) -#else - #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i) - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v) - #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o) -#endif -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name) -#else - static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) { - PyObject *module = PyImport_AddModule(name); - Py_XINCREF(module); - return module; - } -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type - #define PyInt_Check(op) PyLong_Check(op) - #define PyInt_CheckExact(op) PyLong_CheckExact(op) - #define __Pyx_Py3Int_Check(op) PyLong_Check(op) - #define __Pyx_Py3Int_CheckExact(op) PyLong_CheckExact(op) - #define PyInt_FromString PyLong_FromString - #define PyInt_FromUnicode PyLong_FromUnicode - #define PyInt_FromLong PyLong_FromLong - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_AsLong PyLong_AsLong - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsSsize_t PyLong_AsSsize_t - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #define PyNumber_Int PyNumber_Long -#else - #define __Pyx_Py3Int_Check(op) (PyLong_Check(op) || PyInt_Check(op)) - #define __Pyx_Py3Int_CheckExact(op) (PyLong_CheckExact(op) || PyInt_CheckExact(op)) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject -#endif -#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY - #ifndef PyUnicode_InternFromString - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) - #endif -#endif -#if PY_VERSION_HEX < 0x030200A4 - typedef long Py_hash_t; - #define __Pyx_PyInt_FromHash_t PyInt_FromLong - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t -#else - #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t -#endif -#if CYTHON_USE_ASYNC_SLOTS - #if PY_VERSION_HEX >= 0x030500B1 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods - #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) - #else - #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) - #endif -#else - #define __Pyx_PyType_AsAsync(obj) NULL -#endif -#ifndef __Pyx_PyAsyncMethodsStruct - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - } __Pyx_PyAsyncMethodsStruct; -#endif - -#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) - #if !defined(_USE_MATH_DEFINES) - #define _USE_MATH_DEFINES - #endif -#endif -#include -#ifdef NAN -#define __PYX_NAN() ((float) NAN) -#else -static CYTHON_INLINE float __PYX_NAN() { - float value; - memset(&value, 0xFF, sizeof(value)); - return value; -} -#endif -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#define __PYX_MARK_ERR_POS(f_index, lineno) \ - { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifdef CYTHON_EXTERN_C - #undef __PYX_EXTERN_C - #define __PYX_EXTERN_C CYTHON_EXTERN_C -#elif defined(__PYX_EXTERN_C) - #ifdef _MSC_VER - #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.") - #else - #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead. - #endif -#else - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__handlers__payments__utils -#define __PYX_HAVE_API__handlers__payments__utils -/* Early includes */ -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; - const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; - -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s); -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*); -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if PY_MAJOR_VERSION < 3 - #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#else - #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize -#endif -#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyObject_AsWritableString(s) ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -#define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o) -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) -#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); -#if CYTHON_ASSUME_SAFE_MACROS -#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#else -#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#endif -#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#else -#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_VERSION_HEX >= 0x030C00A7 - #ifndef _PyLong_SIGN_MASK - #define _PyLong_SIGN_MASK 3 - #endif - #ifndef _PyLong_NON_SIZE_BITS - #define _PyLong_NON_SIZE_BITS 3 - #endif - #define __Pyx_PyLong_Sign(x) (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK) - #define __Pyx_PyLong_IsNeg(x) ((__Pyx_PyLong_Sign(x) & 2) != 0) - #define __Pyx_PyLong_IsNonNeg(x) (!__Pyx_PyLong_IsNeg(x)) - #define __Pyx_PyLong_IsZero(x) (__Pyx_PyLong_Sign(x) & 1) - #define __Pyx_PyLong_IsPos(x) (__Pyx_PyLong_Sign(x) == 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) (__Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_SignedDigitCount(x)\ - ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x)) - #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue) - #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x) - #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x) - #else - #define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_CompactValue(x) ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0]) - #endif - typedef Py_ssize_t __Pyx_compact_pylong; - typedef size_t __Pyx_compact_upylong; - #else - #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0) - #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0) - #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0) - #define __Pyx_PyLong_IsPos(x) (Py_SIZE(x) > 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) __Pyx_sst_abs(Py_SIZE(x)) - #define __Pyx_PyLong_SignedDigitCount(x) Py_SIZE(x) - #define __Pyx_PyLong_IsCompact(x) (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1) - #define __Pyx_PyLong_CompactValue(x)\ - ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0])) - typedef sdigit __Pyx_compact_pylong; - typedef digit __Pyx_compact_upylong; - #endif - #if PY_VERSION_HEX >= 0x030C00A5 - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit) - #else - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->ob_digit) - #endif -#endif -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII -#include -static int __Pyx_sys_getdefaultencoding_not_ascii; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - PyObject* ascii_chars_u = NULL; - PyObject* ascii_chars_b = NULL; - const char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - if (strcmp(default_encoding_c, "ascii") == 0) { - __Pyx_sys_getdefaultencoding_not_ascii = 0; - } else { - char ascii_chars[128]; - int c; - for (c = 0; c < 128; c++) { - ascii_chars[c] = (char) c; - } - __Pyx_sys_getdefaultencoding_not_ascii = 1; - ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); - if (!ascii_chars_u) goto bad; - ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); - if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { - PyErr_Format( - PyExc_ValueError, - "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", - default_encoding_c); - goto bad; - } - Py_DECREF(ascii_chars_u); - Py_DECREF(ascii_chars_b); - } - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - Py_XDECREF(ascii_chars_u); - Py_XDECREF(ascii_chars_b); - return -1; -} -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#else -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#include -static char* __PYX_DEFAULT_STRING_ENCODING; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); - if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; - strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - return -1; -} -#endif -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } - -#if !CYTHON_USE_MODULE_STATE -static PyObject *__pyx_m = NULL; -#endif -static int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm = __FILE__; -static const char *__pyx_filename; - -/* #### Code section: filename_table ### */ - -static const char *__pyx_f[] = { - "handlers/payments/utils.py", -}; -/* #### Code section: utility_code_proto_before_types ### */ -/* #### Code section: numeric_typedefs ### */ -/* #### Code section: complex_type_declarations ### */ -/* #### Code section: type_declarations ### */ - -/*--- Type declarations ---*/ -struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification; - -struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification { - PyObject_HEAD - double __pyx_v_amount; - PyObject *__pyx_v_balance; - PyObject *__pyx_v_builder; - PyObject *__pyx_v_cashback_amount; - PyObject *__pyx_v_cashback_text; - PyObject *__pyx_v_client_id; - PyObject *__pyx_v_complete_key_renewal; - PyObject *__pyx_v_conn; - PyObject *__pyx_v_cost; - PyObject *__pyx_v_create_key; - PyObject *__pyx_v_data; - PyObject *__pyx_v_duration_days; - PyObject *__pyx_v_e; - PyObject *__pyx_v_email; - PyObject *__pyx_v_expiry_time; - PyObject *__pyx_v_moscow_tz; - PyObject *__pyx_v_new_expiry_time; - PyObject *__pyx_v_payment_text; - PyObject *__pyx_v_plan; - PyObject *__pyx_v_plan_price; - PyObject *__pyx_v_required_amount; - PyObject *__pyx_v_state; - PyObject *__pyx_v_temp_data; - PyObject *__pyx_v_total_gb; - PyObject *__pyx_v_user_id; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; - int __pyx_t_3; - int __pyx_t_4; - char const *__pyx_t_5; - PyObject *__pyx_t_6; - PyObject *__pyx_t_7; - PyObject *__pyx_t_8; - PyObject *__pyx_t_9; - PyObject *__pyx_t_10; - PyObject *__pyx_t_11; - PyObject *__pyx_t_12; -}; - -/* #### Code section: utility_code_proto ### */ - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, Py_ssize_t); - void (*DECREF)(void*, PyObject*, Py_ssize_t); - void (*GOTREF)(void*, PyObject*, Py_ssize_t); - void (*GIVEREF)(void*, PyObject*, Py_ssize_t); - void* (*SetupContext)(const char*, Py_ssize_t, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -#ifdef WITH_THREAD - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - } - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } -#else - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__)) - #define __Pyx_RefNannyFinishContextNogil() __Pyx_RefNannyFinishContext() -#endif - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_XINCREF(r) do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContextNogil() - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_Py_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; Py_XDECREF(tmp);\ - } while (0) -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* PyErrExceptionMatches.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* PyThreadStateGet.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#if PY_VERSION_HEX >= 0x030C00A6 -#define __Pyx_PyErr_Occurred() (__pyx_tstate->current_exception != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL) -#else -#define __Pyx_PyErr_Occurred() (__pyx_tstate->curexc_type != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->curexc_type) -#endif -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() (PyErr_Occurred() != NULL) -#define __Pyx_PyErr_CurrentExceptionType() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6 -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* PyObjectGetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* PyObjectGetAttrStrNoError.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* TupleAndListFromArray.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n); -static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n); -#endif - -/* IncludeStringH.proto */ -#include - -/* BytesEquals.proto */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); - -/* UnicodeEquals.proto */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); - -/* fastcall.proto */ -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i) -#elif CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i) -#else - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i) -#endif -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg) - #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg) -#else - #define __Pyx_Arg_NewRef_VARARGS(arg) arg - #define __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds) -#define __Pyx_KwValues_VARARGS(args, nargs) NULL -#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s) -#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw) -#if CYTHON_METH_FASTCALL - #define __Pyx_Arg_FASTCALL(args, i) args[i] - #define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds) - #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs)) - static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 - CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues); - #else - #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw) - #endif - #define __Pyx_Arg_NewRef_FASTCALL(arg) arg /* no-op, __Pyx_Arg_FASTCALL is direct and this needs - to have the same reference counting */ - #define __Pyx_Arg_XDECREF_FASTCALL(arg) -#else - #define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS - #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS - #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS - #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS - #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS - #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg) - #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start) -#else -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop) -#endif - -/* RaiseArgTupleInvalid.proto */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* RaiseDoubleKeywords.proto */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywords.proto */ -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, - const char* function_name); - -/* ArgTypeTest.proto */ -#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ - ((likely(__Pyx_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) ? 1 :\ - __Pyx__ArgTypeTest(obj, type, name, exact)) -static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); - -/* RaiseUnexpectedTypeError.proto */ -static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj); - -/* PyDictVersioning.proto */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __pyx_dict_cached_value;\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) do {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* PyObjectFormatSimple.proto */ -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#elif PY_MAJOR_VERSION < 3 - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\ - PyObject_Format(s, f)) -#elif CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\ - likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\ - PyObject_Format(s, f)) -#else - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#endif - -/* JoinPyUnicode.proto */ -static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char); - -/* PyFunctionFastCall.proto */ -#if CYTHON_FAST_PYCALL -#if !CYTHON_VECTORCALL -#define __Pyx_PyFunction_FastCall(func, args, nargs)\ - __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); -#endif -#define __Pyx_BUILD_ASSERT_EXPR(cond)\ - (sizeof(char [1 - 2*!(cond)]) - 1) -#ifndef Py_MEMBER_SIZE -#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) -#endif -#if !CYTHON_VECTORCALL -#if PY_VERSION_HEX >= 0x03080000 - #include "frameobject.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #define __Pxy_PyFrame_Initialize_Offsets() - #define __Pyx_PyFrame_GetLocalsplus(frame) ((frame)->f_localsplus) -#else - static size_t __pyx_pyframe_localsplus_offset = 0; - #include "frameobject.h" - #define __Pxy_PyFrame_Initialize_Offsets()\ - ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ - (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) - #define __Pyx_PyFrame_GetLocalsplus(frame)\ - (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) -#endif -#endif -#endif - -/* PyObjectCall.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* PyObjectCallMethO.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectFastCall.proto */ -#define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL) -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_TrueDivideObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_TrueDivideObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceTrueDivide(op1, op2) : PyNumber_TrueDivide(op1, op2)) -#endif - -/* Import.proto */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); - -/* ImportFrom.proto */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); - -/* IncludeStructmemberH.proto */ -#include - -/* FixUpExtensionType.proto */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type); -#endif - -/* FetchSharedCythonModule.proto */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void); - -/* FetchCommonType.proto */ -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); -#else -static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases); -#endif - -/* RaiseException.proto */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* GetTopmostException.proto */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* SwapException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* PyObjectCall2Args.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* PyObjectCallOneArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* PyObjectGetMethod.proto */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); - -/* PyObjectCallMethod1.proto */ -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); - -/* PyObjectCallNoArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); - -/* CoroutineBase.proto */ -struct __pyx_CoroutineObject; -typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_ExcInfoStruct _PyErr_StackItem -#else -typedef struct { - PyObject *exc_type; - PyObject *exc_value; - PyObject *exc_traceback; -} __Pyx_ExcInfoStruct; -#endif -typedef struct __pyx_CoroutineObject { - PyObject_HEAD - __pyx_coroutine_body_t body; - PyObject *closure; - __Pyx_ExcInfoStruct gi_exc_state; - PyObject *gi_weakreflist; - PyObject *classobj; - PyObject *yieldfrom; - PyObject *gi_name; - PyObject *gi_qualname; - PyObject *gi_modulename; - PyObject *gi_code; - PyObject *gi_frame; - int resume_label; - char is_running; -} __pyx_CoroutineObject; -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self); -static int __Pyx_Coroutine_clear(PyObject *self); -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value); -static PyObject *__Pyx_Coroutine_Close(PyObject *self); -static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_Coroutine_SwapException(self) -#define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state) -#else -#define __Pyx_Coroutine_SwapException(self) {\ - __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\ - __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\ - } -#define __Pyx_Coroutine_ResetAndClearException(self) {\ - __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\ - (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\ - } -#endif -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue) -#else -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue) -#endif -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue); -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state); - -/* PyObject_GenericGetAttrNoDict.proto */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr -#endif - -/* PatchModuleWithCoroutine.proto */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code); - -/* PatchGeneratorABC.proto */ -static int __Pyx_patch_abc(void); - -/* Coroutine.proto */ -#define __Pyx_Coroutine_USED -#define __Pyx_Coroutine_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineType) -#define __Pyx_Coroutine_Check(obj) __Pyx_Coroutine_CheckExact(obj) -#define __Pyx_CoroutineAwait_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineAwaitType) -#define __Pyx_Coroutine_New(body, code, closure, name, qualname, module_name)\ - __Pyx__Coroutine_New(__pyx_CoroutineType, body, code, closure, name, qualname, module_name) -static int __pyx_Coroutine_init(PyObject *module); -static PyObject *__Pyx__Coroutine_await(PyObject *coroutine); -typedef struct { - PyObject_HEAD - PyObject *coroutine; -} __pyx_CoroutineAwaitObject; -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg); -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args); - -/* GetAwaitIter.proto */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o); -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *o); - -/* CoroutineYieldFrom.proto */ -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source); - -/* DictGetItem.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); -#define __Pyx_PyObject_Dict_GetItem(obj, name)\ - (likely(PyDict_CheckExact(obj)) ?\ - __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) -#else -#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) -#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) -#endif - -/* PyIntFromDouble.proto */ -#if PY_MAJOR_VERSION < 3 -static CYTHON_INLINE PyObject* __Pyx_PyInt_FromDouble(double value); -#else -#define __Pyx_PyInt_FromDouble(value) PyLong_FromDouble(value) -#endif - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* pep479.proto */ -static void __Pyx_Generator_Replace_StopIteration(int in_async_gen); - -/* PyObjectCallMethod0.proto */ -static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name); - -/* ValidateBasesTuple.proto */ -#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases); -#endif - -/* PyType_Ready.proto */ -CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t); - -/* ImportDottedModule.proto */ -static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple); -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple); -#endif - -/* PyMethodNew.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - PyObject *typesModule=NULL, *methodType=NULL, *result=NULL; - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - typesModule = PyImport_ImportModule("types"); - if (!typesModule) return NULL; - methodType = PyObject_GetAttrString(typesModule, "MethodType"); - Py_DECREF(typesModule); - if (!methodType) return NULL; - result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL); - Py_DECREF(methodType); - return result; -} -#elif PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - return PyMethod_New(func, self); -} -#else - #define __Pyx_PyMethod_New PyMethod_New -#endif - -/* PyVectorcallFastCallDict.proto */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw); -#endif - -/* CythonFunctionShared.proto */ -#define __Pyx_CyFunction_USED -#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 -#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 -#define __Pyx_CYFUNCTION_CCLASS 0x04 -#define __Pyx_CYFUNCTION_COROUTINE 0x08 -#define __Pyx_CyFunction_GetClosure(f)\ - (((__pyx_CyFunctionObject *) (f))->func_closure) -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_CyFunction_GetClassObj(f)\ - (((__pyx_CyFunctionObject *) (f))->func_classobj) -#else - #define __Pyx_CyFunction_GetClassObj(f)\ - ((PyObject*) ((PyCMethodObject *) (f))->mm_class) -#endif -#define __Pyx_CyFunction_SetClassObj(f, classobj)\ - __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj)) -#define __Pyx_CyFunction_Defaults(type, f)\ - ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) -#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ - ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) -typedef struct { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject_HEAD - PyObject *func; -#elif PY_VERSION_HEX < 0x030900B1 - PyCFunctionObject func; -#else - PyCMethodObject func; -#endif -#if CYTHON_BACKPORT_VECTORCALL - __pyx_vectorcallfunc func_vectorcall; -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_weakreflist; -#endif - PyObject *func_dict; - PyObject *func_name; - PyObject *func_qualname; - PyObject *func_doc; - PyObject *func_globals; - PyObject *func_code; - PyObject *func_closure; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_classobj; -#endif - void *defaults; - int defaults_pyobjects; - size_t defaults_size; - int flags; - PyObject *defaults_tuple; - PyObject *defaults_kwdict; - PyObject *(*defaults_getter)(PyObject *); - PyObject *func_annotations; - PyObject *func_is_coroutine; -} __pyx_CyFunctionObject; -#undef __Pyx_CyOrPyCFunction_Check -#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType) -#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type) -#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType) -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc); -#undef __Pyx_IsSameCFunction -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc) -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj); -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, - size_t size, - int pyobjects); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, - PyObject *tuple); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, - PyObject *dict); -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, - PyObject *dict); -static int __pyx_CyFunction_init(PyObject *module); -#if CYTHON_METH_FASTCALL -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -#if CYTHON_BACKPORT_VECTORCALL -#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall) -#else -#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall) -#endif -#endif - -/* CythonFunction.proto */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); - -/* CLineInTraceback.proto */ -#ifdef CYTHON_CLINE_IN_TRACEBACK -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#else -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#endif - -/* CodeObjectCache.proto */ -#if !CYTHON_COMPILING_IN_LIMITED_API -typedef struct { - PyCodeObject* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; -}; -static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static PyCodeObject *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -#endif - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* FormatTypeName.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -typedef PyObject *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%U" -static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp); -#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj) -#else -typedef const char *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%.200s" -#define __Pyx_PyType_GetName(tp) ((tp)->tp_name) -#define __Pyx_DECREF_TypeName(obj) -#endif - -/* GCCDiagnostics.proto */ -#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -#define __Pyx_HAS_GCC_DIAGNOSTIC -#endif - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); - -/* FastTypeChecks.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2)) -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) -#endif -#define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2) -#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* CheckBinaryVersion.proto */ -static unsigned long __Pyx_get_runtime_version(void); -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer); - -/* InitStrings.proto */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); - -/* #### Code section: module_declarations ### */ - -/* Module declarations from "handlers.payments.utils" */ -/* #### Code section: typeinfo ### */ -/* #### Code section: before_global_var ### */ -#define __Pyx_MODULE_NAME "handlers.payments.utils" -extern int __pyx_module_is_main_handlers__payments__utils; -int __pyx_module_is_main_handlers__payments__utils = 0; - -/* Implementation of "handlers.payments.utils" */ -/* #### Code section: global_var ### */ -static PyObject *__pyx_builtin_round; -static PyObject *__pyx_builtin_all; -/* #### Code section: string_decls ### */ -static const char __pyx_k_e[] = "e"; -static const char __pyx_k__2[] = "\320\235\320\260\321\207\320\260\320\273\320\276 \320\276\321\202\320\277\321\200\320\260\320\262\320\272\320\270 \321\203\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217 \320\276\320\261 \321\203\321\201\320\277\320\265\321\210\320\275\320\276\320\274 \320\277\320\273\320\260\321\202\320\265\320\266\320\265 \320\264\320\273\321\217 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__3[] = " \321\201 \321\201\321\203\320\274\320\274\320\276\320\271 "; -static const char __pyx_k__4[] = "."; -static const char __pyx_k__5[] = ""; -static const char __pyx_k__6[] = " (+"; -static const char __pyx_k__7[] = " \321\200\321\203\320\261. \320\272\320\265\321\210\320\261\321\215\320\272\320\260)"; -static const char __pyx_k__8[] = "\320\243 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__9[] = " \320\272\320\265\321\210\320\261\321\215\320\272: "; -static const char __pyx_k_gc[] = "gc"; -static const char __pyx_k__10[] = " (\320\277\321\200\320\270 "; -static const char __pyx_k__11[] = "%)."; -static const char __pyx_k__12[] = "\320\230\321\201\320\277\320\276\320\273\321\214\320\267\321\203\320\265\321\202\321\201\321\217 \320\275\320\276\320\262\321\213\320\271 \320\277\320\273\320\260\321\202\320\265\320\266\320\275\321\213\320\271 \320\277\320\276\321\202\320\276\320\272."; -static const char __pyx_k__13[] = "\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\273\320\265\320\275\320\276 \321\201\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\320\265 \321\201 \320\261\320\260\320\267\320\276\320\271 \320\264\320\260\320\275\320\275\321\213\321\205 \320\264\320\273\321\217 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__14[] = "\320\237\320\276\320\273\321\203\321\207\320\265\320\275\321\213 \320\262\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265 \320\264\320\260\320\275\320\275\321\213\320\265 \320\264\320\273\321\217 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__15[] = ": "; -static const char __pyx_k__17[] = " \320\275\320\265 \321\201\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\321\203\320\265\321\202 \320\276\320\266\320\270\320\264\320\260\320\265\320\274\320\276\320\271 \321\201\321\203\320\274\320\274\320\265 "; -static const char __pyx_k__18[] = "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260 \320\277\320\273\320\260\321\202\320\265\320\266\320\260 \320\275\320\260 \320\277\321\200\320\276\320\264\320\273\320\265\320\275\320\270\320\265 \320\264\320\273\321\217 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__19[] = "\320\242\320\265\320\272\321\203\321\211\320\270\320\271 \320\261\320\260\320\273\320\260\320\275\321\201 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__20[] = ". \320\242\321\200\320\265\320\261\321\203\320\265\320\274\320\260\321\217 \321\201\321\203\320\274\320\274\320\260: "; -static const char __pyx_k__21[] = "\320\221\320\260\320\273\320\260\320\275\321\201 \320\264\320\276\321\201\321\202\320\260\321\202\320\276\321\207\320\275\321\213\320\271 \320\264\320\273\321\217 \320\277\321\200\320\276\320\264\320\273\320\265\320\275\320\270\321\217 \320\272\320\273\321\216\321\207\320\260 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__22[] = ". \320\235\320\260\321\207\320\260\320\273\320\276 \320\277\321\200\320\276\320\264\320\273\320\265\320\275\320\270\321\217."; -static const char __pyx_k__23[] = "\320\232\320\273\321\216\321\207 \321\203\321\201\320\277\320\265\321\210\320\275\320\276 \320\277\321\200\320\276\320\264\320\273\320\265\320\275 \320\264\320\273\321\217 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__24[] = ". \320\236\321\207\320\270\321\201\321\202\320\272\320\260 \320\262\321\200\320\265\320\274\320\265\320\275\320\275\321\213\321\205 \320\264\320\260\320\275\320\275\321\213\321\205."; -static const char __pyx_k__25[] = "\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260 \320\277\320\273\320\260\321\202\320\265\320\266\320\260 \320\262 \321\201\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\270 \320\276\320\266\320\270\320\264\320\260\320\275\320\270\321\217 \320\264\320\273\321\217 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__26[] = ". \320\246\320\265\320\275\320\260 \320\277\320\273\320\260\320\275\320\260: "; -static const char __pyx_k__27[] = "\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265 \320\275\320\276\320\262\320\276\320\263\320\276 \320\272\320\273\321\216\321\207\320\260 \320\264\320\273\321\217 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__28[] = " \321\201 \320\277\320\273\320\260\320\275\320\276\320\274 "; -static const char __pyx_k__29[] = " \320\264\320\276 "; -static const char __pyx_k__30[] = "\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265 \320\261\320\260\320\273\320\260\320\275\321\201\320\260 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__31[] = " \320\277\320\276\321\201\320\273\320\265 \320\276\320\277\320\273\320\260\321\202\321\213."; -static const char __pyx_k__32[] = "\320\236\321\207\320\270\321\201\321\202\320\272\320\260 \320\262\321\200\320\265\320\274\320\265\320\275\320\275\321\213\321\205 \320\264\320\260\320\275\320\275\321\213\321\205 \320\264\320\273\321\217 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__33[] = "\320\236\321\202\320\277\321\200\320\260\320\262\320\272\320\260 \321\203\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217 \320\276\320\261 \321\203\321\201\320\277\320\265\321\210\320\275\320\276\320\274 \320\277\320\273\320\260\321\202\320\265\320\266\320\265 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\216 "; -static const char __pyx_k__34[] = "\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\265 \321\203\321\201\320\277\320\265\321\210\320\275\320\276 \320\276\321\202\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\276 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\216 "; -static const char __pyx_k__35[] = "\320\227\320\260\320\272\321\200\321\213\321\202\320\270\320\265 \321\201\320\276\320\265\320\264\320\270\320\275\320\265\320\275\320\270\321\217 \321\201 \320\261\320\260\320\267\320\276\320\271 \320\264\320\260\320\275\320\275\321\213\321\205 \320\264\320\273\321\217 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k__36[] = "\320\230\321\201\320\277\320\276\320\273\321\214\320\267\321\203\320\265\321\202\321\201\321\217 \321\201\321\202\320\260\321\200\321\213\320\271 \320\277\320\273\320\260\321\202\320\265\320\266\320\275\321\213\320\271 \320\277\320\276\321\202\320\276\320\272."; -static const char __pyx_k__37[] = " (\321\201\321\202\320\260\321\200\321\213\320\271 \320\277\320\276\321\202\320\276\320\272)."; -static const char __pyx_k__38[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \320\276\321\202\320\277\321\200\320\260\320\262\320\272\320\265 \321\203\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\216 "; -static const char __pyx_k__39[] = "*"; -static const char __pyx_k__41[] = "?"; -static const char __pyx_k_all[] = "all"; -static const char __pyx_k_bot[] = "bot"; -static const char __pyx_k_get[] = "get"; -static const char __pyx_k_int[] = "int"; -static const char __pyx_k_now[] = "now"; -static const char __pyx_k_row[] = "row"; -static const char __pyx_k_args[] = "args"; -static const char __pyx_k_conn[] = "conn"; -static const char __pyx_k_cost[] = "cost"; -static const char __pyx_k_data[] = "data"; -static const char __pyx_k_days[] = "days"; -static const char __pyx_k_info[] = "info"; -static const char __pyx_k_main[] = "__main__"; -static const char __pyx_k_name[] = "__name__"; -static const char __pyx_k_plan[] = "plan"; -static const char __pyx_k_pytz[] = "pytz"; -static const char __pyx_k_send[] = "send"; -static const char __pyx_k_spec[] = "__spec__"; -static const char __pyx_k_test[] = "__test__"; -static const char __pyx_k_text[] = "text"; -static const char __pyx_k_RENEW[] = "[RENEW] \320\235\320\265\320\264\320\276\321\201\321\202\320\260\321\202\320\276\321\207\320\275\320\276 \320\264\320\260\320\275\320\275\321\213\321\205 \320\264\320\273\321\217 \320\277\321\200\320\276\320\264\320\273\320\265\320\275\320\270\321\217 \320\272\320\273\321\216\321\207\320\260 \321\203 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217 "; -static const char __pyx_k_await[] = "__await__"; -static const char __pyx_k_close[] = "close"; -static const char __pyx_k_email[] = "email"; -static const char __pyx_k_error[] = "error"; -static const char __pyx_k_float[] = "float"; -static const char __pyx_k_round[] = "round"; -static const char __pyx_k_state[] = "state"; -static const char __pyx_k_throw[] = "throw"; -static const char __pyx_k_amount[] = "amount"; -static const char __pyx_k_config[] = "config"; -static const char __pyx_k_enable[] = "enable"; -static const char __pyx_k_format[] = "format"; -static const char __pyx_k_import[] = "__import__"; -static const char __pyx_k_logger[] = "logger"; -static const char __pyx_k_ADD_SUB[] = "ADD_SUB"; -static const char __pyx_k_PAYMENT[] = "[PAYMENT] \320\237\320\273\320\260\321\202\320\265\320\266 "; -static const char __pyx_k_asyncpg[] = "asyncpg"; -static const char __pyx_k_balance[] = "balance"; -static const char __pyx_k_builder[] = "builder"; -static const char __pyx_k_chat_id[] = "chat_id"; -static const char __pyx_k_connect[] = "connect"; -static const char __pyx_k_disable[] = "disable"; -static const char __pyx_k_plan_id[] = "plan_id"; -static const char __pyx_k_profile[] = "profile"; -static const char __pyx_k_user_id[] = "user_id"; -static const char __pyx_k_warning[] = "warning"; -static const char __pyx_k_CASHBACK[] = "CASHBACK"; -static const char __pyx_k_database[] = "database"; -static const char __pyx_k_datetime[] = "datetime"; -static const char __pyx_k_timezone[] = "timezone"; -static const char __pyx_k_total_gb[] = "total_gb"; -static const char __pyx_k_MAIN_MENU[] = "MAIN_MENU"; -static const char __pyx_k_RENEW_KEY[] = "RENEW_KEY"; -static const char __pyx_k_as_markup[] = "as_markup"; -static const char __pyx_k_client_id[] = "client_id"; -static const char __pyx_k_isenabled[] = "isenabled"; -static const char __pyx_k_moscow_tz[] = "moscow_tz"; -static const char __pyx_k_temp_data[] = "temp_data"; -static const char __pyx_k_timedelta[] = "timedelta"; -static const char __pyx_k_view_keys[] = "view_keys"; -static const char __pyx_k_create_key[] = "create_key"; -static const char __pyx_k_plan_price[] = "plan_price"; -static const char __pyx_k_expiry_time[] = "expiry_time"; -static const char __pyx_k_get_balance[] = "get_balance"; -static const char __pyx_k_DATABASE_URL[] = "DATABASE_URL"; -static const char __pyx_k_initializing[] = "_initializing"; -static const char __pyx_k_is_coroutine[] = "_is_coroutine"; -static const char __pyx_k_payment_text[] = "payment_text"; -static const char __pyx_k_reply_markup[] = "reply_markup"; -static const char __pyx_k_send_message[] = "send_message"; -static const char __pyx_k_Europe_Moscow[] = "Europe/Moscow"; -static const char __pyx_k_aiogram_types[] = "aiogram.types"; -static const char __pyx_k_callback_data[] = "callback_data"; -static const char __pyx_k_cashback_text[] = "cashback_text"; -static const char __pyx_k_duration_days[] = "duration_days"; -static const char __pyx_k_handlers_texts[] = "handlers.texts"; -static const char __pyx_k_update_balance[] = "update_balance"; -static const char __pyx_k_cashback_amount[] = "cashback_amount"; -static const char __pyx_k_new_expiry_time[] = "new_expiry_time"; -static const char __pyx_k_required_amount[] = "required_amount"; -static const char __pyx_k_handlers_buttons[] = "handlers.buttons"; -static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines"; -static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; -static const char __pyx_k_get_temporary_data[] = "get_temporary_data"; -static const char __pyx_k_handlers_keys_keys[] = "handlers.keys.keys"; -static const char __pyx_k_waiting_for_payment[] = "waiting_for_payment"; -static const char __pyx_k_InlineKeyboardButton[] = "InlineKeyboardButton"; -static const char __pyx_k_USE_NEW_PAYMENT_FLOW[] = "USE_NEW_PAYMENT_FLOW"; -static const char __pyx_k_clear_temporary_data[] = "clear_temporary_data"; -static const char __pyx_k_complete_key_renewal[] = "complete_key_renewal"; -static const char __pyx_k_InlineKeyboardBuilder[] = "InlineKeyboardBuilder"; -static const char __pyx_k_aiogram_utils_keyboard[] = "aiogram.utils.keyboard"; -static const char __pyx_k_PAYMENT_SUCCESS_MESSAGE[] = "PAYMENT_SUCCESS_MESSAGE"; -static const char __pyx_k_handlers_payments_utils[] = "handlers.payments.utils"; -static const char __pyx_k_handlers_payments_utils_py[] = "handlers/payments/utils.py"; -static const char __pyx_k_waiting_for_renewal_payment[] = "waiting_for_renewal_payment"; -static const char __pyx_k_handlers_keys_key_management[] = "handlers.keys.key_management"; -static const char __pyx_k_send_payment_success_notificatio[] = "send_payment_success_notification"; -/* #### Code section: decls ### */ -static PyObject *__pyx_pf_8handlers_8payments_5utils_send_payment_success_notification(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_user_id, double __pyx_v_amount); /* proto */ -static PyObject *__pyx_tp_new_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -/* #### Code section: late_includes ### */ -/* #### Code section: module_state ### */ -typedef struct { - PyObject *__pyx_d; - PyObject *__pyx_b; - PyObject *__pyx_cython_runtime; - PyObject *__pyx_empty_tuple; - PyObject *__pyx_empty_bytes; - PyObject *__pyx_empty_unicode; - #ifdef __Pyx_CyFunction_USED - PyTypeObject *__pyx_CyFunctionType; - #endif - #ifdef __Pyx_FusedFunction_USED - PyTypeObject *__pyx_FusedFunctionType; - #endif - #ifdef __Pyx_Generator_USED - PyTypeObject *__pyx_GeneratorType; - #endif - #ifdef __Pyx_IterableCoroutine_USED - PyTypeObject *__pyx_IterableCoroutineType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineAwaitType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineType; - #endif - #if CYTHON_USE_MODULE_STATE - PyObject *__pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification; - #endif - PyTypeObject *__pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification; - PyObject *__pyx_n_s_ADD_SUB; - PyObject *__pyx_n_s_CASHBACK; - PyObject *__pyx_n_s_DATABASE_URL; - PyObject *__pyx_kp_u_Europe_Moscow; - PyObject *__pyx_n_s_InlineKeyboardBuilder; - PyObject *__pyx_n_s_InlineKeyboardButton; - PyObject *__pyx_n_s_MAIN_MENU; - PyObject *__pyx_kp_u_PAYMENT; - PyObject *__pyx_n_s_PAYMENT_SUCCESS_MESSAGE; - PyObject *__pyx_kp_u_RENEW; - PyObject *__pyx_n_s_RENEW_KEY; - PyObject *__pyx_n_s_USE_NEW_PAYMENT_FLOW; - PyObject *__pyx_kp_u__10; - PyObject *__pyx_kp_u__11; - PyObject *__pyx_kp_u__12; - PyObject *__pyx_kp_u__13; - PyObject *__pyx_kp_u__14; - PyObject *__pyx_kp_u__15; - PyObject *__pyx_kp_u__17; - PyObject *__pyx_kp_u__18; - PyObject *__pyx_kp_u__19; - PyObject *__pyx_kp_u__2; - PyObject *__pyx_kp_u__20; - PyObject *__pyx_kp_u__21; - PyObject *__pyx_kp_u__22; - PyObject *__pyx_kp_u__23; - PyObject *__pyx_kp_u__24; - PyObject *__pyx_kp_u__25; - PyObject *__pyx_kp_u__26; - PyObject *__pyx_kp_u__27; - PyObject *__pyx_kp_u__28; - PyObject *__pyx_kp_u__29; - PyObject *__pyx_kp_u__3; - PyObject *__pyx_kp_u__30; - PyObject *__pyx_kp_u__31; - PyObject *__pyx_kp_u__32; - PyObject *__pyx_kp_u__33; - PyObject *__pyx_kp_u__34; - PyObject *__pyx_kp_u__35; - PyObject *__pyx_kp_u__36; - PyObject *__pyx_kp_u__37; - PyObject *__pyx_kp_u__38; - PyObject *__pyx_n_s__39; - PyObject *__pyx_kp_u__4; - PyObject *__pyx_n_s__41; - PyObject *__pyx_kp_u__5; - PyObject *__pyx_kp_u__6; - PyObject *__pyx_kp_u__7; - PyObject *__pyx_kp_u__8; - PyObject *__pyx_kp_u__9; - PyObject *__pyx_n_s_aiogram_types; - PyObject *__pyx_n_s_aiogram_utils_keyboard; - PyObject *__pyx_n_s_all; - PyObject *__pyx_n_s_amount; - PyObject *__pyx_n_s_args; - PyObject *__pyx_n_s_as_markup; - PyObject *__pyx_n_s_asyncio_coroutines; - PyObject *__pyx_n_s_asyncpg; - PyObject *__pyx_n_s_await; - PyObject *__pyx_n_s_balance; - PyObject *__pyx_n_s_bot; - PyObject *__pyx_n_s_builder; - PyObject *__pyx_n_s_callback_data; - PyObject *__pyx_n_s_cashback_amount; - PyObject *__pyx_n_s_cashback_text; - PyObject *__pyx_n_s_chat_id; - PyObject *__pyx_n_s_clear_temporary_data; - PyObject *__pyx_n_s_client_id; - PyObject *__pyx_n_u_client_id; - PyObject *__pyx_n_s_cline_in_traceback; - PyObject *__pyx_n_s_close; - PyObject *__pyx_n_s_complete_key_renewal; - PyObject *__pyx_n_s_config; - PyObject *__pyx_n_s_conn; - PyObject *__pyx_n_s_connect; - PyObject *__pyx_n_s_cost; - PyObject *__pyx_n_u_cost; - PyObject *__pyx_n_s_create_key; - PyObject *__pyx_n_u_create_key; - PyObject *__pyx_n_s_data; - PyObject *__pyx_n_u_data; - PyObject *__pyx_n_s_database; - PyObject *__pyx_n_s_datetime; - PyObject *__pyx_n_s_days; - PyObject *__pyx_kp_u_disable; - PyObject *__pyx_n_s_duration_days; - PyObject *__pyx_n_u_duration_days; - PyObject *__pyx_n_s_e; - PyObject *__pyx_n_s_email; - PyObject *__pyx_n_u_email; - PyObject *__pyx_kp_u_enable; - PyObject *__pyx_n_s_error; - PyObject *__pyx_n_s_expiry_time; - PyObject *__pyx_n_s_float; - PyObject *__pyx_n_s_format; - PyObject *__pyx_kp_u_gc; - PyObject *__pyx_n_s_get; - PyObject *__pyx_n_s_get_balance; - PyObject *__pyx_n_s_get_temporary_data; - PyObject *__pyx_n_s_handlers_buttons; - PyObject *__pyx_n_s_handlers_keys_key_management; - PyObject *__pyx_n_s_handlers_keys_keys; - PyObject *__pyx_n_s_handlers_payments_utils; - PyObject *__pyx_kp_s_handlers_payments_utils_py; - PyObject *__pyx_n_s_handlers_texts; - PyObject *__pyx_n_s_import; - PyObject *__pyx_n_s_info; - PyObject *__pyx_n_s_initializing; - PyObject *__pyx_n_s_int; - PyObject *__pyx_n_s_is_coroutine; - PyObject *__pyx_kp_u_isenabled; - PyObject *__pyx_n_s_logger; - PyObject *__pyx_n_s_main; - PyObject *__pyx_n_s_moscow_tz; - PyObject *__pyx_n_s_name; - PyObject *__pyx_n_s_new_expiry_time; - PyObject *__pyx_n_u_new_expiry_time; - PyObject *__pyx_n_s_now; - PyObject *__pyx_n_s_payment_text; - PyObject *__pyx_n_s_plan; - PyObject *__pyx_n_u_plan; - PyObject *__pyx_n_u_plan_id; - PyObject *__pyx_n_s_plan_price; - PyObject *__pyx_n_u_plan_price; - PyObject *__pyx_n_u_profile; - PyObject *__pyx_n_s_pytz; - PyObject *__pyx_n_s_reply_markup; - PyObject *__pyx_n_s_required_amount; - PyObject *__pyx_n_u_required_amount; - PyObject *__pyx_n_s_round; - PyObject *__pyx_n_s_row; - PyObject *__pyx_n_s_send; - PyObject *__pyx_n_s_send_message; - PyObject *__pyx_n_s_send_payment_success_notificatio; - PyObject *__pyx_n_s_spec; - PyObject *__pyx_n_s_state; - PyObject *__pyx_n_u_state; - PyObject *__pyx_n_s_temp_data; - PyObject *__pyx_n_s_test; - PyObject *__pyx_n_s_text; - PyObject *__pyx_n_s_throw; - PyObject *__pyx_n_s_timedelta; - PyObject *__pyx_n_s_timezone; - PyObject *__pyx_n_s_total_gb; - PyObject *__pyx_n_u_total_gb; - PyObject *__pyx_n_s_update_balance; - PyObject *__pyx_n_s_user_id; - PyObject *__pyx_n_u_view_keys; - PyObject *__pyx_n_u_waiting_for_payment; - PyObject *__pyx_n_u_waiting_for_renewal_payment; - PyObject *__pyx_n_s_warning; - PyObject *__pyx_int_0; - PyObject *__pyx_int_2; - PyObject *__pyx_int_100; - PyObject *__pyx_codeobj_; - PyObject *__pyx_tuple__16; - PyObject *__pyx_tuple__40; -} __pyx_mstate; - -#if CYTHON_USE_MODULE_STATE -#ifdef __cplusplus -namespace { - extern struct PyModuleDef __pyx_moduledef; -} /* anonymous namespace */ -#else -static struct PyModuleDef __pyx_moduledef; -#endif - -#define __pyx_mstate(o) ((__pyx_mstate *)__Pyx_PyModule_GetState(o)) - -#define __pyx_mstate_global (__pyx_mstate(PyState_FindModule(&__pyx_moduledef))) - -#define __pyx_m (PyState_FindModule(&__pyx_moduledef)) -#else -static __pyx_mstate __pyx_mstate_global_static = -#ifdef __cplusplus - {}; -#else - {0}; -#endif -static __pyx_mstate *__pyx_mstate_global = &__pyx_mstate_global_static; -#endif -/* #### Code section: module_state_clear ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_clear(PyObject *m) { - __pyx_mstate *clear_module_state = __pyx_mstate(m); - if (!clear_module_state) return 0; - Py_CLEAR(clear_module_state->__pyx_d); - Py_CLEAR(clear_module_state->__pyx_b); - Py_CLEAR(clear_module_state->__pyx_cython_runtime); - Py_CLEAR(clear_module_state->__pyx_empty_tuple); - Py_CLEAR(clear_module_state->__pyx_empty_bytes); - Py_CLEAR(clear_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_CLEAR(clear_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_CLEAR(clear_module_state->__pyx_FusedFunctionType); - #endif - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification); - Py_CLEAR(clear_module_state->__pyx_n_s_ADD_SUB); - Py_CLEAR(clear_module_state->__pyx_n_s_CASHBACK); - Py_CLEAR(clear_module_state->__pyx_n_s_DATABASE_URL); - Py_CLEAR(clear_module_state->__pyx_kp_u_Europe_Moscow); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardButton); - Py_CLEAR(clear_module_state->__pyx_n_s_MAIN_MENU); - Py_CLEAR(clear_module_state->__pyx_kp_u_PAYMENT); - Py_CLEAR(clear_module_state->__pyx_n_s_PAYMENT_SUCCESS_MESSAGE); - Py_CLEAR(clear_module_state->__pyx_kp_u_RENEW); - Py_CLEAR(clear_module_state->__pyx_n_s_RENEW_KEY); - Py_CLEAR(clear_module_state->__pyx_n_s_USE_NEW_PAYMENT_FLOW); - Py_CLEAR(clear_module_state->__pyx_kp_u__10); - Py_CLEAR(clear_module_state->__pyx_kp_u__11); - Py_CLEAR(clear_module_state->__pyx_kp_u__12); - Py_CLEAR(clear_module_state->__pyx_kp_u__13); - Py_CLEAR(clear_module_state->__pyx_kp_u__14); - Py_CLEAR(clear_module_state->__pyx_kp_u__15); - Py_CLEAR(clear_module_state->__pyx_kp_u__17); - Py_CLEAR(clear_module_state->__pyx_kp_u__18); - Py_CLEAR(clear_module_state->__pyx_kp_u__19); - Py_CLEAR(clear_module_state->__pyx_kp_u__2); - Py_CLEAR(clear_module_state->__pyx_kp_u__20); - Py_CLEAR(clear_module_state->__pyx_kp_u__21); - Py_CLEAR(clear_module_state->__pyx_kp_u__22); - Py_CLEAR(clear_module_state->__pyx_kp_u__23); - Py_CLEAR(clear_module_state->__pyx_kp_u__24); - Py_CLEAR(clear_module_state->__pyx_kp_u__25); - Py_CLEAR(clear_module_state->__pyx_kp_u__26); - Py_CLEAR(clear_module_state->__pyx_kp_u__27); - Py_CLEAR(clear_module_state->__pyx_kp_u__28); - Py_CLEAR(clear_module_state->__pyx_kp_u__29); - Py_CLEAR(clear_module_state->__pyx_kp_u__3); - Py_CLEAR(clear_module_state->__pyx_kp_u__30); - Py_CLEAR(clear_module_state->__pyx_kp_u__31); - Py_CLEAR(clear_module_state->__pyx_kp_u__32); - Py_CLEAR(clear_module_state->__pyx_kp_u__33); - Py_CLEAR(clear_module_state->__pyx_kp_u__34); - Py_CLEAR(clear_module_state->__pyx_kp_u__35); - Py_CLEAR(clear_module_state->__pyx_kp_u__36); - Py_CLEAR(clear_module_state->__pyx_kp_u__37); - Py_CLEAR(clear_module_state->__pyx_kp_u__38); - Py_CLEAR(clear_module_state->__pyx_n_s__39); - Py_CLEAR(clear_module_state->__pyx_kp_u__4); - Py_CLEAR(clear_module_state->__pyx_n_s__41); - Py_CLEAR(clear_module_state->__pyx_kp_u__5); - Py_CLEAR(clear_module_state->__pyx_kp_u__6); - Py_CLEAR(clear_module_state->__pyx_kp_u__7); - Py_CLEAR(clear_module_state->__pyx_kp_u__8); - Py_CLEAR(clear_module_state->__pyx_kp_u__9); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_types); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_CLEAR(clear_module_state->__pyx_n_s_all); - Py_CLEAR(clear_module_state->__pyx_n_s_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_args); - Py_CLEAR(clear_module_state->__pyx_n_s_as_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncpg); - Py_CLEAR(clear_module_state->__pyx_n_s_await); - Py_CLEAR(clear_module_state->__pyx_n_s_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_bot); - Py_CLEAR(clear_module_state->__pyx_n_s_builder); - Py_CLEAR(clear_module_state->__pyx_n_s_callback_data); - Py_CLEAR(clear_module_state->__pyx_n_s_cashback_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_cashback_text); - Py_CLEAR(clear_module_state->__pyx_n_s_chat_id); - Py_CLEAR(clear_module_state->__pyx_n_s_clear_temporary_data); - Py_CLEAR(clear_module_state->__pyx_n_s_client_id); - Py_CLEAR(clear_module_state->__pyx_n_u_client_id); - Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback); - Py_CLEAR(clear_module_state->__pyx_n_s_close); - Py_CLEAR(clear_module_state->__pyx_n_s_complete_key_renewal); - Py_CLEAR(clear_module_state->__pyx_n_s_config); - Py_CLEAR(clear_module_state->__pyx_n_s_conn); - Py_CLEAR(clear_module_state->__pyx_n_s_connect); - Py_CLEAR(clear_module_state->__pyx_n_s_cost); - Py_CLEAR(clear_module_state->__pyx_n_u_cost); - Py_CLEAR(clear_module_state->__pyx_n_s_create_key); - Py_CLEAR(clear_module_state->__pyx_n_u_create_key); - Py_CLEAR(clear_module_state->__pyx_n_s_data); - Py_CLEAR(clear_module_state->__pyx_n_u_data); - Py_CLEAR(clear_module_state->__pyx_n_s_database); - Py_CLEAR(clear_module_state->__pyx_n_s_datetime); - Py_CLEAR(clear_module_state->__pyx_n_s_days); - Py_CLEAR(clear_module_state->__pyx_kp_u_disable); - Py_CLEAR(clear_module_state->__pyx_n_s_duration_days); - Py_CLEAR(clear_module_state->__pyx_n_u_duration_days); - Py_CLEAR(clear_module_state->__pyx_n_s_e); - Py_CLEAR(clear_module_state->__pyx_n_s_email); - Py_CLEAR(clear_module_state->__pyx_n_u_email); - Py_CLEAR(clear_module_state->__pyx_kp_u_enable); - Py_CLEAR(clear_module_state->__pyx_n_s_error); - Py_CLEAR(clear_module_state->__pyx_n_s_expiry_time); - Py_CLEAR(clear_module_state->__pyx_n_s_float); - Py_CLEAR(clear_module_state->__pyx_n_s_format); - Py_CLEAR(clear_module_state->__pyx_kp_u_gc); - Py_CLEAR(clear_module_state->__pyx_n_s_get); - Py_CLEAR(clear_module_state->__pyx_n_s_get_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_get_temporary_data); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_buttons); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_keys_key_management); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_keys_keys); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_utils); - Py_CLEAR(clear_module_state->__pyx_kp_s_handlers_payments_utils_py); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_texts); - Py_CLEAR(clear_module_state->__pyx_n_s_import); - Py_CLEAR(clear_module_state->__pyx_n_s_info); - Py_CLEAR(clear_module_state->__pyx_n_s_initializing); - Py_CLEAR(clear_module_state->__pyx_n_s_int); - Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine); - Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled); - Py_CLEAR(clear_module_state->__pyx_n_s_logger); - Py_CLEAR(clear_module_state->__pyx_n_s_main); - Py_CLEAR(clear_module_state->__pyx_n_s_moscow_tz); - Py_CLEAR(clear_module_state->__pyx_n_s_name); - Py_CLEAR(clear_module_state->__pyx_n_s_new_expiry_time); - Py_CLEAR(clear_module_state->__pyx_n_u_new_expiry_time); - Py_CLEAR(clear_module_state->__pyx_n_s_now); - Py_CLEAR(clear_module_state->__pyx_n_s_payment_text); - Py_CLEAR(clear_module_state->__pyx_n_s_plan); - Py_CLEAR(clear_module_state->__pyx_n_u_plan); - Py_CLEAR(clear_module_state->__pyx_n_u_plan_id); - Py_CLEAR(clear_module_state->__pyx_n_s_plan_price); - Py_CLEAR(clear_module_state->__pyx_n_u_plan_price); - Py_CLEAR(clear_module_state->__pyx_n_u_profile); - Py_CLEAR(clear_module_state->__pyx_n_s_pytz); - Py_CLEAR(clear_module_state->__pyx_n_s_reply_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_required_amount); - Py_CLEAR(clear_module_state->__pyx_n_u_required_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_round); - Py_CLEAR(clear_module_state->__pyx_n_s_row); - Py_CLEAR(clear_module_state->__pyx_n_s_send); - Py_CLEAR(clear_module_state->__pyx_n_s_send_message); - Py_CLEAR(clear_module_state->__pyx_n_s_send_payment_success_notificatio); - Py_CLEAR(clear_module_state->__pyx_n_s_spec); - Py_CLEAR(clear_module_state->__pyx_n_s_state); - Py_CLEAR(clear_module_state->__pyx_n_u_state); - Py_CLEAR(clear_module_state->__pyx_n_s_temp_data); - Py_CLEAR(clear_module_state->__pyx_n_s_test); - Py_CLEAR(clear_module_state->__pyx_n_s_text); - Py_CLEAR(clear_module_state->__pyx_n_s_throw); - Py_CLEAR(clear_module_state->__pyx_n_s_timedelta); - Py_CLEAR(clear_module_state->__pyx_n_s_timezone); - Py_CLEAR(clear_module_state->__pyx_n_s_total_gb); - Py_CLEAR(clear_module_state->__pyx_n_u_total_gb); - Py_CLEAR(clear_module_state->__pyx_n_s_update_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_user_id); - Py_CLEAR(clear_module_state->__pyx_n_u_view_keys); - Py_CLEAR(clear_module_state->__pyx_n_u_waiting_for_payment); - Py_CLEAR(clear_module_state->__pyx_n_u_waiting_for_renewal_payment); - Py_CLEAR(clear_module_state->__pyx_n_s_warning); - Py_CLEAR(clear_module_state->__pyx_int_0); - Py_CLEAR(clear_module_state->__pyx_int_2); - Py_CLEAR(clear_module_state->__pyx_int_100); - Py_CLEAR(clear_module_state->__pyx_codeobj_); - Py_CLEAR(clear_module_state->__pyx_tuple__16); - Py_CLEAR(clear_module_state->__pyx_tuple__40); - return 0; -} -#endif -/* #### Code section: module_state_traverse ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { - __pyx_mstate *traverse_module_state = __pyx_mstate(m); - if (!traverse_module_state) return 0; - Py_VISIT(traverse_module_state->__pyx_d); - Py_VISIT(traverse_module_state->__pyx_b); - Py_VISIT(traverse_module_state->__pyx_cython_runtime); - Py_VISIT(traverse_module_state->__pyx_empty_tuple); - Py_VISIT(traverse_module_state->__pyx_empty_bytes); - Py_VISIT(traverse_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_VISIT(traverse_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_VISIT(traverse_module_state->__pyx_FusedFunctionType); - #endif - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification); - Py_VISIT(traverse_module_state->__pyx_n_s_ADD_SUB); - Py_VISIT(traverse_module_state->__pyx_n_s_CASHBACK); - Py_VISIT(traverse_module_state->__pyx_n_s_DATABASE_URL); - Py_VISIT(traverse_module_state->__pyx_kp_u_Europe_Moscow); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardButton); - Py_VISIT(traverse_module_state->__pyx_n_s_MAIN_MENU); - Py_VISIT(traverse_module_state->__pyx_kp_u_PAYMENT); - Py_VISIT(traverse_module_state->__pyx_n_s_PAYMENT_SUCCESS_MESSAGE); - Py_VISIT(traverse_module_state->__pyx_kp_u_RENEW); - Py_VISIT(traverse_module_state->__pyx_n_s_RENEW_KEY); - Py_VISIT(traverse_module_state->__pyx_n_s_USE_NEW_PAYMENT_FLOW); - Py_VISIT(traverse_module_state->__pyx_kp_u__10); - Py_VISIT(traverse_module_state->__pyx_kp_u__11); - Py_VISIT(traverse_module_state->__pyx_kp_u__12); - Py_VISIT(traverse_module_state->__pyx_kp_u__13); - Py_VISIT(traverse_module_state->__pyx_kp_u__14); - Py_VISIT(traverse_module_state->__pyx_kp_u__15); - Py_VISIT(traverse_module_state->__pyx_kp_u__17); - Py_VISIT(traverse_module_state->__pyx_kp_u__18); - Py_VISIT(traverse_module_state->__pyx_kp_u__19); - Py_VISIT(traverse_module_state->__pyx_kp_u__2); - Py_VISIT(traverse_module_state->__pyx_kp_u__20); - Py_VISIT(traverse_module_state->__pyx_kp_u__21); - Py_VISIT(traverse_module_state->__pyx_kp_u__22); - Py_VISIT(traverse_module_state->__pyx_kp_u__23); - Py_VISIT(traverse_module_state->__pyx_kp_u__24); - Py_VISIT(traverse_module_state->__pyx_kp_u__25); - Py_VISIT(traverse_module_state->__pyx_kp_u__26); - Py_VISIT(traverse_module_state->__pyx_kp_u__27); - Py_VISIT(traverse_module_state->__pyx_kp_u__28); - Py_VISIT(traverse_module_state->__pyx_kp_u__29); - Py_VISIT(traverse_module_state->__pyx_kp_u__3); - Py_VISIT(traverse_module_state->__pyx_kp_u__30); - Py_VISIT(traverse_module_state->__pyx_kp_u__31); - Py_VISIT(traverse_module_state->__pyx_kp_u__32); - Py_VISIT(traverse_module_state->__pyx_kp_u__33); - Py_VISIT(traverse_module_state->__pyx_kp_u__34); - Py_VISIT(traverse_module_state->__pyx_kp_u__35); - Py_VISIT(traverse_module_state->__pyx_kp_u__36); - Py_VISIT(traverse_module_state->__pyx_kp_u__37); - Py_VISIT(traverse_module_state->__pyx_kp_u__38); - Py_VISIT(traverse_module_state->__pyx_n_s__39); - Py_VISIT(traverse_module_state->__pyx_kp_u__4); - Py_VISIT(traverse_module_state->__pyx_n_s__41); - Py_VISIT(traverse_module_state->__pyx_kp_u__5); - Py_VISIT(traverse_module_state->__pyx_kp_u__6); - Py_VISIT(traverse_module_state->__pyx_kp_u__7); - Py_VISIT(traverse_module_state->__pyx_kp_u__8); - Py_VISIT(traverse_module_state->__pyx_kp_u__9); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_types); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_VISIT(traverse_module_state->__pyx_n_s_all); - Py_VISIT(traverse_module_state->__pyx_n_s_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_args); - Py_VISIT(traverse_module_state->__pyx_n_s_as_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncpg); - Py_VISIT(traverse_module_state->__pyx_n_s_await); - Py_VISIT(traverse_module_state->__pyx_n_s_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_bot); - Py_VISIT(traverse_module_state->__pyx_n_s_builder); - Py_VISIT(traverse_module_state->__pyx_n_s_callback_data); - Py_VISIT(traverse_module_state->__pyx_n_s_cashback_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_cashback_text); - Py_VISIT(traverse_module_state->__pyx_n_s_chat_id); - Py_VISIT(traverse_module_state->__pyx_n_s_clear_temporary_data); - Py_VISIT(traverse_module_state->__pyx_n_s_client_id); - Py_VISIT(traverse_module_state->__pyx_n_u_client_id); - Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback); - Py_VISIT(traverse_module_state->__pyx_n_s_close); - Py_VISIT(traverse_module_state->__pyx_n_s_complete_key_renewal); - Py_VISIT(traverse_module_state->__pyx_n_s_config); - Py_VISIT(traverse_module_state->__pyx_n_s_conn); - Py_VISIT(traverse_module_state->__pyx_n_s_connect); - Py_VISIT(traverse_module_state->__pyx_n_s_cost); - Py_VISIT(traverse_module_state->__pyx_n_u_cost); - Py_VISIT(traverse_module_state->__pyx_n_s_create_key); - Py_VISIT(traverse_module_state->__pyx_n_u_create_key); - Py_VISIT(traverse_module_state->__pyx_n_s_data); - Py_VISIT(traverse_module_state->__pyx_n_u_data); - Py_VISIT(traverse_module_state->__pyx_n_s_database); - Py_VISIT(traverse_module_state->__pyx_n_s_datetime); - Py_VISIT(traverse_module_state->__pyx_n_s_days); - Py_VISIT(traverse_module_state->__pyx_kp_u_disable); - Py_VISIT(traverse_module_state->__pyx_n_s_duration_days); - Py_VISIT(traverse_module_state->__pyx_n_u_duration_days); - Py_VISIT(traverse_module_state->__pyx_n_s_e); - Py_VISIT(traverse_module_state->__pyx_n_s_email); - Py_VISIT(traverse_module_state->__pyx_n_u_email); - Py_VISIT(traverse_module_state->__pyx_kp_u_enable); - Py_VISIT(traverse_module_state->__pyx_n_s_error); - Py_VISIT(traverse_module_state->__pyx_n_s_expiry_time); - Py_VISIT(traverse_module_state->__pyx_n_s_float); - Py_VISIT(traverse_module_state->__pyx_n_s_format); - Py_VISIT(traverse_module_state->__pyx_kp_u_gc); - Py_VISIT(traverse_module_state->__pyx_n_s_get); - Py_VISIT(traverse_module_state->__pyx_n_s_get_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_get_temporary_data); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_buttons); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_keys_key_management); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_keys_keys); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_utils); - Py_VISIT(traverse_module_state->__pyx_kp_s_handlers_payments_utils_py); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_texts); - Py_VISIT(traverse_module_state->__pyx_n_s_import); - Py_VISIT(traverse_module_state->__pyx_n_s_info); - Py_VISIT(traverse_module_state->__pyx_n_s_initializing); - Py_VISIT(traverse_module_state->__pyx_n_s_int); - Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine); - Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled); - Py_VISIT(traverse_module_state->__pyx_n_s_logger); - Py_VISIT(traverse_module_state->__pyx_n_s_main); - Py_VISIT(traverse_module_state->__pyx_n_s_moscow_tz); - Py_VISIT(traverse_module_state->__pyx_n_s_name); - Py_VISIT(traverse_module_state->__pyx_n_s_new_expiry_time); - Py_VISIT(traverse_module_state->__pyx_n_u_new_expiry_time); - Py_VISIT(traverse_module_state->__pyx_n_s_now); - Py_VISIT(traverse_module_state->__pyx_n_s_payment_text); - Py_VISIT(traverse_module_state->__pyx_n_s_plan); - Py_VISIT(traverse_module_state->__pyx_n_u_plan); - Py_VISIT(traverse_module_state->__pyx_n_u_plan_id); - Py_VISIT(traverse_module_state->__pyx_n_s_plan_price); - Py_VISIT(traverse_module_state->__pyx_n_u_plan_price); - Py_VISIT(traverse_module_state->__pyx_n_u_profile); - Py_VISIT(traverse_module_state->__pyx_n_s_pytz); - Py_VISIT(traverse_module_state->__pyx_n_s_reply_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_required_amount); - Py_VISIT(traverse_module_state->__pyx_n_u_required_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_round); - Py_VISIT(traverse_module_state->__pyx_n_s_row); - Py_VISIT(traverse_module_state->__pyx_n_s_send); - Py_VISIT(traverse_module_state->__pyx_n_s_send_message); - Py_VISIT(traverse_module_state->__pyx_n_s_send_payment_success_notificatio); - Py_VISIT(traverse_module_state->__pyx_n_s_spec); - Py_VISIT(traverse_module_state->__pyx_n_s_state); - Py_VISIT(traverse_module_state->__pyx_n_u_state); - Py_VISIT(traverse_module_state->__pyx_n_s_temp_data); - Py_VISIT(traverse_module_state->__pyx_n_s_test); - Py_VISIT(traverse_module_state->__pyx_n_s_text); - Py_VISIT(traverse_module_state->__pyx_n_s_throw); - Py_VISIT(traverse_module_state->__pyx_n_s_timedelta); - Py_VISIT(traverse_module_state->__pyx_n_s_timezone); - Py_VISIT(traverse_module_state->__pyx_n_s_total_gb); - Py_VISIT(traverse_module_state->__pyx_n_u_total_gb); - Py_VISIT(traverse_module_state->__pyx_n_s_update_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_user_id); - Py_VISIT(traverse_module_state->__pyx_n_u_view_keys); - Py_VISIT(traverse_module_state->__pyx_n_u_waiting_for_payment); - Py_VISIT(traverse_module_state->__pyx_n_u_waiting_for_renewal_payment); - Py_VISIT(traverse_module_state->__pyx_n_s_warning); - Py_VISIT(traverse_module_state->__pyx_int_0); - Py_VISIT(traverse_module_state->__pyx_int_2); - Py_VISIT(traverse_module_state->__pyx_int_100); - Py_VISIT(traverse_module_state->__pyx_codeobj_); - Py_VISIT(traverse_module_state->__pyx_tuple__16); - Py_VISIT(traverse_module_state->__pyx_tuple__40); - return 0; -} -#endif -/* #### Code section: module_state_defines ### */ -#define __pyx_d __pyx_mstate_global->__pyx_d -#define __pyx_b __pyx_mstate_global->__pyx_b -#define __pyx_cython_runtime __pyx_mstate_global->__pyx_cython_runtime -#define __pyx_empty_tuple __pyx_mstate_global->__pyx_empty_tuple -#define __pyx_empty_bytes __pyx_mstate_global->__pyx_empty_bytes -#define __pyx_empty_unicode __pyx_mstate_global->__pyx_empty_unicode -#ifdef __Pyx_CyFunction_USED -#define __pyx_CyFunctionType __pyx_mstate_global->__pyx_CyFunctionType -#endif -#ifdef __Pyx_FusedFunction_USED -#define __pyx_FusedFunctionType __pyx_mstate_global->__pyx_FusedFunctionType -#endif -#ifdef __Pyx_Generator_USED -#define __pyx_GeneratorType __pyx_mstate_global->__pyx_GeneratorType -#endif -#ifdef __Pyx_IterableCoroutine_USED -#define __pyx_IterableCoroutineType __pyx_mstate_global->__pyx_IterableCoroutineType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineAwaitType __pyx_mstate_global->__pyx_CoroutineAwaitType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineType __pyx_mstate_global->__pyx_CoroutineType -#endif -#if CYTHON_USE_MODULE_STATE -#define __pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification __pyx_mstate_global->__pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification -#endif -#define __pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification __pyx_mstate_global->__pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification -#define __pyx_n_s_ADD_SUB __pyx_mstate_global->__pyx_n_s_ADD_SUB -#define __pyx_n_s_CASHBACK __pyx_mstate_global->__pyx_n_s_CASHBACK -#define __pyx_n_s_DATABASE_URL __pyx_mstate_global->__pyx_n_s_DATABASE_URL -#define __pyx_kp_u_Europe_Moscow __pyx_mstate_global->__pyx_kp_u_Europe_Moscow -#define __pyx_n_s_InlineKeyboardBuilder __pyx_mstate_global->__pyx_n_s_InlineKeyboardBuilder -#define __pyx_n_s_InlineKeyboardButton __pyx_mstate_global->__pyx_n_s_InlineKeyboardButton -#define __pyx_n_s_MAIN_MENU __pyx_mstate_global->__pyx_n_s_MAIN_MENU -#define __pyx_kp_u_PAYMENT __pyx_mstate_global->__pyx_kp_u_PAYMENT -#define __pyx_n_s_PAYMENT_SUCCESS_MESSAGE __pyx_mstate_global->__pyx_n_s_PAYMENT_SUCCESS_MESSAGE -#define __pyx_kp_u_RENEW __pyx_mstate_global->__pyx_kp_u_RENEW -#define __pyx_n_s_RENEW_KEY __pyx_mstate_global->__pyx_n_s_RENEW_KEY -#define __pyx_n_s_USE_NEW_PAYMENT_FLOW __pyx_mstate_global->__pyx_n_s_USE_NEW_PAYMENT_FLOW -#define __pyx_kp_u__10 __pyx_mstate_global->__pyx_kp_u__10 -#define __pyx_kp_u__11 __pyx_mstate_global->__pyx_kp_u__11 -#define __pyx_kp_u__12 __pyx_mstate_global->__pyx_kp_u__12 -#define __pyx_kp_u__13 __pyx_mstate_global->__pyx_kp_u__13 -#define __pyx_kp_u__14 __pyx_mstate_global->__pyx_kp_u__14 -#define __pyx_kp_u__15 __pyx_mstate_global->__pyx_kp_u__15 -#define __pyx_kp_u__17 __pyx_mstate_global->__pyx_kp_u__17 -#define __pyx_kp_u__18 __pyx_mstate_global->__pyx_kp_u__18 -#define __pyx_kp_u__19 __pyx_mstate_global->__pyx_kp_u__19 -#define __pyx_kp_u__2 __pyx_mstate_global->__pyx_kp_u__2 -#define __pyx_kp_u__20 __pyx_mstate_global->__pyx_kp_u__20 -#define __pyx_kp_u__21 __pyx_mstate_global->__pyx_kp_u__21 -#define __pyx_kp_u__22 __pyx_mstate_global->__pyx_kp_u__22 -#define __pyx_kp_u__23 __pyx_mstate_global->__pyx_kp_u__23 -#define __pyx_kp_u__24 __pyx_mstate_global->__pyx_kp_u__24 -#define __pyx_kp_u__25 __pyx_mstate_global->__pyx_kp_u__25 -#define __pyx_kp_u__26 __pyx_mstate_global->__pyx_kp_u__26 -#define __pyx_kp_u__27 __pyx_mstate_global->__pyx_kp_u__27 -#define __pyx_kp_u__28 __pyx_mstate_global->__pyx_kp_u__28 -#define __pyx_kp_u__29 __pyx_mstate_global->__pyx_kp_u__29 -#define __pyx_kp_u__3 __pyx_mstate_global->__pyx_kp_u__3 -#define __pyx_kp_u__30 __pyx_mstate_global->__pyx_kp_u__30 -#define __pyx_kp_u__31 __pyx_mstate_global->__pyx_kp_u__31 -#define __pyx_kp_u__32 __pyx_mstate_global->__pyx_kp_u__32 -#define __pyx_kp_u__33 __pyx_mstate_global->__pyx_kp_u__33 -#define __pyx_kp_u__34 __pyx_mstate_global->__pyx_kp_u__34 -#define __pyx_kp_u__35 __pyx_mstate_global->__pyx_kp_u__35 -#define __pyx_kp_u__36 __pyx_mstate_global->__pyx_kp_u__36 -#define __pyx_kp_u__37 __pyx_mstate_global->__pyx_kp_u__37 -#define __pyx_kp_u__38 __pyx_mstate_global->__pyx_kp_u__38 -#define __pyx_n_s__39 __pyx_mstate_global->__pyx_n_s__39 -#define __pyx_kp_u__4 __pyx_mstate_global->__pyx_kp_u__4 -#define __pyx_n_s__41 __pyx_mstate_global->__pyx_n_s__41 -#define __pyx_kp_u__5 __pyx_mstate_global->__pyx_kp_u__5 -#define __pyx_kp_u__6 __pyx_mstate_global->__pyx_kp_u__6 -#define __pyx_kp_u__7 __pyx_mstate_global->__pyx_kp_u__7 -#define __pyx_kp_u__8 __pyx_mstate_global->__pyx_kp_u__8 -#define __pyx_kp_u__9 __pyx_mstate_global->__pyx_kp_u__9 -#define __pyx_n_s_aiogram_types __pyx_mstate_global->__pyx_n_s_aiogram_types -#define __pyx_n_s_aiogram_utils_keyboard __pyx_mstate_global->__pyx_n_s_aiogram_utils_keyboard -#define __pyx_n_s_all __pyx_mstate_global->__pyx_n_s_all -#define __pyx_n_s_amount __pyx_mstate_global->__pyx_n_s_amount -#define __pyx_n_s_args __pyx_mstate_global->__pyx_n_s_args -#define __pyx_n_s_as_markup __pyx_mstate_global->__pyx_n_s_as_markup -#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines -#define __pyx_n_s_asyncpg __pyx_mstate_global->__pyx_n_s_asyncpg -#define __pyx_n_s_await __pyx_mstate_global->__pyx_n_s_await -#define __pyx_n_s_balance __pyx_mstate_global->__pyx_n_s_balance -#define __pyx_n_s_bot __pyx_mstate_global->__pyx_n_s_bot -#define __pyx_n_s_builder __pyx_mstate_global->__pyx_n_s_builder -#define __pyx_n_s_callback_data __pyx_mstate_global->__pyx_n_s_callback_data -#define __pyx_n_s_cashback_amount __pyx_mstate_global->__pyx_n_s_cashback_amount -#define __pyx_n_s_cashback_text __pyx_mstate_global->__pyx_n_s_cashback_text -#define __pyx_n_s_chat_id __pyx_mstate_global->__pyx_n_s_chat_id -#define __pyx_n_s_clear_temporary_data __pyx_mstate_global->__pyx_n_s_clear_temporary_data -#define __pyx_n_s_client_id __pyx_mstate_global->__pyx_n_s_client_id -#define __pyx_n_u_client_id __pyx_mstate_global->__pyx_n_u_client_id -#define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback -#define __pyx_n_s_close __pyx_mstate_global->__pyx_n_s_close -#define __pyx_n_s_complete_key_renewal __pyx_mstate_global->__pyx_n_s_complete_key_renewal -#define __pyx_n_s_config __pyx_mstate_global->__pyx_n_s_config -#define __pyx_n_s_conn __pyx_mstate_global->__pyx_n_s_conn -#define __pyx_n_s_connect __pyx_mstate_global->__pyx_n_s_connect -#define __pyx_n_s_cost __pyx_mstate_global->__pyx_n_s_cost -#define __pyx_n_u_cost __pyx_mstate_global->__pyx_n_u_cost -#define __pyx_n_s_create_key __pyx_mstate_global->__pyx_n_s_create_key -#define __pyx_n_u_create_key __pyx_mstate_global->__pyx_n_u_create_key -#define __pyx_n_s_data __pyx_mstate_global->__pyx_n_s_data -#define __pyx_n_u_data __pyx_mstate_global->__pyx_n_u_data -#define __pyx_n_s_database __pyx_mstate_global->__pyx_n_s_database -#define __pyx_n_s_datetime __pyx_mstate_global->__pyx_n_s_datetime -#define __pyx_n_s_days __pyx_mstate_global->__pyx_n_s_days -#define __pyx_kp_u_disable __pyx_mstate_global->__pyx_kp_u_disable -#define __pyx_n_s_duration_days __pyx_mstate_global->__pyx_n_s_duration_days -#define __pyx_n_u_duration_days __pyx_mstate_global->__pyx_n_u_duration_days -#define __pyx_n_s_e __pyx_mstate_global->__pyx_n_s_e -#define __pyx_n_s_email __pyx_mstate_global->__pyx_n_s_email -#define __pyx_n_u_email __pyx_mstate_global->__pyx_n_u_email -#define __pyx_kp_u_enable __pyx_mstate_global->__pyx_kp_u_enable -#define __pyx_n_s_error __pyx_mstate_global->__pyx_n_s_error -#define __pyx_n_s_expiry_time __pyx_mstate_global->__pyx_n_s_expiry_time -#define __pyx_n_s_float __pyx_mstate_global->__pyx_n_s_float -#define __pyx_n_s_format __pyx_mstate_global->__pyx_n_s_format -#define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc -#define __pyx_n_s_get __pyx_mstate_global->__pyx_n_s_get -#define __pyx_n_s_get_balance __pyx_mstate_global->__pyx_n_s_get_balance -#define __pyx_n_s_get_temporary_data __pyx_mstate_global->__pyx_n_s_get_temporary_data -#define __pyx_n_s_handlers_buttons __pyx_mstate_global->__pyx_n_s_handlers_buttons -#define __pyx_n_s_handlers_keys_key_management __pyx_mstate_global->__pyx_n_s_handlers_keys_key_management -#define __pyx_n_s_handlers_keys_keys __pyx_mstate_global->__pyx_n_s_handlers_keys_keys -#define __pyx_n_s_handlers_payments_utils __pyx_mstate_global->__pyx_n_s_handlers_payments_utils -#define __pyx_kp_s_handlers_payments_utils_py __pyx_mstate_global->__pyx_kp_s_handlers_payments_utils_py -#define __pyx_n_s_handlers_texts __pyx_mstate_global->__pyx_n_s_handlers_texts -#define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import -#define __pyx_n_s_info __pyx_mstate_global->__pyx_n_s_info -#define __pyx_n_s_initializing __pyx_mstate_global->__pyx_n_s_initializing -#define __pyx_n_s_int __pyx_mstate_global->__pyx_n_s_int -#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine -#define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled -#define __pyx_n_s_logger __pyx_mstate_global->__pyx_n_s_logger -#define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main -#define __pyx_n_s_moscow_tz __pyx_mstate_global->__pyx_n_s_moscow_tz -#define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name -#define __pyx_n_s_new_expiry_time __pyx_mstate_global->__pyx_n_s_new_expiry_time -#define __pyx_n_u_new_expiry_time __pyx_mstate_global->__pyx_n_u_new_expiry_time -#define __pyx_n_s_now __pyx_mstate_global->__pyx_n_s_now -#define __pyx_n_s_payment_text __pyx_mstate_global->__pyx_n_s_payment_text -#define __pyx_n_s_plan __pyx_mstate_global->__pyx_n_s_plan -#define __pyx_n_u_plan __pyx_mstate_global->__pyx_n_u_plan -#define __pyx_n_u_plan_id __pyx_mstate_global->__pyx_n_u_plan_id -#define __pyx_n_s_plan_price __pyx_mstate_global->__pyx_n_s_plan_price -#define __pyx_n_u_plan_price __pyx_mstate_global->__pyx_n_u_plan_price -#define __pyx_n_u_profile __pyx_mstate_global->__pyx_n_u_profile -#define __pyx_n_s_pytz __pyx_mstate_global->__pyx_n_s_pytz -#define __pyx_n_s_reply_markup __pyx_mstate_global->__pyx_n_s_reply_markup -#define __pyx_n_s_required_amount __pyx_mstate_global->__pyx_n_s_required_amount -#define __pyx_n_u_required_amount __pyx_mstate_global->__pyx_n_u_required_amount -#define __pyx_n_s_round __pyx_mstate_global->__pyx_n_s_round -#define __pyx_n_s_row __pyx_mstate_global->__pyx_n_s_row -#define __pyx_n_s_send __pyx_mstate_global->__pyx_n_s_send -#define __pyx_n_s_send_message __pyx_mstate_global->__pyx_n_s_send_message -#define __pyx_n_s_send_payment_success_notificatio __pyx_mstate_global->__pyx_n_s_send_payment_success_notificatio -#define __pyx_n_s_spec __pyx_mstate_global->__pyx_n_s_spec -#define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state -#define __pyx_n_u_state __pyx_mstate_global->__pyx_n_u_state -#define __pyx_n_s_temp_data __pyx_mstate_global->__pyx_n_s_temp_data -#define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test -#define __pyx_n_s_text __pyx_mstate_global->__pyx_n_s_text -#define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw -#define __pyx_n_s_timedelta __pyx_mstate_global->__pyx_n_s_timedelta -#define __pyx_n_s_timezone __pyx_mstate_global->__pyx_n_s_timezone -#define __pyx_n_s_total_gb __pyx_mstate_global->__pyx_n_s_total_gb -#define __pyx_n_u_total_gb __pyx_mstate_global->__pyx_n_u_total_gb -#define __pyx_n_s_update_balance __pyx_mstate_global->__pyx_n_s_update_balance -#define __pyx_n_s_user_id __pyx_mstate_global->__pyx_n_s_user_id -#define __pyx_n_u_view_keys __pyx_mstate_global->__pyx_n_u_view_keys -#define __pyx_n_u_waiting_for_payment __pyx_mstate_global->__pyx_n_u_waiting_for_payment -#define __pyx_n_u_waiting_for_renewal_payment __pyx_mstate_global->__pyx_n_u_waiting_for_renewal_payment -#define __pyx_n_s_warning __pyx_mstate_global->__pyx_n_s_warning -#define __pyx_int_0 __pyx_mstate_global->__pyx_int_0 -#define __pyx_int_2 __pyx_mstate_global->__pyx_int_2 -#define __pyx_int_100 __pyx_mstate_global->__pyx_int_100 -#define __pyx_codeobj_ __pyx_mstate_global->__pyx_codeobj_ -#define __pyx_tuple__16 __pyx_mstate_global->__pyx_tuple__16 -#define __pyx_tuple__40 __pyx_mstate_global->__pyx_tuple__40 -/* #### Code section: module_code ### */ -static PyObject *__pyx_gb_8handlers_8payments_5utils_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_5utils_1send_payment_success_notification(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_5utils_send_payment_success_notification, "\n \320\236\321\202\320\277\321\200\320\260\320\262\320\273\321\217\320\265\321\202 \320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\216 \321\201\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265 \320\276\320\261 \321\203\321\201\320\277\320\265\321\210\320\275\320\276\320\274 \320\277\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\270.\n \320\225\321\201\320\273\320\270 \320\262 config.py \321\203\320\272\320\260\320\267\320\260\320\275 CASHBACK > 0, \320\264\320\276\320\261\320\260\320\262\320\273\321\217\320\265\321\202 \320\270\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\216 \320\276 \320\272\320\265\321\210\320\261\321\215\320\272\320\265 \320\262 \321\201\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265.\n "); -static PyMethodDef __pyx_mdef_8handlers_8payments_5utils_1send_payment_success_notification = {"send_payment_success_notification", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_5utils_1send_payment_success_notification, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_5utils_send_payment_success_notification}; -static PyObject *__pyx_pw_8handlers_8payments_5utils_1send_payment_success_notification(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_user_id = 0; - double __pyx_v_amount; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("send_payment_success_notification (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_user_id,&__pyx_n_s_amount,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_user_id)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_amount)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 16, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("send_payment_success_notification", 1, 2, 2, 1); __PYX_ERR(0, 16, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "send_payment_success_notification") < 0)) __PYX_ERR(0, 16, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_user_id = ((PyObject*)values[0]); - __pyx_v_amount = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_amount == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 16, __pyx_L3_error) - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("send_payment_success_notification", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 16, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.utils.send_payment_success_notification", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_user_id), (&PyInt_Type), 0, "user_id", 1))) __PYX_ERR(0, 16, __pyx_L1_error) - __pyx_r = __pyx_pf_8handlers_8payments_5utils_send_payment_success_notification(__pyx_self, __pyx_v_user_id, __pyx_v_amount); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_5utils_send_payment_success_notification(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_user_id, double __pyx_v_amount) { - struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("send_payment_success_notification", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification *)__pyx_tp_new_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification(__pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 16, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_user_id = __pyx_v_user_id; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_user_id); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_user_id); - __pyx_cur_scope->__pyx_v_amount = __pyx_v_amount; - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_5utils_2generator, __pyx_codeobj_, (PyObject *) __pyx_cur_scope, __pyx_n_s_send_payment_success_notificatio, __pyx_n_s_send_payment_success_notificatio, __pyx_n_s_handlers_payments_utils); if (unlikely(!gen)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.utils.send_payment_success_notification", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_5utils_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - Py_ssize_t __pyx_t_7; - Py_UCS4 __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - unsigned int __pyx_t_11; - int __pyx_t_12; - int __pyx_t_13; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_t_16; - char const *__pyx_t_17; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - char const *__pyx_t_26; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("send_payment_success_notification", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L14_resume_from_await; - case 2: goto __pyx_L18_resume_from_await; - case 3: goto __pyx_L23_resume_from_await; - case 4: goto __pyx_L25_resume_from_await; - case 5: goto __pyx_L26_resume_from_await; - case 6: goto __pyx_L28_resume_from_await; - case 7: goto __pyx_L30_resume_from_await; - case 8: goto __pyx_L31_resume_from_await; - case 9: goto __pyx_L32_resume_from_await; - case 10: goto __pyx_L33_resume_from_await; - case 11: goto __pyx_L34_resume_from_await; - case 12: goto __pyx_L35_resume_from_await; - case 13: goto __pyx_L38_resume_from_await; - case 14: goto __pyx_L39_resume_from_await; - case 15: goto __pyx_L40_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 16, __pyx_L1_error) - - { - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_user_id); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 22, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - if (!(likely(__Pyx_Py3Int_CheckExact(__pyx_t_4)) || __Pyx_RaiseUnexpectedTypeError("int", __pyx_t_4))) __PYX_ERR(0, 22, __pyx_L4_error) - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_user_id); - __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_user_id, ((PyObject*)__pyx_t_4)); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__2); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 65; - __Pyx_GIVEREF(__pyx_kp_u__2); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u__2); - __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 23, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_9); - __pyx_t_9 = 0; - __Pyx_INCREF(__pyx_kp_u__3); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 10; - __Pyx_GIVEREF(__pyx_kp_u__3); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__3); - __pyx_t_9 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 23, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_t_9, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 23, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_10); - __pyx_t_10 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_kp_u__4); - __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_5, 5, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 23, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_10}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - __pyx_cur_scope->__pyx_v_cashback_amount = __pyx_int_0; - - __Pyx_INCREF(__pyx_kp_u__5); - __Pyx_GIVEREF(__pyx_kp_u__5); - __pyx_cur_scope->__pyx_v_cashback_text = __pyx_kp_u__5; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CASHBACK); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 27, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_13) { - } else { - __pyx_t_12 = __pyx_t_13; - goto __pyx_L11_bool_binop_done; - } - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CASHBACK); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 27, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 27, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 27, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_12 = __pyx_t_13; - __pyx_L11_bool_binop_done:; - if (__pyx_t_12) { - - __pyx_t_6 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 28, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CASHBACK); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_10 = __Pyx_PyInt_TrueDivideObjC(__pyx_t_4, __pyx_int_100, 0x64, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 28, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Multiply(__pyx_t_6, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 28, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_4)) __PYX_ERR(0, 28, __pyx_L4_error); - __Pyx_INCREF(__pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_int_2)) __PYX_ERR(0, 28, __pyx_L4_error); - __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_round, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_cashback_amount); - __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_cashback_amount, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__6); - __pyx_t_7 += 3; - __Pyx_GIVEREF(__pyx_kp_u__6); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u__6); - __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_cashback_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 29, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_10); - __pyx_t_10 = 0; - __Pyx_INCREF(__pyx_kp_u__7); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 14; - __Pyx_GIVEREF(__pyx_kp_u__7); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__7); - __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 29, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_cashback_text); - __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_cashback_text, ((PyObject*)__pyx_t_10)); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 30, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__8); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 15; - __Pyx_GIVEREF(__pyx_kp_u__8); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u__8); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__9); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 9; - __Pyx_GIVEREF(__pyx_kp_u__9); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__9); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_cashback_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__10); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 6; - __Pyx_GIVEREF(__pyx_kp_u__10); - PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_kp_u__10); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CASHBACK); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_4, 5, __pyx_t_9); - __pyx_t_9 = 0; - __Pyx_INCREF(__pyx_kp_u__11); - __pyx_t_7 += 3; - __Pyx_GIVEREF(__pyx_kp_u__11); - PyTuple_SET_ITEM(__pyx_t_4, 6, __pyx_kp_u__11); - __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_4, 7, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 30, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 30, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_PAYMENT_SUCCESS_MESSAGE); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 32, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 32, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 32, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 32, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_amount, __pyx_t_9) < 0) __PYX_ERR(0, 32, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_cashback_text, __pyx_cur_scope->__pyx_v_cashback_text) < 0) __PYX_ERR(0, 32, __pyx_L4_error) - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 32, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_v_payment_text = __pyx_t_9; - __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 34, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 34, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_GIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_9; - __pyx_t_9 = 0; - - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 35, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 35, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 35, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_MAIN_MENU); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_text, __pyx_t_5) < 0) __PYX_ERR(0, 35, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 35, __pyx_L4_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 35, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_USE_NEW_PAYMENT_FLOW); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 37, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_12) { - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_logger); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 38, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_kp_u__12}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 38, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 39, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_INCREF(__pyx_n_s_create_key); - __Pyx_GIVEREF(__pyx_n_s_create_key); - if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_n_s_create_key)) __PYX_ERR(0, 39, __pyx_L4_error); - __pyx_t_5 = __Pyx_Import(__pyx_n_s_handlers_keys_key_management, __pyx_t_9, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 39, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = __Pyx_ImportFrom(__pyx_t_5, __pyx_n_s_create_key); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 39, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_INCREF(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_v_create_key = __pyx_t_9; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_asyncpg); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_connect); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 40, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_DATABASE_URL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 40, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L14_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 40, __pyx_L4_error) - __pyx_t_5 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_5); - } else { - __pyx_t_5 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_5) < 0) __PYX_ERR(0, 40, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_conn = __pyx_t_5; - __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_logger); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 41, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_info); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 41, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 41, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__13); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 55; - __Pyx_GIVEREF(__pyx_kp_u__13); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u__13); - __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4); - __pyx_t_4 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_kp_u__4); - __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_4}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 41, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_get_temporary_data); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 43, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_conn, __pyx_cur_scope->__pyx_v_user_id}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 43, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L18_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 43, __pyx_L16_error) - __pyx_t_5 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_5); - } else { - __pyx_t_5 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_5) < 0) __PYX_ERR(0, 43, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - } - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_temp_data = __pyx_t_5; - __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_logger); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 44, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyTuple_New(5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 44, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__14); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 43; - __Pyx_GIVEREF(__pyx_kp_u__14); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_u__14); - __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 44, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_10); - __pyx_t_10 = 0; - __Pyx_INCREF(__pyx_kp_u__15); - __pyx_t_7 += 2; - __Pyx_GIVEREF(__pyx_kp_u__15); - PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_kp_u__15); - __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_temp_data, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 44, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_t_10); - __pyx_t_10 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_9, 4, __pyx_kp_u__4); - __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_9, 5, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 44, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_10}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 44, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_temp_data); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 45, __pyx_L16_error) - if (__pyx_t_12) { - - __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_temp_data, __pyx_n_u_state); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_state = __pyx_t_5; - __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_temp_data, __pyx_n_u_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_data = __pyx_t_5; - __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 48, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 48, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_required_amount = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyInt_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_required_amount); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 50, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 50, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 50, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_12) { - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 51, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_warning); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 51, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 51, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u_PAYMENT); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 17; - __Pyx_GIVEREF(__pyx_kp_u_PAYMENT); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_PAYMENT); - __pyx_t_9 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 51, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_9, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 51, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_INCREF(__pyx_kp_u__17); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 34; - __Pyx_GIVEREF(__pyx_kp_u__17); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__17); - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_required_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 51, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_kp_u__4); - __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 5, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 51, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 51, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - goto __pyx_L20; - } - - /*else*/ { - __pyx_t_12 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_state, __pyx_n_u_waiting_for_renewal_payment, Py_EQ)); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 53, __pyx_L16_error) - if (__pyx_t_12) { - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 54, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 54, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 54, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__18); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 48; - __Pyx_GIVEREF(__pyx_kp_u__18); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u__18); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 54, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__4); - __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 54, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 54, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 55, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_INCREF(__pyx_n_s_complete_key_renewal); - __Pyx_GIVEREF(__pyx_n_s_complete_key_renewal); - if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_n_s_complete_key_renewal)) __PYX_ERR(0, 55, __pyx_L16_error); - __pyx_t_6 = __Pyx_Import(__pyx_n_s_handlers_keys_keys, __pyx_t_10, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 55, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_ImportFrom(__pyx_t_6, __pyx_n_s_complete_key_renewal); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 55, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_INCREF(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_v_complete_key_renewal = __pyx_t_10; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 57, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_plan}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 57, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_plan = __pyx_t_6; - __pyx_t_6 = 0; - - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 58, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_client_id}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 58, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_client_id = __pyx_t_6; - __pyx_t_6 = 0; - - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 59, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_new_expiry_time}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 59, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_new_expiry_time = __pyx_t_6; - __pyx_t_6 = 0; - - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 60, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_total_gb}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 60, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_total_gb = __pyx_t_6; - __pyx_t_6 = 0; - - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 61, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_cost}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 61, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_cost = __pyx_t_6; - __pyx_t_6 = 0; - - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 62, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_email}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 62, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_email = __pyx_t_6; - __pyx_t_6 = 0; - - __pyx_t_6 = PyList_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 64, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_plan); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_plan); - if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_cur_scope->__pyx_v_plan)) __PYX_ERR(0, 64, __pyx_L16_error); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_client_id); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_client_id); - if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 1, __pyx_cur_scope->__pyx_v_client_id)) __PYX_ERR(0, 64, __pyx_L16_error); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_new_expiry_time); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_new_expiry_time); - if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 2, __pyx_cur_scope->__pyx_v_new_expiry_time)) __PYX_ERR(0, 64, __pyx_L16_error); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_email); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_email); - if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 3, __pyx_cur_scope->__pyx_v_email)) __PYX_ERR(0, 64, __pyx_L16_error); - __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_all, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 64, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_12 < 0))) __PYX_ERR(0, 64, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_13 = (!__pyx_t_12); - if (__pyx_t_13) { - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_logger); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 65, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 65, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 65, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_kp_u_RENEW, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_4}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 65, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L15_return; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_get_balance); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 68, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_user_id}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 68, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L23_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 68, __pyx_L16_error) - __pyx_t_10 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_10); - } else { - __pyx_t_10 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_10) < 0) __PYX_ERR(0, 68, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_GIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_v_balance = __pyx_t_10; - __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 69, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 69, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 69, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__19); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 28; - __Pyx_GIVEREF(__pyx_kp_u__19); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u__19); - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 69, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_INCREF(__pyx_kp_u__15); - __pyx_t_7 += 2; - __Pyx_GIVEREF(__pyx_kp_u__15); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__15); - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_balance, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 69, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_INCREF(__pyx_kp_u__20); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 19; - __Pyx_GIVEREF(__pyx_kp_u__20); - PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_kp_u__20); - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_cost, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 69, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_5, 5, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_5, 6, __pyx_kp_u__4); - __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 7, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 69, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 69, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_balance, __pyx_cur_scope->__pyx_v_cost, Py_GE); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 70, __pyx_L16_error) - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 70, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_13) { - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 71, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 71, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 71, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__21); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 52; - __Pyx_GIVEREF(__pyx_kp_u__21); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u__21); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 71, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__22); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 19; - __Pyx_GIVEREF(__pyx_kp_u__22); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__22); - __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 71, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 71, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_complete_key_renewal); - __pyx_t_6 = __pyx_cur_scope->__pyx_v_complete_key_renewal; __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[9] = {__pyx_t_5, __pyx_cur_scope->__pyx_v_user_id, __pyx_cur_scope->__pyx_v_client_id, __pyx_cur_scope->__pyx_v_email, __pyx_cur_scope->__pyx_v_new_expiry_time, __pyx_cur_scope->__pyx_v_total_gb, __pyx_cur_scope->__pyx_v_cost, Py_None, __pyx_cur_scope->__pyx_v_plan}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 8+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 72, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L25_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 72, __pyx_L16_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 72, __pyx_L16_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_logger); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 75, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 75, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 75, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__23); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 38; - __Pyx_GIVEREF(__pyx_kp_u__23); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u__23); - __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 75, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); - __pyx_t_4 = 0; - __Pyx_INCREF(__pyx_kp_u__24); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 27; - __Pyx_GIVEREF(__pyx_kp_u__24); - PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__24); - __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 75, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_4}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 75, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_clear_temporary_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 76, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_conn, __pyx_cur_scope->__pyx_v_user_id}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L26_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 76, __pyx_L16_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 76, __pyx_L16_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L15_return; - - } - - } - - __pyx_t_13 = (__Pyx_PyUnicode_Equals(__pyx_cur_scope->__pyx_v_state, __pyx_n_u_waiting_for_payment, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 79, __pyx_L16_error) - if (__pyx_t_13) { - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 80, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 80, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 80, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__25); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 56; - __Pyx_GIVEREF(__pyx_kp_u__25); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u__25); - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 80, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__4); - __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 80, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 80, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_data, __pyx_n_u_plan_price); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 81, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_v_plan_price = __pyx_t_10; - __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_data, __pyx_n_u_duration_days); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 82, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_v_duration_days = __pyx_t_10; - __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_get_balance); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 84, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_user_id}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 84, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_10); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 6; - return __pyx_r; - __pyx_L28_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 84, __pyx_L16_error) - __pyx_t_10 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_10); - } else { - __pyx_t_10 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_10) < 0) __PYX_ERR(0, 84, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_balance); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_balance, __pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 85, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_info); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 85, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 85, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__19); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 28; - __Pyx_GIVEREF(__pyx_kp_u__19); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u__19); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 85, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__15); - __pyx_t_7 += 2; - __Pyx_GIVEREF(__pyx_kp_u__15); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__15); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_balance, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 85, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__26); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 14; - __Pyx_GIVEREF(__pyx_kp_u__26); - PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_kp_u__26); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_plan_price, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 85, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 5, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_4, 6, __pyx_kp_u__4); - __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 7, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 85, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 85, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_balance, __pyx_cur_scope->__pyx_v_plan_price, Py_GE); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L16_error) - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 86, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_13) { - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pytz); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 87, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_timezone); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 87, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_kp_u_Europe_Moscow}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 87, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_GIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_v_moscow_tz = __pyx_t_10; - __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_datetime); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 88, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_now); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 88, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_cur_scope->__pyx_v_moscow_tz}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 88, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_timedelta); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 88, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 88, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_days, __pyx_cur_scope->__pyx_v_duration_days) < 0) __PYX_ERR(0, 88, __pyx_L16_error) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 88, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyNumber_Add(__pyx_t_10, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 88, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_expiry_time = __pyx_t_5; - __pyx_t_5 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 89, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_10 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_n_u_plan_id}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 89, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_plan); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_plan, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 90, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_info); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 90, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 90, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__27); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 39; - __Pyx_GIVEREF(__pyx_kp_u__27); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u__27); - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 90, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_INCREF(__pyx_kp_u__28); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 10; - __Pyx_GIVEREF(__pyx_kp_u__28); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__28); - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_plan, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 90, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_INCREF(__pyx_kp_u__29); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 4; - __Pyx_GIVEREF(__pyx_kp_u__29); - PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_kp_u__29); - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_expiry_time, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 90, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_4, 5, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_4, 6, __pyx_kp_u__4); - __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_4, 7, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 90, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 90, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_10 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_plan); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 91, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_create_key); - __pyx_t_6 = __pyx_cur_scope->__pyx_v_create_key; __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_6))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_6, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[8] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_user_id, __pyx_cur_scope->__pyx_v_expiry_time, Py_None, __pyx_cur_scope->__pyx_v_conn, Py_None, Py_None, __pyx_t_10}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_11, 7+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 91, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 7; - return __pyx_r; - __pyx_L30_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 91, __pyx_L16_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 91, __pyx_L16_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_logger); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 93, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_info); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 93, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 93, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__30); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 32; - __Pyx_GIVEREF(__pyx_kp_u__30); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u__30); - __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 93, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_4); - __pyx_t_4 = 0; - __Pyx_INCREF(__pyx_kp_u__31); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 14; - __Pyx_GIVEREF(__pyx_kp_u__31); - PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__31); - __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 93, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_4}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 93, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 94, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_4 = PyNumber_Negative(__pyx_cur_scope->__pyx_v_plan_price); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 94, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_user_id, __pyx_t_4}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 94, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 8; - return __pyx_r; - __pyx_L31_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 94, __pyx_L16_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 94, __pyx_L16_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_logger); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 95, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 95, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 95, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__32); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 42; - __Pyx_GIVEREF(__pyx_kp_u__32); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u__32); - __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 95, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_6); - __pyx_t_6 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_kp_u__4); - __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 95, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_6}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 95, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_clear_temporary_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 96, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_conn, __pyx_cur_scope->__pyx_v_user_id}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 96, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 9; - return __pyx_r; - __pyx_L32_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 96, __pyx_L16_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 96, __pyx_L16_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L15_return; - - } - - } - } - __pyx_L20:; - - } - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 99, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 100, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 100, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_ADD_SUB); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 100, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 100, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_callback_data, __pyx_n_u_create_key) < 0) __PYX_ERR(0, 100, __pyx_L16_error) - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 100, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 101, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 101, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_RENEW_KEY); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 101, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_14); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_text, __pyx_t_14) < 0) __PYX_ERR(0, 101, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_data, __pyx_n_u_view_keys) < 0) __PYX_ERR(0, 101, __pyx_L16_error) - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 101, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_9, __pyx_t_14}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 99, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_info); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 103, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 103, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__33); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 54; - __Pyx_GIVEREF(__pyx_kp_u__33); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u__33); - __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 103, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_9); - __pyx_t_9 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__4); - __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 103, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 103, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_bot); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 104, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_send_message); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 104, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 105, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_chat_id, __pyx_cur_scope->__pyx_v_user_id) < 0) __PYX_ERR(0, 105, __pyx_L16_error) - - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_text, __pyx_cur_scope->__pyx_v_payment_text) < 0) __PYX_ERR(0, 105, __pyx_L16_error) - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 107, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_reply_markup, __pyx_t_9) < 0) __PYX_ERR(0, 105, __pyx_L16_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 104, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 10; - return __pyx_r; - __pyx_L33_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 104, __pyx_L16_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 104, __pyx_L16_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 109, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_info); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 109, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 109, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__34); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 44; - __Pyx_GIVEREF(__pyx_kp_u__34); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u__34); - __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 109, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); - __pyx_t_4 = 0; - __Pyx_INCREF(__pyx_kp_u__24); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 27; - __Pyx_GIVEREF(__pyx_kp_u__24); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__24); - __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 109, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 109, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_clear_temporary_data); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 110, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_conn, __pyx_cur_scope->__pyx_v_user_id}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 110, __pyx_L16_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 11; - return __pyx_r; - __pyx_L34_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 110, __pyx_L16_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 110, __pyx_L16_error) - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_logger); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__35); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 52; - __Pyx_GIVEREF(__pyx_kp_u__35); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_kp_u__35); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_kp_u__4); - __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_14, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_5}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_conn, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 114, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 114, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 12; - return __pyx_r; - __pyx_L35_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 114, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 114, __pyx_L4_error) - } - } - goto __pyx_L17; - } - __pyx_L16_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_15 = __pyx_lineno; __pyx_t_16 = __pyx_clineno; __pyx_t_17 = __pyx_filename; - { - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 113, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 113, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 113, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__35); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 52; - __Pyx_GIVEREF(__pyx_kp_u__35); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u__35); - __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 113, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_14); - __pyx_t_14 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__4); - __pyx_t_14 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 113, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_14}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 113, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_conn, __pyx_n_s_close); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 114, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_14, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 114, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = __pyx_t_15; - __pyx_cur_scope->__pyx_t_4 = __pyx_t_16; - __pyx_cur_scope->__pyx_t_5 = __pyx_t_17; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_6 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_19); - __pyx_cur_scope->__pyx_t_7 = __pyx_t_19; - __Pyx_XGIVEREF(__pyx_t_20); - __pyx_cur_scope->__pyx_t_8 = __pyx_t_20; - __Pyx_XGIVEREF(__pyx_t_21); - __pyx_cur_scope->__pyx_t_9 = __pyx_t_21; - __Pyx_XGIVEREF(__pyx_t_22); - __pyx_cur_scope->__pyx_t_10 = __pyx_t_22; - __Pyx_XGIVEREF(__pyx_t_23); - __pyx_cur_scope->__pyx_t_11 = __pyx_t_23; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 13; - return __pyx_r; - __pyx_L38_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - __pyx_t_15 = __pyx_cur_scope->__pyx_t_3; - __pyx_t_16 = __pyx_cur_scope->__pyx_t_4; - __pyx_t_17 = __pyx_cur_scope->__pyx_t_5; - __pyx_t_18 = __pyx_cur_scope->__pyx_t_6; - __pyx_cur_scope->__pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_19 = __pyx_cur_scope->__pyx_t_7; - __pyx_cur_scope->__pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_t_19); - __pyx_t_20 = __pyx_cur_scope->__pyx_t_8; - __pyx_cur_scope->__pyx_t_8 = 0; - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_21 = __pyx_cur_scope->__pyx_t_9; - __pyx_cur_scope->__pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_t_21); - __pyx_t_22 = __pyx_cur_scope->__pyx_t_10; - __pyx_cur_scope->__pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_23 = __pyx_cur_scope->__pyx_t_11; - __pyx_cur_scope->__pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_t_23); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 114, __pyx_L37_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 114, __pyx_L37_error) - } - } - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); - } - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ErrRestore(__pyx_t_18, __pyx_t_19, __pyx_t_20); - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - __pyx_lineno = __pyx_t_15; __pyx_clineno = __pyx_t_16; __pyx_filename = __pyx_t_17; - goto __pyx_L4_error; - __pyx_L37_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); - } - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - goto __pyx_L4_error; - } - __pyx_L15_return: { - __Pyx_PyThreadState_assign - __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_18 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_20, &__pyx_t_19, &__pyx_t_18); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21) < 0)) __Pyx_ErrFetch(&__pyx_t_23, &__pyx_t_22, &__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_24 = __pyx_r; - __pyx_r = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_info); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__35); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 52; - __Pyx_GIVEREF(__pyx_kp_u__35); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u__35); - __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); - __pyx_t_4 = 0; - __Pyx_INCREF(__pyx_kp_u__4); - __pyx_t_7 += 1; - __Pyx_GIVEREF(__pyx_kp_u__4); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u__4); - __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 113, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_conn, __pyx_n_s_close); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 114, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 114, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_t_18); - __pyx_cur_scope->__pyx_t_6 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_19); - __pyx_cur_scope->__pyx_t_7 = __pyx_t_19; - __Pyx_XGIVEREF(__pyx_t_20); - __pyx_cur_scope->__pyx_t_8 = __pyx_t_20; - __Pyx_XGIVEREF(__pyx_t_21); - __pyx_cur_scope->__pyx_t_9 = __pyx_t_21; - __Pyx_XGIVEREF(__pyx_t_22); - __pyx_cur_scope->__pyx_t_10 = __pyx_t_22; - __Pyx_XGIVEREF(__pyx_t_23); - __pyx_cur_scope->__pyx_t_11 = __pyx_t_23; - __Pyx_XGIVEREF(__pyx_t_24); - __pyx_cur_scope->__pyx_t_12 = __pyx_t_24; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 14; - return __pyx_r; - __pyx_L39_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - __pyx_t_18 = __pyx_cur_scope->__pyx_t_6; - __pyx_cur_scope->__pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_t_18); - __pyx_t_19 = __pyx_cur_scope->__pyx_t_7; - __pyx_cur_scope->__pyx_t_7 = 0; - __Pyx_XGOTREF(__pyx_t_19); - __pyx_t_20 = __pyx_cur_scope->__pyx_t_8; - __pyx_cur_scope->__pyx_t_8 = 0; - __Pyx_XGOTREF(__pyx_t_20); - __pyx_t_21 = __pyx_cur_scope->__pyx_t_9; - __pyx_cur_scope->__pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_t_21); - __pyx_t_22 = __pyx_cur_scope->__pyx_t_10; - __pyx_cur_scope->__pyx_t_10 = 0; - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_23 = __pyx_cur_scope->__pyx_t_11; - __pyx_cur_scope->__pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_24 = __pyx_cur_scope->__pyx_t_12; - __pyx_cur_scope->__pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_t_24); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 114, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 114, __pyx_L4_error) - } - } - __pyx_r = __pyx_t_24; - __pyx_t_24 = 0; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_19, __pyx_t_18); - } - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_ErrRestore(__pyx_t_23, __pyx_t_22, __pyx_t_21); - __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_18 = 0; - goto __pyx_L8_try_return; - } - __pyx_L17:; - } - - goto __pyx_L13; - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_logger); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 117, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_info); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 117, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_kp_u__36}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 117, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 118, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 118, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 118, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ADD_SUB); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 118, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_text, __pyx_t_6) < 0) __PYX_ERR(0, 118, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_data, __pyx_n_u_create_key) < 0) __PYX_ERR(0, 118, __pyx_L4_error) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 118, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 118, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 119, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 119, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 119, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_RENEW_KEY); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 119, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_14); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_text, __pyx_t_14) < 0) __PYX_ERR(0, 119, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_data, __pyx_n_u_view_keys) < 0) __PYX_ERR(0, 119, __pyx_L4_error) - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 119, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_14}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 119, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 121, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_info); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 121, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 121, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__33); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 54; - __Pyx_GIVEREF(__pyx_kp_u__33); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_u__33); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 121, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__37); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 16; - __Pyx_GIVEREF(__pyx_kp_u__37); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_kp_u__37); - __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 121, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_14))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_14); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_14, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_14, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 121, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_bot); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 122, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_send_message); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 122, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 123, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_chat_id, __pyx_cur_scope->__pyx_v_user_id) < 0) __PYX_ERR(0, 123, __pyx_L4_error) - - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_cur_scope->__pyx_v_payment_text) < 0) __PYX_ERR(0, 123, __pyx_L4_error) - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_reply_markup, __pyx_t_5) < 0) __PYX_ERR(0, 123, __pyx_L4_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 122, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 15; - return __pyx_r; - __pyx_L40_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 122, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 122, __pyx_L4_error) - } - } - } - __pyx_L13:; - - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L9_try_end; - __pyx_L4_error:; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_16 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_16) { - __Pyx_AddTraceback("handlers.payments.utils.send_payment_success_notification", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_9, &__pyx_t_14) < 0) __PYX_ERR(0, 128, __pyx_L6_except_error) - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_14); - __Pyx_INCREF(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_v_e = __pyx_t_9; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_logger); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 129, __pyx_L46_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_error); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 129, __pyx_L46_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 129, __pyx_L46_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u__38); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 45; - __Pyx_GIVEREF(__pyx_kp_u__38); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_u__38); - __pyx_t_25 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 129, __pyx_L46_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_25) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_25) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_25); - __Pyx_GIVEREF(__pyx_t_25); - PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_25); - __pyx_t_25 = 0; - __Pyx_INCREF(__pyx_kp_u__15); - __pyx_t_7 += 2; - __Pyx_GIVEREF(__pyx_kp_u__15); - PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_u__15); - __pyx_t_25 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 129, __pyx_L46_error) - __Pyx_GOTREF(__pyx_t_25); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_25) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_25) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_25); - __Pyx_GIVEREF(__pyx_t_25); - PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_25); - __pyx_t_25 = 0; - __pyx_t_25 = __Pyx_PyUnicode_Join(__pyx_t_6, 4, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 129, __pyx_L46_error) - __Pyx_GOTREF(__pyx_t_25); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_10))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_10); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_10, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_25}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 129, __pyx_L46_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L47; - } - __pyx_L46_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20) < 0)) __Pyx_ErrFetch(&__pyx_t_18, &__pyx_t_19, &__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_16 = __pyx_lineno; __pyx_t_15 = __pyx_clineno; __pyx_t_26 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_22, __pyx_t_23); - } - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_ErrRestore(__pyx_t_18, __pyx_t_19, __pyx_t_20); - __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; - __pyx_lineno = __pyx_t_16; __pyx_clineno = __pyx_t_15; __pyx_filename = __pyx_t_26; - goto __pyx_L6_except_error; - } - __pyx_L47:; - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - goto __pyx_L5_exception_handled; - } - goto __pyx_L6_except_error; - - __pyx_L6_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L8_try_return:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L0; - __pyx_L5_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_L9_try_end:; - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_25); - __Pyx_AddTraceback("send_payment_success_notification", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification *__pyx_freelist_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification[8]; -static int __pyx_freecount_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification[--__pyx_freecount_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification(PyObject *o) { - struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification *p = (struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_balance); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_cashback_amount); - Py_CLEAR(p->__pyx_v_cashback_text); - Py_CLEAR(p->__pyx_v_client_id); - Py_CLEAR(p->__pyx_v_complete_key_renewal); - Py_CLEAR(p->__pyx_v_conn); - Py_CLEAR(p->__pyx_v_cost); - Py_CLEAR(p->__pyx_v_create_key); - Py_CLEAR(p->__pyx_v_data); - Py_CLEAR(p->__pyx_v_duration_days); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_email); - Py_CLEAR(p->__pyx_v_expiry_time); - Py_CLEAR(p->__pyx_v_moscow_tz); - Py_CLEAR(p->__pyx_v_new_expiry_time); - Py_CLEAR(p->__pyx_v_payment_text); - Py_CLEAR(p->__pyx_v_plan); - Py_CLEAR(p->__pyx_v_plan_price); - Py_CLEAR(p->__pyx_v_required_amount); - Py_CLEAR(p->__pyx_v_state); - Py_CLEAR(p->__pyx_v_temp_data); - Py_CLEAR(p->__pyx_v_total_gb); - Py_CLEAR(p->__pyx_v_user_id); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - Py_CLEAR(p->__pyx_t_6); - Py_CLEAR(p->__pyx_t_7); - Py_CLEAR(p->__pyx_t_8); - Py_CLEAR(p->__pyx_t_9); - Py_CLEAR(p->__pyx_t_10); - Py_CLEAR(p->__pyx_t_11); - Py_CLEAR(p->__pyx_t_12); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification)))) { - __pyx_freelist_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification[__pyx_freecount_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification++] = ((struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification *p = (struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification *)o; - if (p->__pyx_v_balance) { - e = (*v)(p->__pyx_v_balance, a); if (e) return e; - } - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_cashback_amount) { - e = (*v)(p->__pyx_v_cashback_amount, a); if (e) return e; - } - if (p->__pyx_v_client_id) { - e = (*v)(p->__pyx_v_client_id, a); if (e) return e; - } - if (p->__pyx_v_complete_key_renewal) { - e = (*v)(p->__pyx_v_complete_key_renewal, a); if (e) return e; - } - if (p->__pyx_v_conn) { - e = (*v)(p->__pyx_v_conn, a); if (e) return e; - } - if (p->__pyx_v_cost) { - e = (*v)(p->__pyx_v_cost, a); if (e) return e; - } - if (p->__pyx_v_create_key) { - e = (*v)(p->__pyx_v_create_key, a); if (e) return e; - } - if (p->__pyx_v_data) { - e = (*v)(p->__pyx_v_data, a); if (e) return e; - } - if (p->__pyx_v_duration_days) { - e = (*v)(p->__pyx_v_duration_days, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_email) { - e = (*v)(p->__pyx_v_email, a); if (e) return e; - } - if (p->__pyx_v_expiry_time) { - e = (*v)(p->__pyx_v_expiry_time, a); if (e) return e; - } - if (p->__pyx_v_moscow_tz) { - e = (*v)(p->__pyx_v_moscow_tz, a); if (e) return e; - } - if (p->__pyx_v_new_expiry_time) { - e = (*v)(p->__pyx_v_new_expiry_time, a); if (e) return e; - } - if (p->__pyx_v_payment_text) { - e = (*v)(p->__pyx_v_payment_text, a); if (e) return e; - } - if (p->__pyx_v_plan) { - e = (*v)(p->__pyx_v_plan, a); if (e) return e; - } - if (p->__pyx_v_plan_price) { - e = (*v)(p->__pyx_v_plan_price, a); if (e) return e; - } - if (p->__pyx_v_required_amount) { - e = (*v)(p->__pyx_v_required_amount, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - if (p->__pyx_v_temp_data) { - e = (*v)(p->__pyx_v_temp_data, a); if (e) return e; - } - if (p->__pyx_v_total_gb) { - e = (*v)(p->__pyx_v_total_gb, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - if (p->__pyx_t_6) { - e = (*v)(p->__pyx_t_6, a); if (e) return e; - } - if (p->__pyx_t_7) { - e = (*v)(p->__pyx_t_7, a); if (e) return e; - } - if (p->__pyx_t_8) { - e = (*v)(p->__pyx_t_8, a); if (e) return e; - } - if (p->__pyx_t_9) { - e = (*v)(p->__pyx_t_9, a); if (e) return e; - } - if (p->__pyx_t_10) { - e = (*v)(p->__pyx_t_10, a); if (e) return e; - } - if (p->__pyx_t_11) { - e = (*v)(p->__pyx_t_11, a); if (e) return e; - } - if (p->__pyx_t_12) { - e = (*v)(p->__pyx_t_12, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification_spec = { - "handlers.payments.utils.__pyx_scope_struct__send_payment_success_notification", - sizeof(struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.utils.""__pyx_scope_struct__send_payment_success_notification", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif -/* #### Code section: pystring_table ### */ - -static int __Pyx_CreateStringTabAndInitStrings(void) { - __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_n_s_ADD_SUB, __pyx_k_ADD_SUB, sizeof(__pyx_k_ADD_SUB), 0, 0, 1, 1}, - {&__pyx_n_s_CASHBACK, __pyx_k_CASHBACK, sizeof(__pyx_k_CASHBACK), 0, 0, 1, 1}, - {&__pyx_n_s_DATABASE_URL, __pyx_k_DATABASE_URL, sizeof(__pyx_k_DATABASE_URL), 0, 0, 1, 1}, - {&__pyx_kp_u_Europe_Moscow, __pyx_k_Europe_Moscow, sizeof(__pyx_k_Europe_Moscow), 0, 1, 0, 0}, - {&__pyx_n_s_InlineKeyboardBuilder, __pyx_k_InlineKeyboardBuilder, sizeof(__pyx_k_InlineKeyboardBuilder), 0, 0, 1, 1}, - {&__pyx_n_s_InlineKeyboardButton, __pyx_k_InlineKeyboardButton, sizeof(__pyx_k_InlineKeyboardButton), 0, 0, 1, 1}, - {&__pyx_n_s_MAIN_MENU, __pyx_k_MAIN_MENU, sizeof(__pyx_k_MAIN_MENU), 0, 0, 1, 1}, - {&__pyx_kp_u_PAYMENT, __pyx_k_PAYMENT, sizeof(__pyx_k_PAYMENT), 0, 1, 0, 0}, - {&__pyx_n_s_PAYMENT_SUCCESS_MESSAGE, __pyx_k_PAYMENT_SUCCESS_MESSAGE, sizeof(__pyx_k_PAYMENT_SUCCESS_MESSAGE), 0, 0, 1, 1}, - {&__pyx_kp_u_RENEW, __pyx_k_RENEW, sizeof(__pyx_k_RENEW), 0, 1, 0, 0}, - {&__pyx_n_s_RENEW_KEY, __pyx_k_RENEW_KEY, sizeof(__pyx_k_RENEW_KEY), 0, 0, 1, 1}, - {&__pyx_n_s_USE_NEW_PAYMENT_FLOW, __pyx_k_USE_NEW_PAYMENT_FLOW, sizeof(__pyx_k_USE_NEW_PAYMENT_FLOW), 0, 0, 1, 1}, - {&__pyx_kp_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0}, - {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0}, - {&__pyx_kp_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0}, - {&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0}, - {&__pyx_kp_u__14, __pyx_k__14, sizeof(__pyx_k__14), 0, 1, 0, 0}, - {&__pyx_kp_u__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0}, - {&__pyx_kp_u__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 1, 0, 0}, - {&__pyx_kp_u__18, __pyx_k__18, sizeof(__pyx_k__18), 0, 1, 0, 0}, - {&__pyx_kp_u__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 1, 0, 0}, - {&__pyx_kp_u__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0, 0}, - {&__pyx_kp_u__20, __pyx_k__20, sizeof(__pyx_k__20), 0, 1, 0, 0}, - {&__pyx_kp_u__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 1, 0, 0}, - {&__pyx_kp_u__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 1, 0, 0}, - {&__pyx_kp_u__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 1, 0, 0}, - {&__pyx_kp_u__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 1, 0, 0}, - {&__pyx_kp_u__25, __pyx_k__25, sizeof(__pyx_k__25), 0, 1, 0, 0}, - {&__pyx_kp_u__26, __pyx_k__26, sizeof(__pyx_k__26), 0, 1, 0, 0}, - {&__pyx_kp_u__27, __pyx_k__27, sizeof(__pyx_k__27), 0, 1, 0, 0}, - {&__pyx_kp_u__28, __pyx_k__28, sizeof(__pyx_k__28), 0, 1, 0, 0}, - {&__pyx_kp_u__29, __pyx_k__29, sizeof(__pyx_k__29), 0, 1, 0, 0}, - {&__pyx_kp_u__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 1, 0, 0}, - {&__pyx_kp_u__30, __pyx_k__30, sizeof(__pyx_k__30), 0, 1, 0, 0}, - {&__pyx_kp_u__31, __pyx_k__31, sizeof(__pyx_k__31), 0, 1, 0, 0}, - {&__pyx_kp_u__32, __pyx_k__32, sizeof(__pyx_k__32), 0, 1, 0, 0}, - {&__pyx_kp_u__33, __pyx_k__33, sizeof(__pyx_k__33), 0, 1, 0, 0}, - {&__pyx_kp_u__34, __pyx_k__34, sizeof(__pyx_k__34), 0, 1, 0, 0}, - {&__pyx_kp_u__35, __pyx_k__35, sizeof(__pyx_k__35), 0, 1, 0, 0}, - {&__pyx_kp_u__36, __pyx_k__36, sizeof(__pyx_k__36), 0, 1, 0, 0}, - {&__pyx_kp_u__37, __pyx_k__37, sizeof(__pyx_k__37), 0, 1, 0, 0}, - {&__pyx_kp_u__38, __pyx_k__38, sizeof(__pyx_k__38), 0, 1, 0, 0}, - {&__pyx_n_s__39, __pyx_k__39, sizeof(__pyx_k__39), 0, 0, 1, 1}, - {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0}, - {&__pyx_n_s__41, __pyx_k__41, sizeof(__pyx_k__41), 0, 0, 1, 1}, - {&__pyx_kp_u__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 1, 0, 0}, - {&__pyx_kp_u__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0, 0}, - {&__pyx_kp_u__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 1, 0, 0}, - {&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0}, - {&__pyx_kp_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0}, - {&__pyx_n_s_aiogram_types, __pyx_k_aiogram_types, sizeof(__pyx_k_aiogram_types), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_utils_keyboard, __pyx_k_aiogram_utils_keyboard, sizeof(__pyx_k_aiogram_utils_keyboard), 0, 0, 1, 1}, - {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1}, - {&__pyx_n_s_amount, __pyx_k_amount, sizeof(__pyx_k_amount), 0, 0, 1, 1}, - {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, - {&__pyx_n_s_as_markup, __pyx_k_as_markup, sizeof(__pyx_k_as_markup), 0, 0, 1, 1}, - {&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1}, - {&__pyx_n_s_asyncpg, __pyx_k_asyncpg, sizeof(__pyx_k_asyncpg), 0, 0, 1, 1}, - {&__pyx_n_s_await, __pyx_k_await, sizeof(__pyx_k_await), 0, 0, 1, 1}, - {&__pyx_n_s_balance, __pyx_k_balance, sizeof(__pyx_k_balance), 0, 0, 1, 1}, - {&__pyx_n_s_bot, __pyx_k_bot, sizeof(__pyx_k_bot), 0, 0, 1, 1}, - {&__pyx_n_s_builder, __pyx_k_builder, sizeof(__pyx_k_builder), 0, 0, 1, 1}, - {&__pyx_n_s_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 0, 1, 1}, - {&__pyx_n_s_cashback_amount, __pyx_k_cashback_amount, sizeof(__pyx_k_cashback_amount), 0, 0, 1, 1}, - {&__pyx_n_s_cashback_text, __pyx_k_cashback_text, sizeof(__pyx_k_cashback_text), 0, 0, 1, 1}, - {&__pyx_n_s_chat_id, __pyx_k_chat_id, sizeof(__pyx_k_chat_id), 0, 0, 1, 1}, - {&__pyx_n_s_clear_temporary_data, __pyx_k_clear_temporary_data, sizeof(__pyx_k_clear_temporary_data), 0, 0, 1, 1}, - {&__pyx_n_s_client_id, __pyx_k_client_id, sizeof(__pyx_k_client_id), 0, 0, 1, 1}, - {&__pyx_n_u_client_id, __pyx_k_client_id, sizeof(__pyx_k_client_id), 0, 1, 0, 1}, - {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, - {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, - {&__pyx_n_s_complete_key_renewal, __pyx_k_complete_key_renewal, sizeof(__pyx_k_complete_key_renewal), 0, 0, 1, 1}, - {&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1}, - {&__pyx_n_s_conn, __pyx_k_conn, sizeof(__pyx_k_conn), 0, 0, 1, 1}, - {&__pyx_n_s_connect, __pyx_k_connect, sizeof(__pyx_k_connect), 0, 0, 1, 1}, - {&__pyx_n_s_cost, __pyx_k_cost, sizeof(__pyx_k_cost), 0, 0, 1, 1}, - {&__pyx_n_u_cost, __pyx_k_cost, sizeof(__pyx_k_cost), 0, 1, 0, 1}, - {&__pyx_n_s_create_key, __pyx_k_create_key, sizeof(__pyx_k_create_key), 0, 0, 1, 1}, - {&__pyx_n_u_create_key, __pyx_k_create_key, sizeof(__pyx_k_create_key), 0, 1, 0, 1}, - {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, - {&__pyx_n_u_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 1, 0, 1}, - {&__pyx_n_s_database, __pyx_k_database, sizeof(__pyx_k_database), 0, 0, 1, 1}, - {&__pyx_n_s_datetime, __pyx_k_datetime, sizeof(__pyx_k_datetime), 0, 0, 1, 1}, - {&__pyx_n_s_days, __pyx_k_days, sizeof(__pyx_k_days), 0, 0, 1, 1}, - {&__pyx_kp_u_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0, 0}, - {&__pyx_n_s_duration_days, __pyx_k_duration_days, sizeof(__pyx_k_duration_days), 0, 0, 1, 1}, - {&__pyx_n_u_duration_days, __pyx_k_duration_days, sizeof(__pyx_k_duration_days), 0, 1, 0, 1}, - {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1}, - {&__pyx_n_s_email, __pyx_k_email, sizeof(__pyx_k_email), 0, 0, 1, 1}, - {&__pyx_n_u_email, __pyx_k_email, sizeof(__pyx_k_email), 0, 1, 0, 1}, - {&__pyx_kp_u_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0, 0}, - {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1}, - {&__pyx_n_s_expiry_time, __pyx_k_expiry_time, sizeof(__pyx_k_expiry_time), 0, 0, 1, 1}, - {&__pyx_n_s_float, __pyx_k_float, sizeof(__pyx_k_float), 0, 0, 1, 1}, - {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, - {&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0}, - {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1}, - {&__pyx_n_s_get_balance, __pyx_k_get_balance, sizeof(__pyx_k_get_balance), 0, 0, 1, 1}, - {&__pyx_n_s_get_temporary_data, __pyx_k_get_temporary_data, sizeof(__pyx_k_get_temporary_data), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_buttons, __pyx_k_handlers_buttons, sizeof(__pyx_k_handlers_buttons), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_keys_key_management, __pyx_k_handlers_keys_key_management, sizeof(__pyx_k_handlers_keys_key_management), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_keys_keys, __pyx_k_handlers_keys_keys, sizeof(__pyx_k_handlers_keys_keys), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_utils, __pyx_k_handlers_payments_utils, sizeof(__pyx_k_handlers_payments_utils), 0, 0, 1, 1}, - {&__pyx_kp_s_handlers_payments_utils_py, __pyx_k_handlers_payments_utils_py, sizeof(__pyx_k_handlers_payments_utils_py), 0, 0, 1, 0}, - {&__pyx_n_s_handlers_texts, __pyx_k_handlers_texts, sizeof(__pyx_k_handlers_texts), 0, 0, 1, 1}, - {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, - {&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1}, - {&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1}, - {&__pyx_n_s_int, __pyx_k_int, sizeof(__pyx_k_int), 0, 0, 1, 1}, - {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1}, - {&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0}, - {&__pyx_n_s_logger, __pyx_k_logger, sizeof(__pyx_k_logger), 0, 0, 1, 1}, - {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, - {&__pyx_n_s_moscow_tz, __pyx_k_moscow_tz, sizeof(__pyx_k_moscow_tz), 0, 0, 1, 1}, - {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, - {&__pyx_n_s_new_expiry_time, __pyx_k_new_expiry_time, sizeof(__pyx_k_new_expiry_time), 0, 0, 1, 1}, - {&__pyx_n_u_new_expiry_time, __pyx_k_new_expiry_time, sizeof(__pyx_k_new_expiry_time), 0, 1, 0, 1}, - {&__pyx_n_s_now, __pyx_k_now, sizeof(__pyx_k_now), 0, 0, 1, 1}, - {&__pyx_n_s_payment_text, __pyx_k_payment_text, sizeof(__pyx_k_payment_text), 0, 0, 1, 1}, - {&__pyx_n_s_plan, __pyx_k_plan, sizeof(__pyx_k_plan), 0, 0, 1, 1}, - {&__pyx_n_u_plan, __pyx_k_plan, sizeof(__pyx_k_plan), 0, 1, 0, 1}, - {&__pyx_n_u_plan_id, __pyx_k_plan_id, sizeof(__pyx_k_plan_id), 0, 1, 0, 1}, - {&__pyx_n_s_plan_price, __pyx_k_plan_price, sizeof(__pyx_k_plan_price), 0, 0, 1, 1}, - {&__pyx_n_u_plan_price, __pyx_k_plan_price, sizeof(__pyx_k_plan_price), 0, 1, 0, 1}, - {&__pyx_n_u_profile, __pyx_k_profile, sizeof(__pyx_k_profile), 0, 1, 0, 1}, - {&__pyx_n_s_pytz, __pyx_k_pytz, sizeof(__pyx_k_pytz), 0, 0, 1, 1}, - {&__pyx_n_s_reply_markup, __pyx_k_reply_markup, sizeof(__pyx_k_reply_markup), 0, 0, 1, 1}, - {&__pyx_n_s_required_amount, __pyx_k_required_amount, sizeof(__pyx_k_required_amount), 0, 0, 1, 1}, - {&__pyx_n_u_required_amount, __pyx_k_required_amount, sizeof(__pyx_k_required_amount), 0, 1, 0, 1}, - {&__pyx_n_s_round, __pyx_k_round, sizeof(__pyx_k_round), 0, 0, 1, 1}, - {&__pyx_n_s_row, __pyx_k_row, sizeof(__pyx_k_row), 0, 0, 1, 1}, - {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1}, - {&__pyx_n_s_send_message, __pyx_k_send_message, sizeof(__pyx_k_send_message), 0, 0, 1, 1}, - {&__pyx_n_s_send_payment_success_notificatio, __pyx_k_send_payment_success_notificatio, sizeof(__pyx_k_send_payment_success_notificatio), 0, 0, 1, 1}, - {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1}, - {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1}, - {&__pyx_n_u_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 1, 0, 1}, - {&__pyx_n_s_temp_data, __pyx_k_temp_data, sizeof(__pyx_k_temp_data), 0, 0, 1, 1}, - {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, - {&__pyx_n_s_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 0, 1, 1}, - {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1}, - {&__pyx_n_s_timedelta, __pyx_k_timedelta, sizeof(__pyx_k_timedelta), 0, 0, 1, 1}, - {&__pyx_n_s_timezone, __pyx_k_timezone, sizeof(__pyx_k_timezone), 0, 0, 1, 1}, - {&__pyx_n_s_total_gb, __pyx_k_total_gb, sizeof(__pyx_k_total_gb), 0, 0, 1, 1}, - {&__pyx_n_u_total_gb, __pyx_k_total_gb, sizeof(__pyx_k_total_gb), 0, 1, 0, 1}, - {&__pyx_n_s_update_balance, __pyx_k_update_balance, sizeof(__pyx_k_update_balance), 0, 0, 1, 1}, - {&__pyx_n_s_user_id, __pyx_k_user_id, sizeof(__pyx_k_user_id), 0, 0, 1, 1}, - {&__pyx_n_u_view_keys, __pyx_k_view_keys, sizeof(__pyx_k_view_keys), 0, 1, 0, 1}, - {&__pyx_n_u_waiting_for_payment, __pyx_k_waiting_for_payment, sizeof(__pyx_k_waiting_for_payment), 0, 1, 0, 1}, - {&__pyx_n_u_waiting_for_renewal_payment, __pyx_k_waiting_for_renewal_payment, sizeof(__pyx_k_waiting_for_renewal_payment), 0, 1, 0, 1}, - {&__pyx_n_s_warning, __pyx_k_warning, sizeof(__pyx_k_warning), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} - }; - return __Pyx_InitStrings(__pyx_string_tab); -} -/* #### Code section: cached_builtins ### */ -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_round = __Pyx_GetBuiltinName(__pyx_n_s_round); if (!__pyx_builtin_round) __PYX_ERR(0, 28, __pyx_L1_error) - __pyx_builtin_all = __Pyx_GetBuiltinName(__pyx_n_s_all); if (!__pyx_builtin_all) __PYX_ERR(0, 64, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: cached_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - __pyx_tuple__16 = PyTuple_Pack(2, __pyx_n_u_required_amount, __pyx_int_0); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__16); - __Pyx_GIVEREF(__pyx_tuple__16); - - __pyx_tuple__40 = PyTuple_Pack(25, __pyx_n_s_user_id, __pyx_n_s_amount, __pyx_n_s_cashback_amount, __pyx_n_s_cashback_text, __pyx_n_s_payment_text, __pyx_n_s_builder, __pyx_n_s_create_key, __pyx_n_s_conn, __pyx_n_s_temp_data, __pyx_n_s_state, __pyx_n_s_data, __pyx_n_s_required_amount, __pyx_n_s_complete_key_renewal, __pyx_n_s_plan, __pyx_n_s_client_id, __pyx_n_s_new_expiry_time, __pyx_n_s_total_gb, __pyx_n_s_cost, __pyx_n_s_email, __pyx_n_s_balance, __pyx_n_s_plan_price, __pyx_n_s_duration_days, __pyx_n_s_moscow_tz, __pyx_n_s_expiry_time, __pyx_n_s_e); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__40); - __Pyx_GIVEREF(__pyx_tuple__40); - __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 25, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_utils_py, __pyx_n_s_send_payment_success_notificatio, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} -/* #### Code section: init_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) { - if (__Pyx_CreateStringTabAndInitStrings() < 0) __PYX_ERR(0, 1, __pyx_L1_error); - __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_100 = PyInt_FromLong(100); if (unlikely(!__pyx_int_100)) __PYX_ERR(0, 1, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: init_globals ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { - return 0; -} -/* #### Code section: init_module ### */ - -static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ - -static int __Pyx_modinit_global_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_init_code(void) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); - /*--- Type init code ---*/ - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification)) __PYX_ERR(0, 16, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification_spec, __pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification = &__pyx_type_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification->tp_dictoffset && __pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_5utils___pyx_scope_struct__send_payment_success_notification->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_type_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); - /*--- Type import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - - -#if PY_MAJOR_VERSION >= 3 -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec_utils(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec_utils}, - {0, NULL} -}; -#endif - -#ifdef __cplusplus -namespace { - struct PyModuleDef __pyx_moduledef = - #else - static struct PyModuleDef __pyx_moduledef = - #endif - { - PyModuleDef_HEAD_INIT, - "utils", - 0, /* m_doc */ - #if CYTHON_PEP489_MULTI_PHASE_INIT - 0, /* m_size */ - #elif CYTHON_USE_MODULE_STATE - sizeof(__pyx_mstate), /* m_size */ - #else - -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - #if CYTHON_USE_MODULE_STATE - __pyx_m_traverse, /* m_traverse */ - __pyx_m_clear, /* m_clear */ - NULL /* m_free */ - #else - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ - #endif - }; - #ifdef __cplusplus -} /* anonymous namespace */ -#endif -#endif - -#ifndef CYTHON_NO_PYINIT_EXPORT -#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#elif PY_MAJOR_VERSION < 3 -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" void -#else -#define __Pyx_PyMODINIT_FUNC void -#endif -#else -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * -#else -#define __Pyx_PyMODINIT_FUNC PyObject * -#endif -#endif - - -#if PY_MAJOR_VERSION < 3 -__Pyx_PyMODINIT_FUNC initutils(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC initutils(void) -#else -__Pyx_PyMODINIT_FUNC PyInit_utils(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit_utils(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - #if PY_VERSION_HEX >= 0x030700A1 - static PY_INT64_T main_interpreter_id = -1; - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return (unlikely(current_id == -1)) ? -1 : 0; - } else if (unlikely(main_interpreter_id != current_id)) - #else - static PyInterpreterState *main_interpreter = NULL; - PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; - if (!main_interpreter) { - main_interpreter = current_interpreter; - } else if (unlikely(main_interpreter != current_interpreter)) - #endif - { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *module, const char* from_name, const char* to_name, int allow_none) -#else -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) -#endif -{ - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { -#if CYTHON_COMPILING_IN_LIMITED_API - result = PyModule_AddObject(module, to_name, value); -#else - result = PyDict_SetItemString(moddict, to_name, value); -#endif - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - CYTHON_UNUSED_VAR(def); - if (__Pyx_check_single_interpreter()) - return NULL; - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; -#if CYTHON_COMPILING_IN_LIMITED_API - moddict = module; -#else - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; -#endif - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec_utils(PyObject *__pyx_pyinit_module) -#endif -#endif -{ - int stringtab_initialized = 0; - #if CYTHON_USE_MODULE_STATE - int pystate_addmodule_run = 0; - #endif - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module 'utils' has already been imported. Re-initialisation is not supported."); - return -1; - } - #elif PY_MAJOR_VERSION >= 3 - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_m = __pyx_pyinit_module; - Py_INCREF(__pyx_m); - #else - #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4("utils", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #elif CYTHON_USE_MODULE_STATE - __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) - { - int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef); - __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "utils" pseudovariable */ - if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - pystate_addmodule_run = 1; - } - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #endif - CYTHON_UNUSED_VAR(__pyx_t_1); - __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_d); - __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if CYTHON_REFNANNY -__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); -if (!__Pyx_RefNanny) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); -} -#endif - __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_utils(void)", 0); - if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pxy_PyFrame_Initialize_Offsets - __Pxy_PyFrame_Initialize_Offsets(); - #endif - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pyx_CyFunction_USED - if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_FusedFunction_USED - if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Coroutine_USED - if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Generator_USED - if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_StopAsyncIteration_USED - if (__pyx_StopAsyncIteration_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ - #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS - PyEval_InitThreads(); - #endif - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - stringtab_initialized = 1; - if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) - if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - if (__pyx_module_is_main_handlers__payments__utils) { - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - } - #if PY_MAJOR_VERSION >= 3 - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "handlers.payments.utils")) { - if (unlikely((PyDict_SetItemString(modules, "handlers.payments.utils", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #endif - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_global_init_code(); - (void)__Pyx_modinit_variable_export_code(); - (void)__Pyx_modinit_function_export_code(); - if (unlikely((__Pyx_modinit_type_init_code() < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_type_import_code(); - (void)__Pyx_modinit_variable_import_code(); - (void)__Pyx_modinit_function_import_code(); - /*--- Execution code ---*/ - #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - - __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_datetime); - __Pyx_GIVEREF(__pyx_n_s_datetime); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_datetime)) __PYX_ERR(0, 1, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_timedelta); - __Pyx_GIVEREF(__pyx_n_s_timedelta); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_timedelta)) __PYX_ERR(0, 1, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_datetime, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_datetime); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_datetime, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_timedelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_timedelta, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_ImportDottedModule(__pyx_n_s_asyncpg, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_asyncpg, __pyx_t_3) < 0) __PYX_ERR(0, 3, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardButton); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardButton); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_InlineKeyboardButton)) __PYX_ERR(0, 4, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_types, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardButton, __pyx_t_3) < 0) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardBuilder); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardBuilder); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_InlineKeyboardBuilder)) __PYX_ERR(0, 5, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_utils_keyboard, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardBuilder, __pyx_t_2) < 0) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_bot); - __Pyx_GIVEREF(__pyx_n_s_bot); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_bot)) __PYX_ERR(0, 7, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_bot, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_bot); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_bot, __pyx_t_3) < 0) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_DATABASE_URL); - __Pyx_GIVEREF(__pyx_n_s_DATABASE_URL); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_DATABASE_URL)) __PYX_ERR(0, 8, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_USE_NEW_PAYMENT_FLOW); - __Pyx_GIVEREF(__pyx_n_s_USE_NEW_PAYMENT_FLOW); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_USE_NEW_PAYMENT_FLOW)) __PYX_ERR(0, 8, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_CASHBACK); - __Pyx_GIVEREF(__pyx_n_s_CASHBACK); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_CASHBACK)) __PYX_ERR(0, 8, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_config, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_DATABASE_URL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_DATABASE_URL, __pyx_t_2) < 0) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_USE_NEW_PAYMENT_FLOW); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_USE_NEW_PAYMENT_FLOW, __pyx_t_2) < 0) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_CASHBACK); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_CASHBACK, __pyx_t_2) < 0) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_clear_temporary_data); - __Pyx_GIVEREF(__pyx_n_s_clear_temporary_data); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_clear_temporary_data)) __PYX_ERR(0, 9, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_get_balance); - __Pyx_GIVEREF(__pyx_n_s_get_balance); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_get_balance)) __PYX_ERR(0, 9, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_get_temporary_data); - __Pyx_GIVEREF(__pyx_n_s_get_temporary_data); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_get_temporary_data)) __PYX_ERR(0, 9, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_update_balance); - __Pyx_GIVEREF(__pyx_n_s_update_balance); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_update_balance)) __PYX_ERR(0, 9, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_database, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_clear_temporary_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_clear_temporary_data, __pyx_t_3) < 0) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_balance, __pyx_t_3) < 0) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_temporary_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_temporary_data, __pyx_t_3) < 0) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_update_balance, __pyx_t_3) < 0) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_MAIN_MENU); - __Pyx_GIVEREF(__pyx_n_s_MAIN_MENU); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_MAIN_MENU)) __PYX_ERR(0, 10, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_ADD_SUB); - __Pyx_GIVEREF(__pyx_n_s_ADD_SUB); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_ADD_SUB)) __PYX_ERR(0, 10, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_RENEW_KEY); - __Pyx_GIVEREF(__pyx_n_s_RENEW_KEY); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_RENEW_KEY)) __PYX_ERR(0, 10, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_buttons, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_MAIN_MENU); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAIN_MENU, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_ADD_SUB); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ADD_SUB, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_RENEW_KEY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_RENEW_KEY, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_PAYMENT_SUCCESS_MESSAGE); - __Pyx_GIVEREF(__pyx_n_s_PAYMENT_SUCCESS_MESSAGE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_PAYMENT_SUCCESS_MESSAGE)) __PYX_ERR(0, 11, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_texts, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_PAYMENT_SUCCESS_MESSAGE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAYMENT_SUCCESS_MESSAGE, __pyx_t_3) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_logger); - __Pyx_GIVEREF(__pyx_n_s_logger); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_logger)) __PYX_ERR(0, 12, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_logger, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_ImportDottedModule(__pyx_n_s_pytz, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_pytz, __pyx_t_3) < 0) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_user_id, __pyx_n_s_int) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_amount, __pyx_n_s_float) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_5utils_1send_payment_success_notification, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_send_payment_success_notificatio, NULL, __pyx_n_s_handlers_payments_utils, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_send_payment_success_notificatio, __pyx_t_2) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - if (__pyx_m) { - if (__pyx_d && stringtab_initialized) { - __Pyx_AddTraceback("init handlers.payments.utils", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - #if !CYTHON_USE_MODULE_STATE - Py_CLEAR(__pyx_m); - #else - Py_DECREF(__pyx_m); - if (pystate_addmodule_run) { - PyObject *tp, *value, *tb; - PyErr_Fetch(&tp, &value, &tb); - PyState_RemoveModule(&__pyx_moduledef); - PyErr_Restore(tp, value, tb); - } - #endif - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init handlers.payments.utils"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #elif PY_MAJOR_VERSION >= 3 - return __pyx_m; - #else - return; - #endif -} -/* #### Code section: cleanup_globals ### */ -/* #### Code section: cleanup_module ### */ -/* #### Code section: main_method ### */ -/* #### Code section: utility_code_pragmas ### */ -#ifdef _MSC_VER -#pragma warning( push ) -/* Warning 4127: conditional expression is constant - * Cython uses constant conditional expressions to allow in inline functions to be optimized at - * compile-time, so this warning is not useful - */ -#pragma warning( disable : 4127 ) -#endif - - - -/* #### Code section: utility_code_def ### */ - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* PyErrExceptionMatches */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i= 0x030C00A6 - PyObject *current_exception = tstate->current_exception; - if (unlikely(!current_exception)) return 0; - exc_type = (PyObject*) Py_TYPE(current_exception); - if (exc_type == err) return 1; -#else - exc_type = tstate->curexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; -#endif - #if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(exc_type); - #endif - if (unlikely(PyTuple_Check(err))) { - result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - } else { - result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err); - } - #if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(exc_type); - #endif - return result; -} -#endif - -/* PyErrFetchRestore */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject *tmp_value; - assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value))); - if (value) { - #if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb)) - #endif - PyException_SetTraceback(value, tb); - } - tmp_value = tstate->current_exception; - tstate->current_exception = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#endif -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject* exc_value; - exc_value = tstate->current_exception; - tstate->current_exception = 0; - *value = exc_value; - *type = NULL; - *tb = NULL; - if (exc_value) { - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - #if CYTHON_COMPILING_IN_CPYTHON - *tb = ((PyBaseExceptionObject*) exc_value)->traceback; - Py_XINCREF(*tb); - #else - *tb = PyException_GetTraceback(exc_value); - #endif - } -#else - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#endif -} -#endif - -/* PyObjectGetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_getattr)) - return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); -#endif - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* PyObjectGetAttrStrNoError */ -#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1 -static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) - __Pyx_PyErr_Clear(); -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { - PyObject *result; -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - (void) PyObject_GetOptionalAttr(obj, attr_name, &result); - return result; -#else -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { - return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); - } -#endif - result = __Pyx_PyObject_GetAttrStr(obj, attr_name); - if (unlikely(!result)) { - __Pyx_PyObject_GetAttrStr_ClearAttributeError(); - } - return result; -#endif -} - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_b, name); - if (unlikely(!result) && !PyErr_Occurred()) { - PyErr_Format(PyExc_NameError, -#if PY_MAJOR_VERSION >= 3 - "name '%U' is not defined", name); -#else - "name '%.200s' is not defined", PyString_AS_STRING(name)); -#endif - } - return result; -} - -/* TupleAndListFromArray */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) { - PyObject *v; - Py_ssize_t i; - for (i = 0; i < length; i++) { - v = dest[i] = src[i]; - Py_INCREF(v); - } -} -static CYTHON_INLINE PyObject * -__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - Py_INCREF(__pyx_empty_tuple); - return __pyx_empty_tuple; - } - res = PyTuple_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n); - return res; -} -static CYTHON_INLINE PyObject * -__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - return PyList_New(0); - } - res = PyList_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n); - return res; -} -#endif - -/* BytesEquals */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else - if (s1 == s2) { - return (equals == Py_EQ); - } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { - const char *ps1, *ps2; - Py_ssize_t length = PyBytes_GET_SIZE(s1); - if (length != PyBytes_GET_SIZE(s2)) - return (equals == Py_NE); - ps1 = PyBytes_AS_STRING(s1); - ps2 = PyBytes_AS_STRING(s2); - if (ps1[0] != ps2[0]) { - return (equals == Py_NE); - } else if (length == 1) { - return (equals == Py_EQ); - } else { - int result; -#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) - Py_hash_t hash1, hash2; - hash1 = ((PyBytesObject*)s1)->ob_shash; - hash2 = ((PyBytesObject*)s2)->ob_shash; - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - return (equals == Py_NE); - } -#endif - result = memcmp(ps1, ps2, (size_t)length); - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { - return (equals == Py_NE); - } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { - return (equals == Py_NE); - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -#endif -} - -/* UnicodeEquals */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else -#if PY_MAJOR_VERSION < 3 - PyObject* owned_ref = NULL; -#endif - int s1_is_unicode, s2_is_unicode; - if (s1 == s2) { - goto return_eq; - } - s1_is_unicode = PyUnicode_CheckExact(s1); - s2_is_unicode = PyUnicode_CheckExact(s2); -#if PY_MAJOR_VERSION < 3 - if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { - owned_ref = PyUnicode_FromObject(s2); - if (unlikely(!owned_ref)) - return -1; - s2 = owned_ref; - s2_is_unicode = 1; - } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { - owned_ref = PyUnicode_FromObject(s1); - if (unlikely(!owned_ref)) - return -1; - s1 = owned_ref; - s1_is_unicode = 1; - } else if (((!s2_is_unicode) & (!s1_is_unicode))) { - return __Pyx_PyBytes_Equals(s1, s2, equals); - } -#endif - if (s1_is_unicode & s2_is_unicode) { - Py_ssize_t length; - int kind; - void *data1, *data2; - if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) - return -1; - length = __Pyx_PyUnicode_GET_LENGTH(s1); - if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { - goto return_ne; - } -#if CYTHON_USE_UNICODE_INTERNALS - { - Py_hash_t hash1, hash2; - #if CYTHON_PEP393_ENABLED - hash1 = ((PyASCIIObject*)s1)->hash; - hash2 = ((PyASCIIObject*)s2)->hash; - #else - hash1 = ((PyUnicodeObject*)s1)->hash; - hash2 = ((PyUnicodeObject*)s2)->hash; - #endif - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - goto return_ne; - } - } -#endif - kind = __Pyx_PyUnicode_KIND(s1); - if (kind != __Pyx_PyUnicode_KIND(s2)) { - goto return_ne; - } - data1 = __Pyx_PyUnicode_DATA(s1); - data2 = __Pyx_PyUnicode_DATA(s2); - if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { - goto return_ne; - } else if (length == 1) { - goto return_eq; - } else { - int result = memcmp(data1, data2, (size_t)(length * kind)); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & s2_is_unicode) { - goto return_ne; - } else if ((s2 == Py_None) & s1_is_unicode) { - goto return_ne; - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -return_eq: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ); -return_ne: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_NE); -#endif -} - -/* fastcall */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s) -{ - Py_ssize_t i, n = PyTuple_GET_SIZE(kwnames); - for (i = 0; i < n; i++) - { - if (s == PyTuple_GET_ITEM(kwnames, i)) return kwvalues[i]; - } - for (i = 0; i < n; i++) - { - int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ); - if (unlikely(eq != 0)) { - if (unlikely(eq < 0)) return NULL; - return kwvalues[i]; - } - } - return NULL; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 -CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) { - Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames); - PyObject *dict; - dict = PyDict_New(); - if (unlikely(!dict)) - return NULL; - for (i=0; i= 3 - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, - PyString_AsString(kw_name)); - #endif -} - -/* ParseKeywords */ -static int __Pyx_ParseOptionalKeywords( - PyObject *kwds, - PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject *key = 0, *value = 0; - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; - int kwds_is_tuple = CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds)); - while (1) { - Py_XDECREF(key); key = NULL; - Py_XDECREF(value); value = NULL; - if (kwds_is_tuple) { - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(kwds); -#else - size = PyTuple_Size(kwds); - if (size < 0) goto bad; -#endif - if (pos >= size) break; -#if CYTHON_AVOID_BORROWED_REFS - key = __Pyx_PySequence_ITEM(kwds, pos); - if (!key) goto bad; -#elif CYTHON_ASSUME_SAFE_MACROS - key = PyTuple_GET_ITEM(kwds, pos); -#else - key = PyTuple_GetItem(kwds, pos); - if (!key) goto bad; -#endif - value = kwvalues[pos]; - pos++; - } - else - { - if (!PyDict_Next(kwds, &pos, &key, &value)) break; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - } - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(value); - Py_DECREF(key); -#endif - key = NULL; - value = NULL; - continue; - } -#if !CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - Py_INCREF(value); - name = first_kw_arg; - #if PY_MAJOR_VERSION < 3 - if (likely(PyString_Check(key))) { - while (*name) { - if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) - && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - if ((**argname == key) || ( - (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) - && _PyString_Eq(**argname, key))) { - goto arg_passed_twice; - } - argname++; - } - } - } else - #endif - if (likely(PyUnicode_Check(key))) { - while (*name) { - int cmp = ( - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**name, key) - ); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - int cmp = (**argname == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**argname, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - argname++; - } - } - } else - goto invalid_keyword_type; - if (kwds2) { - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else { - goto invalid_keyword; - } - } - Py_XDECREF(key); - Py_XDECREF(value); - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -invalid_keyword: - #if PY_MAJOR_VERSION < 3 - PyErr_Format(PyExc_TypeError, - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - PyErr_Format(PyExc_TypeError, - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif -bad: - Py_XDECREF(key); - Py_XDECREF(value); - return -1; -} - -/* ArgTypeTest */ -static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) -{ - __Pyx_TypeName type_name; - __Pyx_TypeName obj_type_name; - if (unlikely(!type)) { - PyErr_SetString(PyExc_SystemError, "Missing type object"); - return 0; - } - else if (exact) { - #if PY_MAJOR_VERSION == 2 - if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; - #endif - } - else { - if (likely(__Pyx_TypeCheck(obj, type))) return 1; - } - type_name = __Pyx_PyType_GetName(type); - obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "Argument '%.200s' has incorrect type (expected " __Pyx_FMT_TYPENAME - ", got " __Pyx_FMT_TYPENAME ")", name, type_name, obj_type_name); - __Pyx_DECREF_TypeName(type_name); - __Pyx_DECREF_TypeName(obj_type_name); - return 0; -} - -/* RaiseUnexpectedTypeError */ -static int -__Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj) -{ - __Pyx_TypeName obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, "Expected %s, got " __Pyx_FMT_TYPENAME, - expected, obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); - return 0; -} - -/* PyDictVersioning */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ -#if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if !CYTHON_AVOID_BORROWED_REFS -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000 - result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } else if (unlikely(PyErr_Occurred())) { - return NULL; - } -#elif CYTHON_COMPILING_IN_LIMITED_API - if (unlikely(!__pyx_m)) { - return NULL; - } - result = PyObject_GetAttr(__pyx_m, name); - if (likely(result)) { - return result; - } -#else - result = PyDict_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } -#endif -#else - result = PyObject_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyErr_Clear(); -#endif - return __Pyx_GetBuiltinName(name); -} - -/* JoinPyUnicode */ -static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char) { -#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - PyObject *result_uval; - int result_ukind, kind_shift; - Py_ssize_t i, char_pos; - void *result_udata; - CYTHON_MAYBE_UNUSED_VAR(max_char); -#if CYTHON_PEP393_ENABLED - result_uval = PyUnicode_New(result_ulength, max_char); - if (unlikely(!result_uval)) return NULL; - result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND; - kind_shift = (result_ukind == PyUnicode_4BYTE_KIND) ? 2 : result_ukind - 1; - result_udata = PyUnicode_DATA(result_uval); -#else - result_uval = PyUnicode_FromUnicode(NULL, result_ulength); - if (unlikely(!result_uval)) return NULL; - result_ukind = sizeof(Py_UNICODE); - kind_shift = (result_ukind == 4) ? 2 : result_ukind - 1; - result_udata = PyUnicode_AS_UNICODE(result_uval); -#endif - assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0); - char_pos = 0; - for (i=0; i < value_count; i++) { - int ukind; - Py_ssize_t ulength; - void *udata; - PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); - if (unlikely(__Pyx_PyUnicode_READY(uval))) - goto bad; - ulength = __Pyx_PyUnicode_GET_LENGTH(uval); - if (unlikely(!ulength)) - continue; - if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos)) - goto overflow; - ukind = __Pyx_PyUnicode_KIND(uval); - udata = __Pyx_PyUnicode_DATA(uval); - if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) { - memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift)); - } else { - #if PY_VERSION_HEX >= 0x030d0000 - if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad; - #elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters) - _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength); - #else - Py_ssize_t j; - for (j=0; j < ulength; j++) { - Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j); - __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar); - } - #endif - } - char_pos += ulength; - } - return result_uval; -overflow: - PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string"); -bad: - Py_DECREF(result_uval); - return NULL; -#else - CYTHON_UNUSED_VAR(max_char); - CYTHON_UNUSED_VAR(result_ulength); - CYTHON_UNUSED_VAR(value_count); - return PyUnicode_Join(__pyx_empty_unicode, value_tuple); -#endif -} - -/* PyFunctionFastCall */ -#if CYTHON_FAST_PYCALL && !CYTHON_VECTORCALL -static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, - PyObject *globals) { - PyFrameObject *f; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject **fastlocals; - Py_ssize_t i; - PyObject *result; - assert(globals != NULL); - /* XXX Perhaps we should create a specialized - PyFrame_New() that doesn't take locals, but does - take builtins without sanity checking them. - */ - assert(tstate != NULL); - f = PyFrame_New(tstate, co, globals, NULL); - if (f == NULL) { - return NULL; - } - fastlocals = __Pyx_PyFrame_GetLocalsplus(f); - for (i = 0; i < na; i++) { - Py_INCREF(*args); - fastlocals[i] = *args++; - } - result = PyEval_EvalFrameEx(f,0); - ++tstate->recursion_depth; - Py_DECREF(f); - --tstate->recursion_depth; - return result; -} -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { - PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); - PyObject *globals = PyFunction_GET_GLOBALS(func); - PyObject *argdefs = PyFunction_GET_DEFAULTS(func); - PyObject *closure; -#if PY_MAJOR_VERSION >= 3 - PyObject *kwdefs; -#endif - PyObject *kwtuple, **k; - PyObject **d; - Py_ssize_t nd; - Py_ssize_t nk; - PyObject *result; - assert(kwargs == NULL || PyDict_Check(kwargs)); - nk = kwargs ? PyDict_Size(kwargs) : 0; - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) { - return NULL; - } - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) { - return NULL; - } - #endif - if ( -#if PY_MAJOR_VERSION >= 3 - co->co_kwonlyargcount == 0 && -#endif - likely(kwargs == NULL || nk == 0) && - co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { - if (argdefs == NULL && co->co_argcount == nargs) { - result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); - goto done; - } - else if (nargs == 0 && argdefs != NULL - && co->co_argcount == Py_SIZE(argdefs)) { - /* function called with no arguments, but all parameters have - a default value: use default values as arguments .*/ - args = &PyTuple_GET_ITEM(argdefs, 0); - result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); - goto done; - } - } - if (kwargs != NULL) { - Py_ssize_t pos, i; - kwtuple = PyTuple_New(2 * nk); - if (kwtuple == NULL) { - result = NULL; - goto done; - } - k = &PyTuple_GET_ITEM(kwtuple, 0); - pos = i = 0; - while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { - Py_INCREF(k[i]); - Py_INCREF(k[i+1]); - i += 2; - } - nk = i / 2; - } - else { - kwtuple = NULL; - k = NULL; - } - closure = PyFunction_GET_CLOSURE(func); -#if PY_MAJOR_VERSION >= 3 - kwdefs = PyFunction_GET_KW_DEFAULTS(func); -#endif - if (argdefs != NULL) { - d = &PyTuple_GET_ITEM(argdefs, 0); - nd = Py_SIZE(argdefs); - } - else { - d = NULL; - nd = 0; - } -#if PY_MAJOR_VERSION >= 3 - result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, kwdefs, closure); -#else - result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, closure); -#endif - Py_XDECREF(kwtuple); -done: - Py_LeaveRecursiveCall(); - return result; -} -#endif - -/* PyObjectCall */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = Py_TYPE(func)->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallMethO */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func); - self = __Pyx_CyOrPyCFunction_GET_SELF(func); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectFastCall */ -#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API -static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) { - PyObject *argstuple; - PyObject *result = 0; - size_t i; - argstuple = PyTuple_New((Py_ssize_t)nargs); - if (unlikely(!argstuple)) return NULL; - for (i = 0; i < nargs; i++) { - Py_INCREF(args[i]); - if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad; - } - result = __Pyx_PyObject_Call(func, argstuple, kwargs); - bad: - Py_DECREF(argstuple); - return result; -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) { - Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs); -#if CYTHON_COMPILING_IN_CPYTHON - if (nargs == 0 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS)) - return __Pyx_PyObject_CallMethO(func, NULL); - } - else if (nargs == 1 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O)) - return __Pyx_PyObject_CallMethO(func, args[0]); - } -#endif - #if PY_VERSION_HEX < 0x030800B1 - #if CYTHON_FAST_PYCCALL - if (PyCFunction_Check(func)) { - if (kwargs) { - return _PyCFunction_FastCallDict(func, args, nargs, kwargs); - } else { - return _PyCFunction_FastCallKeywords(func, args, nargs, NULL); - } - } - #if PY_VERSION_HEX >= 0x030700A1 - if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) { - return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL); - } - #endif - #endif - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs); - } - #endif - #endif - if (kwargs == NULL) { - #if CYTHON_VECTORCALL - #if PY_VERSION_HEX < 0x03090000 - vectorcallfunc f = _PyVectorcall_Function(func); - #else - vectorcallfunc f = PyVectorcall_Function(func); - #endif - if (f) { - return f(func, args, (size_t)nargs, NULL); - } - #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL - if (__Pyx_CyFunction_CheckExact(func)) { - __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func); - if (f) return f(func, args, (size_t)nargs, NULL); - } - #endif - } - if (nargs == 0) { - return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs); - } - #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API - return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs); - #else - return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs); - #endif -} - -/* PyIntBinop */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_TrueDivideObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_MAYBE_UNUSED_VAR(inplace); - CYTHON_UNUSED_VAR(zerodivision_check); - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long a = PyInt_AS_LONG(op1); - - if (8 * sizeof(long) <= 53 || likely(labs(a) <= ((PY_LONG_LONG)1 << 53))) { - return PyFloat_FromDouble((double)a / (double)b); - } - return PyInt_Type.tp_as_number->nb_true_divide(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; - if (unlikely(__Pyx_PyLong_IsZero(op1))) { - } - if (likely(__Pyx_PyLong_IsCompact(op1))) { - a = __Pyx_PyLong_CompactValue(op1); - } else { - const digit* digits = __Pyx_PyLong_Digits(op1); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1); - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT && 1 * PyLong_SHIFT < 53) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT && 1 * PyLong_SHIFT < 53) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT && 2 * PyLong_SHIFT < 53) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT && 2 * PyLong_SHIFT < 53) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT && 3 * PyLong_SHIFT < 53) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT && 3 * PyLong_SHIFT < 53) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_true_divide(op1, op2); - } - } - if ((8 * sizeof(long) <= 53 || likely(labs(a) <= ((PY_LONG_LONG)1 << 53))) - || __Pyx_PyLong_DigitCount(op1) <= 52 / PyLong_SHIFT) { - return PyFloat_FromDouble((double)a / (double)b); - } - return PyLong_Type.tp_as_number->nb_true_divide(op1, op2); - return PyLong_FromLong(x); - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - double result; - - PyFPE_START_PROTECT("divide", return NULL) - result = ((double)a) / (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceTrueDivide : PyNumber_TrueDivide)(op1, op2); -} -#endif - -/* Import */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { - PyObject *module = 0; - PyObject *empty_dict = 0; - PyObject *empty_list = 0; - #if PY_MAJOR_VERSION < 3 - PyObject *py_import; - py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); - if (unlikely(!py_import)) - goto bad; - if (!from_list) { - empty_list = PyList_New(0); - if (unlikely(!empty_list)) - goto bad; - from_list = empty_list; - } - #endif - empty_dict = PyDict_New(); - if (unlikely(!empty_dict)) - goto bad; - { - #if PY_MAJOR_VERSION >= 3 - if (level == -1) { - if (strchr(__Pyx_MODULE_NAME, '.') != NULL) { - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, 1); - if (unlikely(!module)) { - if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError))) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - #endif - if (!module) { - #if PY_MAJOR_VERSION < 3 - PyObject *py_level = PyInt_FromLong(level); - if (unlikely(!py_level)) - goto bad; - module = PyObject_CallFunctionObjArgs(py_import, - name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL); - Py_DECREF(py_level); - #else - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, level); - #endif - } - } -bad: - Py_XDECREF(empty_dict); - Py_XDECREF(empty_list); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_import); - #endif - return module; -} - -/* ImportFrom */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { - PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); - if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { - const char* module_name_str = 0; - PyObject* module_name = 0; - PyObject* module_dot = 0; - PyObject* full_name = 0; - PyErr_Clear(); - module_name_str = PyModule_GetName(module); - if (unlikely(!module_name_str)) { goto modbad; } - module_name = PyUnicode_FromString(module_name_str); - if (unlikely(!module_name)) { goto modbad; } - module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__4); - if (unlikely(!module_dot)) { goto modbad; } - full_name = PyUnicode_Concat(module_dot, name); - if (unlikely(!full_name)) { goto modbad; } - #if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400) - { - PyObject *modules = PyImport_GetModuleDict(); - if (unlikely(!modules)) - goto modbad; - value = PyObject_GetItem(modules, full_name); - } - #else - value = PyImport_GetModule(full_name); - #endif - modbad: - Py_XDECREF(full_name); - Py_XDECREF(module_dot); - Py_XDECREF(module_name); - } - if (unlikely(!value)) { - PyErr_Format(PyExc_ImportError, - #if PY_MAJOR_VERSION < 3 - "cannot import name %.230s", PyString_AS_STRING(name)); - #else - "cannot import name %S", name); - #endif - } - return value; -} - -/* FixUpExtensionType */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) { -#if PY_VERSION_HEX > 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - CYTHON_UNUSED_VAR(spec); - CYTHON_UNUSED_VAR(type); -#else - const PyType_Slot *slot = spec->slots; - while (slot && slot->slot && slot->slot != Py_tp_members) - slot++; - if (slot && slot->slot == Py_tp_members) { - int changed = 0; -#if !(PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON) - const -#endif - PyMemberDef *memb = (PyMemberDef*) slot->pfunc; - while (memb && memb->name) { - if (memb->name[0] == '_' && memb->name[1] == '_') { -#if PY_VERSION_HEX < 0x030900b1 - if (strcmp(memb->name, "__weaklistoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_weaklistoffset = memb->offset; - changed = 1; - } - else if (strcmp(memb->name, "__dictoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_dictoffset = memb->offset; - changed = 1; - } -#if CYTHON_METH_FASTCALL - else if (strcmp(memb->name, "__vectorcalloffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); -#if PY_VERSION_HEX >= 0x030800b4 - type->tp_vectorcall_offset = memb->offset; -#else - type->tp_print = (printfunc) memb->offset; -#endif - changed = 1; - } -#endif -#else - if ((0)); -#endif -#if PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON - else if (strcmp(memb->name, "__module__") == 0) { - PyObject *descr; - assert(memb->type == T_OBJECT); - assert(memb->flags == 0 || memb->flags == READONLY); - descr = PyDescr_NewMember(type, memb); - if (unlikely(!descr)) - return -1; - if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) { - Py_DECREF(descr); - return -1; - } - Py_DECREF(descr); - changed = 1; - } -#endif - } - memb++; - } - if (changed) - PyType_Modified(type); - } -#endif - return 0; -} -#endif - -/* FetchSharedCythonModule */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void) { - return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME); -} - -/* FetchCommonType */ -static int __Pyx_VerifyCachedType(PyObject *cached_type, - const char *name, - Py_ssize_t basicsize, - Py_ssize_t expected_basicsize) { - if (!PyType_Check(cached_type)) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s is not a type object", name); - return -1; - } - if (basicsize != expected_basicsize) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s has the wrong size, try recompiling", - name); - return -1; - } - return 0; -} -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { - PyObject* abi_module; - const char* object_name; - PyTypeObject *cached_type = NULL; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - object_name = strrchr(type->tp_name, '.'); - object_name = object_name ? object_name+1 : type->tp_name; - cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - if (__Pyx_VerifyCachedType( - (PyObject *)cached_type, - object_name, - cached_type->tp_basicsize, - type->tp_basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - if (PyType_Ready(type) < 0) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0) - goto bad; - Py_INCREF(type); - cached_type = type; -done: - Py_DECREF(abi_module); - return cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#else -static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) { - PyObject *abi_module, *cached_type = NULL; - const char* object_name = strrchr(spec->name, '.'); - object_name = object_name ? object_name+1 : spec->name; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - cached_type = PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - Py_ssize_t basicsize; -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *py_basicsize; - py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__"); - if (unlikely(!py_basicsize)) goto bad; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = 0; - if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; -#else - basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1; -#endif - if (__Pyx_VerifyCachedType( - cached_type, - object_name, - basicsize, - spec->basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - CYTHON_UNUSED_VAR(module); - cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases); - if (unlikely(!cached_type)) goto bad; - if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad; -done: - Py_DECREF(abi_module); - assert(cached_type == NULL || PyType_Check(cached_type)); - return (PyTypeObject *) cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#endif - -/* RaiseException */ -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - __Pyx_PyThreadState_declare - CYTHON_UNUSED_VAR(cause); - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_PyThreadState_assign - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; -} -#else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { - #if PY_VERSION_HEX >= 0x030C00A6 - PyException_SetTraceback(value, tb); - #elif CYTHON_FAST_THREAD_STATE - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} -#endif - -/* GetTopmostException */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - PyObject *exc_value = exc_info->exc_value; - if (exc_value == NULL || exc_value == Py_None) { - *value = NULL; - *type = NULL; - *tb = NULL; - } else { - *value = exc_value; - Py_INCREF(*value); - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - *tb = PyException_GetTraceback(exc_value); - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #endif -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - PyObject *tmp_value = exc_info->exc_value; - exc_info->exc_value = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); - #else - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); - #endif -} -#endif - -/* SwapException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_value = exc_info->exc_value; - exc_info->exc_value = *value; - if (tmp_value == NULL || tmp_value == Py_None) { - Py_XDECREF(tmp_value); - tmp_value = NULL; - tmp_type = NULL; - tmp_tb = NULL; - } else { - tmp_type = (PyObject*) Py_TYPE(tmp_value); - Py_INCREF(tmp_type); - #if CYTHON_COMPILING_IN_CPYTHON - tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback; - Py_XINCREF(tmp_tb); - #else - tmp_tb = PyException_GetTraceback(tmp_value); - #endif - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = *type; - exc_info->exc_value = *value; - exc_info->exc_traceback = *tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = *type; - tstate->exc_value = *value; - tstate->exc_traceback = *tb; - #endif - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); - PyErr_SetExcInfo(*type, *value, *tb); - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#endif - -/* PyObjectCall2Args */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args[3] = {NULL, arg1, arg2}; - return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectCallOneArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *args[2] = {NULL, arg}; - return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectGetMethod */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { - PyObject *attr; -#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP - __Pyx_TypeName type_name; - PyTypeObject *tp = Py_TYPE(obj); - PyObject *descr; - descrgetfunc f = NULL; - PyObject **dictptr, *dict; - int meth_found = 0; - assert (*method == NULL); - if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; - } - if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { - return 0; - } - descr = _PyType_Lookup(tp, name); - if (likely(descr != NULL)) { - Py_INCREF(descr); -#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR - if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR)) -#elif PY_MAJOR_VERSION >= 3 - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type))) - #endif -#else - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr))) - #endif -#endif - { - meth_found = 1; - } else { - f = Py_TYPE(descr)->tp_descr_get; - if (f != NULL && PyDescr_IsData(descr)) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - } - } - dictptr = _PyObject_GetDictPtr(obj); - if (dictptr != NULL && (dict = *dictptr) != NULL) { - Py_INCREF(dict); - attr = __Pyx_PyDict_GetItemStr(dict, name); - if (attr != NULL) { - Py_INCREF(attr); - Py_DECREF(dict); - Py_XDECREF(descr); - goto try_unpack; - } - Py_DECREF(dict); - } - if (meth_found) { - *method = descr; - return 1; - } - if (f != NULL) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - if (likely(descr != NULL)) { - *method = descr; - return 0; - } - type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return 0; -#else - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; -#endif -try_unpack: -#if CYTHON_UNPACK_METHODS - if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { - PyObject *function = PyMethod_GET_FUNCTION(attr); - Py_INCREF(function); - Py_DECREF(attr); - *method = function; - return 1; - } -#endif - *method = attr; - return 0; -} - -/* PyObjectCallMethod1 */ -#if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2) -static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { - PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); - Py_DECREF(method); - return result; -} -#endif -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { -#if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2 - PyObject *args[2] = {obj, arg}; - (void) __Pyx_PyObject_GetMethod; - (void) __Pyx_PyObject_CallOneArg; - (void) __Pyx_PyObject_Call2Args; - return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); -#else - PyObject *method = NULL, *result; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_Call2Args(method, obj, arg); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) return NULL; - return __Pyx__PyObject_CallMethod1(method, arg); -#endif -} - -/* PyObjectCallNoArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { - PyObject *arg[2] = {NULL, NULL}; - return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* CoroutineBase */ -#include -#if PY_VERSION_HEX >= 0x030b00a6 && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom) -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) { - PyObject *et, *ev, *tb; - PyObject *value = NULL; - CYTHON_UNUSED_VAR(__pyx_tstate); - __Pyx_ErrFetch(&et, &ev, &tb); - if (!et) { - Py_XDECREF(tb); - Py_XDECREF(ev); - Py_INCREF(Py_None); - *pvalue = Py_None; - return 0; - } - if (likely(et == PyExc_StopIteration)) { - if (!ev) { - Py_INCREF(Py_None); - value = Py_None; - } -#if PY_VERSION_HEX >= 0x030300A0 - else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) { - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); - } -#endif - else if (unlikely(PyTuple_Check(ev))) { - if (PyTuple_GET_SIZE(ev) >= 1) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - value = PyTuple_GET_ITEM(ev, 0); - Py_INCREF(value); -#else - value = PySequence_ITEM(ev, 0); -#endif - } else { - Py_INCREF(Py_None); - value = Py_None; - } - Py_DECREF(ev); - } - else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) { - value = ev; - } - if (likely(value)) { - Py_XDECREF(tb); - Py_DECREF(et); - *pvalue = value; - return 0; - } - } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - PyErr_NormalizeException(&et, &ev, &tb); - if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - Py_XDECREF(tb); - Py_DECREF(et); -#if PY_VERSION_HEX >= 0x030300A0 - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); -#else - { - PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args); - Py_DECREF(ev); - if (likely(args)) { - value = PySequence_GetItem(args, 0); - Py_DECREF(args); - } - if (unlikely(!value)) { - __Pyx_ErrRestore(NULL, NULL, NULL); - Py_INCREF(Py_None); - value = Py_None; - } - } -#endif - *pvalue = value; - return 0; -} -static CYTHON_INLINE -void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_CLEAR(exc_state->exc_value); -#else - PyObject *t, *v, *tb; - t = exc_state->exc_type; - v = exc_state->exc_value; - tb = exc_state->exc_traceback; - exc_state->exc_type = NULL; - exc_state->exc_value = NULL; - exc_state->exc_traceback = NULL; - Py_XDECREF(t); - Py_XDECREF(v); - Py_XDECREF(tb); -#endif -} -#define __Pyx_Coroutine_AlreadyRunningError(gen) (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check((PyObject*)gen)) { - msg = "coroutine already executing"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) { - msg = "async generator already executing"; - #endif - } else { - msg = "generator already executing"; - } - PyErr_SetString(PyExc_ValueError, msg); -} -#define __Pyx_Coroutine_NotStartedError(gen) (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_NotStartedError(PyObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(gen)) { - msg = "can't send non-None value to a just-started coroutine"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(gen)) { - msg = "can't send non-None value to a just-started async generator"; - #endif - } else { - msg = "can't send non-None value to a just-started generator"; - } - PyErr_SetString(PyExc_TypeError, msg); -} -#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing) (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) { - CYTHON_MAYBE_UNUSED_VAR(gen); - CYTHON_MAYBE_UNUSED_VAR(closing); - #ifdef __Pyx_Coroutine_USED - if (!closing && __Pyx_Coroutine_Check(gen)) { - PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine"); - } else - #endif - if (value) { - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration); - else - #endif - PyErr_SetNone(PyExc_StopIteration); - } -} -static -PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) { - __Pyx_PyThreadState_declare - PyThreadState *tstate; - __Pyx_ExcInfoStruct *exc_state; - PyObject *retval; - assert(!self->is_running); - if (unlikely(self->resume_label == 0)) { - if (unlikely(value && value != Py_None)) { - return __Pyx_Coroutine_NotStartedError((PyObject*)self); - } - } - if (unlikely(self->resume_label == -1)) { - return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing); - } -#if CYTHON_FAST_THREAD_STATE - __Pyx_PyThreadState_assign - tstate = __pyx_tstate; -#else - tstate = __Pyx_PyThreadState_Current; -#endif - exc_state = &self->gi_exc_state; - if (exc_state->exc_value) { - #if CYTHON_COMPILING_IN_PYPY - #else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #elif PY_VERSION_HEX >= 0x030B00a4 - exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback; - #else - exc_tb = exc_state->exc_traceback; - #endif - if (exc_tb) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - assert(f->f_back == NULL); - #if PY_VERSION_HEX >= 0x030B00A1 - f->f_back = PyThreadState_GetFrame(tstate); - #else - Py_XINCREF(tstate->frame); - f->f_back = tstate->frame; - #endif - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - Py_DECREF(exc_tb); - #endif - } - #endif - } -#if CYTHON_USE_EXC_INFO_STACK - exc_state->previous_item = tstate->exc_info; - tstate->exc_info = exc_state; -#else - if (exc_state->exc_type) { - __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } else { - __Pyx_Coroutine_ExceptionClear(exc_state); - __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } -#endif - self->is_running = 1; - retval = self->body(self, tstate, value); - self->is_running = 0; -#if CYTHON_USE_EXC_INFO_STACK - exc_state = &self->gi_exc_state; - tstate->exc_info = exc_state->previous_item; - exc_state->previous_item = NULL; - __Pyx_Coroutine_ResetFrameBackpointer(exc_state); -#endif - return retval; -} -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) { -#if CYTHON_COMPILING_IN_PYPY - CYTHON_UNUSED_VAR(exc_state); -#else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 - if (!exc_state->exc_value) return; - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #else - exc_tb = exc_state->exc_traceback; - #endif - if (likely(exc_tb)) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - Py_CLEAR(f->f_back); - #if PY_VERSION_HEX >= 0x030B00a4 - Py_DECREF(exc_tb); - #endif - } -#endif -} -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_MethodReturn(PyObject* gen, PyObject *retval) { - CYTHON_MAYBE_UNUSED_VAR(gen); - if (unlikely(!retval)) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (!__Pyx_PyErr_Occurred()) { - PyObject *exc = PyExc_StopIteration; - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - exc = __Pyx_PyExc_StopAsyncIteration; - #endif - __Pyx_PyErr_SetNone(exc); - } - } - return retval; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) -static CYTHON_INLINE -PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) { -#if PY_VERSION_HEX <= 0x030A00A1 - return _PyGen_Send(gen, arg); -#else - PyObject *result; - if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) { - if (PyAsyncGen_CheckExact(gen)) { - assert(result == Py_None); - PyErr_SetNone(PyExc_StopAsyncIteration); - } - else if (result == Py_None) { - PyErr_SetNone(PyExc_StopIteration); - } - else { -#if PY_VERSION_HEX < 0x030d00A1 - _PyGen_SetStopIterationValue(result); -#else - if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) { - PyErr_SetObject(PyExc_StopIteration, result); - } else { - PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result); - if (likely(exc != NULL)) { - PyErr_SetObject(PyExc_StopIteration, exc); - Py_DECREF(exc); - } - } -#endif - } - Py_DECREF(result); - result = NULL; - } - return result; -#endif -} -#endif -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) { - PyObject *ret; - PyObject *val = NULL; - __Pyx_Coroutine_Undelegate(gen); - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val); - ret = __Pyx_Coroutine_SendEx(gen, val, 0); - Py_XDECREF(val); - return ret; -} -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) { - PyObject *retval; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - ret = __Pyx_async_gen_asend_send(yf, value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyCoro_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - { - if (value == Py_None) - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - else - ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value); - } - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - retval = __Pyx_Coroutine_FinishDelegation(gen); - } else { - retval = __Pyx_Coroutine_SendEx(gen, value, 0); - } - return __Pyx_Coroutine_MethodReturn(self, retval); -} -static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) { - PyObject *retval = NULL; - int err = 0; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - if (__Pyx_CoroutineAwait_CheckExact(yf)) { - retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - retval = __Pyx_async_gen_asend_close(yf, NULL); - } else - if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) { - retval = __Pyx_async_gen_athrow_close(yf, NULL); - } else - #endif - { - PyObject *meth; - gen->is_running = 1; - meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_close); - if (unlikely(!meth)) { - if (unlikely(PyErr_Occurred())) { - PyErr_WriteUnraisable(yf); - } - } else { - retval = __Pyx_PyObject_CallNoArg(meth); - Py_DECREF(meth); - if (unlikely(!retval)) - err = -1; - } - gen->is_running = 0; - } - Py_XDECREF(retval); - return err; -} -static PyObject *__Pyx_Generator_Next(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Generator_Next(yf); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, Py_None); - } else - #endif - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - return __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_SendEx(gen, Py_None, 0); -} -static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self); -} -static PyObject *__Pyx_Coroutine_Close(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *retval, *raised_exception; - PyObject *yf = gen->yieldfrom; - int err = 0; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - Py_INCREF(yf); - err = __Pyx_Coroutine_CloseIter(gen, yf); - __Pyx_Coroutine_Undelegate(gen); - Py_DECREF(yf); - } - if (err == 0) - PyErr_SetNone(PyExc_GeneratorExit); - retval = __Pyx_Coroutine_SendEx(gen, NULL, 1); - if (unlikely(retval)) { - const char *msg; - Py_DECREF(retval); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(self)) { - msg = "coroutine ignored GeneratorExit"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(self)) { -#if PY_VERSION_HEX < 0x03060000 - msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)"; -#else - msg = "async generator ignored GeneratorExit"; -#endif - #endif - } else { - msg = "generator ignored GeneratorExit"; - } - PyErr_SetString(PyExc_RuntimeError, msg); - return NULL; - } - raised_exception = PyErr_Occurred(); - if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) { - if (raised_exception) PyErr_Clear(); - Py_INCREF(Py_None); - return Py_None; - } - return NULL; -} -static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb, - PyObject *args, int close_on_genexit) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - Py_INCREF(yf); - if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) { - int err = __Pyx_Coroutine_CloseIter(gen, yf); - Py_DECREF(yf); - __Pyx_Coroutine_Undelegate(gen); - if (err < 0) - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); - goto throw_here; - } - gen->is_running = 1; - if (0 - #ifdef __Pyx_Generator_USED - || __Pyx_Generator_CheckExact(yf) - #endif - #ifdef __Pyx_Coroutine_USED - || __Pyx_Coroutine_Check(yf) - #endif - ) { - ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit); - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_CoroutineAwait_CheckExact(yf)) { - ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit); - #endif - } else { - PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_throw); - if (unlikely(!meth)) { - Py_DECREF(yf); - if (unlikely(PyErr_Occurred())) { - gen->is_running = 0; - return NULL; - } - __Pyx_Coroutine_Undelegate(gen); - gen->is_running = 0; - goto throw_here; - } - if (likely(args)) { - ret = __Pyx_PyObject_Call(meth, args, NULL); - } else { - PyObject *cargs[4] = {NULL, typ, val, tb}; - ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); - } - Py_DECREF(meth); - } - gen->is_running = 0; - Py_DECREF(yf); - if (!ret) { - ret = __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_MethodReturn(self, ret); - } -throw_here: - __Pyx_Raise(typ, val, tb, NULL); - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); -} -static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) { - PyObject *typ; - PyObject *val = NULL; - PyObject *tb = NULL; - if (unlikely(!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb))) - return NULL; - return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1); -} -static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_VISIT(exc_state->exc_value); -#else - Py_VISIT(exc_state->exc_type); - Py_VISIT(exc_state->exc_value); - Py_VISIT(exc_state->exc_traceback); -#endif - return 0; -} -static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) { - Py_VISIT(gen->closure); - Py_VISIT(gen->classobj); - Py_VISIT(gen->yieldfrom); - return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg); -} -static int __Pyx_Coroutine_clear(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - Py_CLEAR(gen->closure); - Py_CLEAR(gen->classobj); - Py_CLEAR(gen->yieldfrom); - __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer); - } -#endif - Py_CLEAR(gen->gi_code); - Py_CLEAR(gen->gi_frame); - Py_CLEAR(gen->gi_name); - Py_CLEAR(gen->gi_qualname); - Py_CLEAR(gen->gi_modulename); - return 0; -} -static void __Pyx_Coroutine_dealloc(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject_GC_UnTrack(gen); - if (gen->gi_weakreflist != NULL) - PyObject_ClearWeakRefs(self); - if (gen->resume_label >= 0) { - PyObject_GC_Track(self); -#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE - if (unlikely(PyObject_CallFinalizerFromDealloc(self))) -#else - Py_TYPE(gen)->tp_del(self); - if (unlikely(Py_REFCNT(self) > 0)) -#endif - { - return; - } - PyObject_GC_UnTrack(self); - } -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - /* We have to handle this case for asynchronous generators - right here, because this code has to be between UNTRACK - and GC_Del. */ - Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer); - } -#endif - __Pyx_Coroutine_clear(self); - __Pyx_PyHeapTypeObject_GC_Del(gen); -} -static void __Pyx_Coroutine_del(PyObject *self) { - PyObject *error_type, *error_value, *error_traceback; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - __Pyx_PyThreadState_declare - if (gen->resume_label < 0) { - return; - } -#if !CYTHON_USE_TP_FINALIZE - assert(self->ob_refcnt == 0); - __Pyx_SET_REFCNT(self, 1); -#endif - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&error_type, &error_value, &error_traceback); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self; - PyObject *finalizer = agen->ag_finalizer; - if (finalizer && !agen->ag_closed) { - PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self); - if (unlikely(!res)) { - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); - return; - } - } -#endif - if (unlikely(gen->resume_label == 0 && !error_value)) { -#ifdef __Pyx_Coroutine_USED -#ifdef __Pyx_Generator_USED - if (!__Pyx_Generator_CheckExact(self)) -#endif - { - PyObject_GC_UnTrack(self); -#if PY_MAJOR_VERSION >= 3 || defined(PyErr_WarnFormat) - if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0)) - PyErr_WriteUnraisable(self); -#else - {PyObject *msg; - char *cmsg; - #if CYTHON_COMPILING_IN_PYPY - msg = NULL; - cmsg = (char*) "coroutine was never awaited"; - #else - char *cname; - PyObject *qualname; - qualname = gen->gi_qualname; - cname = PyString_AS_STRING(qualname); - msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname); - if (unlikely(!msg)) { - PyErr_Clear(); - cmsg = (char*) "coroutine was never awaited"; - } else { - cmsg = PyString_AS_STRING(msg); - } - #endif - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0)) - PyErr_WriteUnraisable(self); - Py_XDECREF(msg);} -#endif - PyObject_GC_Track(self); - } -#endif - } else { - PyObject *res = __Pyx_Coroutine_Close(self); - if (unlikely(!res)) { - if (PyErr_Occurred()) - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); -#if !CYTHON_USE_TP_FINALIZE - assert(Py_REFCNT(self) > 0); - if (likely(--self->ob_refcnt == 0)) { - return; - } - { - Py_ssize_t refcnt = Py_REFCNT(self); - _Py_NewReference(self); - __Pyx_SET_REFCNT(self, refcnt); - } -#if CYTHON_COMPILING_IN_CPYTHON - assert(PyType_IS_GC(Py_TYPE(self)) && - _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED); - _Py_DEC_REFTOTAL; -#endif -#ifdef COUNT_ALLOCS - --Py_TYPE(self)->tp_frees; - --Py_TYPE(self)->tp_allocs; -#endif -#endif -} -static PyObject * -__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_name; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_name, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_qualname; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_qualname, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context) -{ - PyObject *frame = self->gi_frame; - CYTHON_UNUSED_VAR(context); - if (!frame) { - if (unlikely(!self->gi_code)) { - Py_RETURN_NONE; - } - frame = (PyObject *) PyFrame_New( - PyThreadState_Get(), /*PyThreadState *tstate,*/ - (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (unlikely(!frame)) - return NULL; - self->gi_frame = frame; - } - Py_INCREF(frame); - return frame; -} -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type); - if (unlikely(!gen)) - return NULL; - return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name); -} -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - gen->body = body; - gen->closure = closure; - Py_XINCREF(closure); - gen->is_running = 0; - gen->resume_label = 0; - gen->classobj = NULL; - gen->yieldfrom = NULL; - #if PY_VERSION_HEX >= 0x030B00a4 - gen->gi_exc_state.exc_value = NULL; - #else - gen->gi_exc_state.exc_type = NULL; - gen->gi_exc_state.exc_value = NULL; - gen->gi_exc_state.exc_traceback = NULL; - #endif -#if CYTHON_USE_EXC_INFO_STACK - gen->gi_exc_state.previous_item = NULL; -#endif - gen->gi_weakreflist = NULL; - Py_XINCREF(qualname); - gen->gi_qualname = qualname; - Py_XINCREF(name); - gen->gi_name = name; - Py_XINCREF(module_name); - gen->gi_modulename = module_name; - Py_XINCREF(code); - gen->gi_code = code; - gen->gi_frame = NULL; - PyObject_GC_Track(gen); - return gen; -} - -/* PyObject_GenericGetAttrNoDict */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { - __Pyx_TypeName type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, attr_name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(attr_name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { - PyObject *descr; - PyTypeObject *tp = Py_TYPE(obj); - if (unlikely(!PyString_Check(attr_name))) { - return PyObject_GenericGetAttr(obj, attr_name); - } - assert(!tp->tp_dictoffset); - descr = _PyType_Lookup(tp, attr_name); - if (unlikely(!descr)) { - return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); - } - Py_INCREF(descr); - #if PY_MAJOR_VERSION < 3 - if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) - #endif - { - descrgetfunc f = Py_TYPE(descr)->tp_descr_get; - if (unlikely(f)) { - PyObject *res = f(descr, obj, (PyObject *)tp); - Py_DECREF(descr); - return res; - } - } - return descr; -} -#endif - -/* PatchModuleWithCoroutine */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - int result; - PyObject *globals, *result_obj; - globals = PyDict_New(); if (unlikely(!globals)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_coroutine_type", - #ifdef __Pyx_Coroutine_USED - (PyObject*)__pyx_CoroutineType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_generator_type", - #ifdef __Pyx_Generator_USED - (PyObject*)__pyx_GeneratorType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore; - result_obj = PyRun_String(py_code, Py_file_input, globals, globals); - if (unlikely(!result_obj)) goto ignore; - Py_DECREF(result_obj); - Py_DECREF(globals); - return module; -ignore: - Py_XDECREF(globals); - PyErr_WriteUnraisable(module); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) { - Py_DECREF(module); - module = NULL; - } -#else - py_code++; -#endif - return module; -} - -/* PatchGeneratorABC */ -#ifndef CYTHON_REGISTER_ABCS -#define CYTHON_REGISTER_ABCS 1 -#endif -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) -static PyObject* __Pyx_patch_abc_module(PyObject *module); -static PyObject* __Pyx_patch_abc_module(PyObject *module) { - module = __Pyx_Coroutine_patch_module( - module, "" -"if _cython_generator_type is not None:\n" -" try: Generator = _module.Generator\n" -" except AttributeError: pass\n" -" else: Generator.register(_cython_generator_type)\n" -"if _cython_coroutine_type is not None:\n" -" try: Coroutine = _module.Coroutine\n" -" except AttributeError: pass\n" -" else: Coroutine.register(_cython_coroutine_type)\n" - ); - return module; -} -#endif -static int __Pyx_patch_abc(void) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - static int abc_patched = 0; - if (CYTHON_REGISTER_ABCS && !abc_patched) { - PyObject *module; - module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections"); - if (unlikely(!module)) { - PyErr_WriteUnraisable(NULL); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, - ((PY_MAJOR_VERSION >= 3) ? - "Cython module failed to register with collections.abc module" : - "Cython module failed to register with collections module"), 1) < 0)) { - return -1; - } - } else { - module = __Pyx_patch_abc_module(module); - abc_patched = 1; - if (unlikely(!module)) - return -1; - Py_DECREF(module); - } - module = PyImport_ImportModule("backports_abc"); - if (module) { - module = __Pyx_patch_abc_module(module); - Py_XDECREF(module); - } - if (!module) { - PyErr_Clear(); - } - } -#else - if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL); -#endif - return 0; -} - -/* Coroutine */ -static void __Pyx_CoroutineAwait_dealloc(PyObject *self) { - PyObject_GC_UnTrack(self); - Py_CLEAR(((__pyx_CoroutineAwaitObject*)self)->coroutine); - __Pyx_PyHeapTypeObject_GC_Del(self); -} -static int __Pyx_CoroutineAwait_traverse(__pyx_CoroutineAwaitObject *self, visitproc visit, void *arg) { - Py_VISIT(self->coroutine); - return 0; -} -static int __Pyx_CoroutineAwait_clear(__pyx_CoroutineAwaitObject *self) { - Py_CLEAR(self->coroutine); - return 0; -} -static PyObject *__Pyx_CoroutineAwait_Next(__pyx_CoroutineAwaitObject *self) { - return __Pyx_Generator_Next(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_Send(__pyx_CoroutineAwaitObject *self, PyObject *value) { - return __Pyx_Coroutine_Send(self->coroutine, value); -} -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args) { - return __Pyx_Coroutine_Throw(self->coroutine, args); -} -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_self(PyObject *self) { - Py_INCREF(self); - return self; -} -#if !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_CoroutineAwait_no_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { - CYTHON_UNUSED_VAR(type); - CYTHON_UNUSED_VAR(args); - CYTHON_UNUSED_VAR(kwargs); - PyErr_SetString(PyExc_TypeError, "cannot instantiate type, use 'await coroutine' instead"); - return NULL; -} -#endif -static PyObject *__Pyx_CoroutineAwait_reduce_ex(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - PyErr_Format(PyExc_TypeError, "cannot pickle '%.200s' object", - Py_TYPE(self)->tp_name); - return NULL; -} -static PyMethodDef __pyx_CoroutineAwait_methods[] = { - {"send", (PyCFunction) __Pyx_CoroutineAwait_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_CoroutineAwait_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_CoroutineAwait_Close, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, - {"__reduce_ex__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_O, 0}, - {"__reduce__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_NOARGS, 0}, - {0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineAwaitType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CoroutineAwait_dealloc}, - {Py_tp_traverse, (void *)__Pyx_CoroutineAwait_traverse}, - {Py_tp_clear, (void *)__Pyx_CoroutineAwait_clear}, -#if !CYTHON_COMPILING_IN_PYPY - {Py_tp_new, (void *)__Pyx_CoroutineAwait_no_new}, -#endif - {Py_tp_methods, (void *)__pyx_CoroutineAwait_methods}, - {Py_tp_iter, (void *)__Pyx_CoroutineAwait_self}, - {Py_tp_iternext, (void *)__Pyx_CoroutineAwait_Next}, - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineAwaitType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - __pyx_CoroutineAwaitType_slots -}; -#else -static PyTypeObject __pyx_CoroutineAwaitType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - (destructor) __Pyx_CoroutineAwait_dealloc, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - PyDoc_STR("A wrapper object implementing __await__ for coroutines."), - (traverseproc) __Pyx_CoroutineAwait_traverse, - (inquiry) __Pyx_CoroutineAwait_clear, - 0, - 0, - __Pyx_CoroutineAwait_self, - (iternextfunc) __Pyx_CoroutineAwait_Next, - __pyx_CoroutineAwait_methods, - 0 , - 0 , - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if !CYTHON_COMPILING_IN_PYPY - __Pyx_CoroutineAwait_no_new, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -#if PY_VERSION_HEX < 0x030500B1 || defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static CYTHON_INLINE PyObject *__Pyx__Coroutine_await(PyObject *coroutine) { - __pyx_CoroutineAwaitObject *await = PyObject_GC_New(__pyx_CoroutineAwaitObject, __pyx_CoroutineAwaitType); - if (unlikely(!await)) return NULL; - Py_INCREF(coroutine); - await->coroutine = coroutine; - PyObject_GC_Track(await); - return (PyObject*)await; -} -#endif -#if PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_await_method(PyObject *coroutine, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static PyObject *__Pyx_Coroutine_await(PyObject *coroutine) { - if (unlikely(!coroutine || !__Pyx_Coroutine_Check(coroutine))) { - PyErr_SetString(PyExc_TypeError, "invalid input, expected coroutine"); - return NULL; - } - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_compare(PyObject *obj, PyObject *other, int op) { - PyObject* result; - switch (op) { - case Py_EQ: result = (other == obj) ? Py_True : Py_False; break; - case Py_NE: result = (other != obj) ? Py_True : Py_False; break; - default: - result = Py_NotImplemented; - } - Py_INCREF(result); - return result; -} -#endif -static PyMethodDef __pyx_Coroutine_methods[] = { - {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, -#if PY_VERSION_HEX < 0x030500B1 - {"__await__", (PyCFunction) __Pyx_Coroutine_await_method, METH_NOARGS, - (char*) PyDoc_STR("__await__() -> return an iterator to be used in await expression.")}, -#endif - {0, 0, 0, 0} -}; -static PyMemberDef __pyx_Coroutine_memberlist[] = { - {(char *) "cr_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL}, - {(char*) "cr_await", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY, - (char*) PyDoc_STR("object being awaited, or None")}, - {(char*) "cr_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL}, - {(char *) "__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0}, -#if CYTHON_USE_TYPE_SPECS - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyGetSetDef __pyx_Coroutine_getsets[] = { - {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name, - (char*) PyDoc_STR("name of the coroutine"), 0}, - {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname, - (char*) PyDoc_STR("qualified name of the coroutine"), 0}, - {(char *) "cr_frame", (getter)__Pyx_Coroutine_get_frame, NULL, - (char*) PyDoc_STR("Frame of the coroutine"), 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc}, - {Py_am_await, (void *)&__Pyx_Coroutine_await}, - {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse}, - {Py_tp_methods, (void *)__pyx_Coroutine_methods}, - {Py_tp_members, (void *)__pyx_Coroutine_memberlist}, - {Py_tp_getset, (void *)__pyx_Coroutine_getsets}, - {Py_tp_getattro, (void *) __Pyx_PyObject_GenericGetAttrNoDict}, -#if CYTHON_USE_TP_FINALIZE - {Py_tp_finalize, (void *)__Pyx_Coroutine_del}, -#endif - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - __pyx_CoroutineType_slots -}; -#else -#if CYTHON_USE_ASYNC_SLOTS -static __Pyx_PyAsyncMethodsStruct __pyx_Coroutine_as_async = { - __Pyx_Coroutine_await, - 0, - 0, -#if PY_VERSION_HEX >= 0x030A00A3 - 0, -#endif -}; -#endif -static PyTypeObject __pyx_CoroutineType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - (destructor) __Pyx_Coroutine_dealloc, - 0, - 0, - 0, -#if CYTHON_USE_ASYNC_SLOTS - &__pyx_Coroutine_as_async, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - 0, - (traverseproc) __Pyx_Coroutine_traverse, - 0, -#if CYTHON_USE_ASYNC_SLOTS && CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 - __Pyx_Coroutine_compare, -#else - 0, -#endif - offsetof(__pyx_CoroutineObject, gi_weakreflist), - 0, - 0, - __pyx_Coroutine_methods, - __pyx_Coroutine_memberlist, - __pyx_Coroutine_getsets, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if CYTHON_USE_TP_FINALIZE - 0, -#else - __Pyx_Coroutine_del, -#endif - 0, -#if CYTHON_USE_TP_FINALIZE - __Pyx_Coroutine_del, -#elif PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_Coroutine_init(PyObject *module) { - CYTHON_MAYBE_UNUSED_VAR(module); -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineType_spec, NULL); -#else - __pyx_CoroutineType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - __pyx_CoroutineType = __Pyx_FetchCommonType(&__pyx_CoroutineType_type); -#endif - if (unlikely(!__pyx_CoroutineType)) - return -1; -#ifdef __Pyx_IterableCoroutine_USED - if (unlikely(__pyx_IterableCoroutine_init(module) == -1)) - return -1; -#endif -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineAwaitType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineAwaitType_spec, NULL); -#else - __pyx_CoroutineAwaitType = __Pyx_FetchCommonType(&__pyx_CoroutineAwaitType_type); -#endif - if (unlikely(!__pyx_CoroutineAwaitType)) - return -1; - return 0; -} - -/* GetAwaitIter */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o) { -#ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(o)) { - return __Pyx_NewRef(o); - } -#endif - return __Pyx__Coroutine_GetAwaitableIter(o); -} -static void __Pyx_Coroutine_AwaitableIterError(PyObject *source) { -#if PY_VERSION_HEX >= 0x030600B3 && PY_VERSION_HEX < 0x030d0000 || defined(_PyErr_FormatFromCause) - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - _PyErr_FormatFromCause(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); -#elif PY_MAJOR_VERSION >= 3 - PyObject *exc, *val, *val2, *tb; - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - assert(PyErr_Occurred()); - PyErr_Fetch(&exc, &val, &tb); - PyErr_NormalizeException(&exc, &val, &tb); - if (tb != NULL) { - PyException_SetTraceback(val, tb); - Py_DECREF(tb); - } - Py_DECREF(exc); - assert(!PyErr_Occurred()); - PyErr_Format(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); - PyErr_Fetch(&exc, &val2, &tb); - PyErr_NormalizeException(&exc, &val2, &tb); - Py_INCREF(val); - PyException_SetCause(val2, val); - PyException_SetContext(val2, val); - PyErr_Restore(exc, val2, tb); -#else - CYTHON_UNUSED_VAR(source); -#endif -} -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *obj) { - PyObject *res; -#if CYTHON_USE_ASYNC_SLOTS - __Pyx_PyAsyncMethodsStruct* am = __Pyx_PyType_AsAsync(obj); - if (likely(am && am->am_await)) { - res = (*am->am_await)(obj); - } else -#endif -#if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - if (PyCoro_CheckExact(obj)) { - return __Pyx_NewRef(obj); - } else -#endif -#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE) -#if PY_VERSION_HEX >= 0x030C00A6 - if (PyGen_CheckExact(obj) && (PyGen_GetCode((PyGenObject*)obj)->co_flags & CO_ITERABLE_COROUTINE)) { -#else - if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) { -#endif - return __Pyx_NewRef(obj); - } else -#endif - { - PyObject *method = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, __pyx_n_s_await, &method); - if (likely(is_method)) { - res = __Pyx_PyObject_CallOneArg(method, obj); - } else if (likely(method)) { - res = __Pyx_PyObject_CallNoArg(method); - } else - goto slot_error; - Py_DECREF(method); - } - if (unlikely(!res)) { - __Pyx_Coroutine_AwaitableIterError(obj); - goto bad; - } - if (unlikely(!PyIter_Check(res))) { - __Pyx_TypeName res_type_name = __Pyx_PyType_GetName(Py_TYPE(res)); - PyErr_Format(PyExc_TypeError, - "__await__() returned non-iterator of type '" __Pyx_FMT_TYPENAME "'", res_type_name); - __Pyx_DECREF_TypeName(res_type_name); - Py_CLEAR(res); - } else { - int is_coroutine = 0; - #ifdef __Pyx_Coroutine_USED - is_coroutine |= __Pyx_Coroutine_Check(res); - #endif - #if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - is_coroutine |= PyCoro_CheckExact(res); - #endif - if (unlikely(is_coroutine)) { - /* __await__ must return an *iterator*, not - a coroutine or another awaitable (see PEP 492) */ - PyErr_SetString(PyExc_TypeError, - "__await__() returned a coroutine"); - Py_CLEAR(res); - } - } - return res; -slot_error: - { - __Pyx_TypeName obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "object " __Pyx_FMT_TYPENAME " can't be used in 'await' expression", obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); - } -bad: - return NULL; -} - -/* CoroutineYieldFrom */ - static PyObject* __Pyx__Coroutine_Yield_From_Generic(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - PyObject *source_gen = __Pyx__Coroutine_GetAwaitableIter(source); - if (unlikely(!source_gen)) { - return NULL; - } - if (__Pyx_Coroutine_Check(source_gen)) { - retval = __Pyx_Generator_Next(source_gen); - } else { - retval = __Pyx_PyObject_GetIterNextFunc(source_gen)(source_gen); - } - if (retval) { - gen->yieldfrom = source_gen; - return retval; - } - Py_DECREF(source_gen); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - if (__Pyx_Coroutine_Check(source)) { - if (unlikely(((__pyx_CoroutineObject*)source)->yieldfrom)) { - PyErr_SetString( - PyExc_RuntimeError, - "coroutine is being awaited already"); - return NULL; - } - retval = __Pyx_Generator_Next(source); -#ifdef __Pyx_AsyncGen_USED - } else if (__pyx_PyAsyncGenASend_CheckExact(source)) { - retval = __Pyx_async_gen_asend_iternext(source); -#endif - } else { - return __Pyx__Coroutine_Yield_From_Generic(gen, source); - } - if (retval) { - Py_INCREF(source); - gen->yieldfrom = source; - } - return retval; -} - -/* DictGetItem */ - #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { - PyObject *value; - value = PyDict_GetItemWithError(d, key); - if (unlikely(!value)) { - if (!PyErr_Occurred()) { - if (unlikely(PyTuple_Check(key))) { - PyObject* args = PyTuple_Pack(1, key); - if (likely(args)) { - PyErr_SetObject(PyExc_KeyError, args); - Py_DECREF(args); - } - } else { - PyErr_SetObject(PyExc_KeyError, key); - } - } - return NULL; - } - Py_INCREF(value); - return value; -} -#endif - -/* PyIntFromDouble */ - #if PY_MAJOR_VERSION < 3 -static CYTHON_INLINE PyObject* __Pyx_PyInt_FromDouble(double value) { - if (value >= (double)LONG_MIN && value <= (double)LONG_MAX) { - return PyInt_FromLong((long)value); - } - return PyLong_FromDouble(value); -} -#endif - -/* GetException */ - #if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type = NULL, *local_value, *local_tb = NULL; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if PY_VERSION_HEX >= 0x030C00A6 - local_value = tstate->current_exception; - tstate->current_exception = 0; - if (likely(local_value)) { - local_type = (PyObject*) Py_TYPE(local_value); - Py_INCREF(local_type); - local_tb = PyException_GetTraceback(local_value); - } - #else - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; - #endif -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE && PY_VERSION_HEX >= 0x030C00A6 - if (unlikely(tstate->current_exception)) -#elif CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - #if PY_VERSION_HEX >= 0x030B00a4 - tmp_value = exc_info->exc_value; - exc_info->exc_value = local_value; - tmp_type = NULL; - tmp_tb = NULL; - Py_XDECREF(local_type); - Py_XDECREF(local_tb); - #else - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - #endif - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -/* pep479 */ - static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) { - PyObject *exc, *val, *tb, *cur_exc; - __Pyx_PyThreadState_declare - #ifdef __Pyx_StopAsyncIteration_USED - int is_async_stopiteration = 0; - #endif - CYTHON_MAYBE_UNUSED_VAR(in_async_gen); - cur_exc = PyErr_Occurred(); - if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) { - #ifdef __Pyx_StopAsyncIteration_USED - if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, __Pyx_PyExc_StopAsyncIteration))) { - is_async_stopiteration = 1; - } else - #endif - return; - } - __Pyx_PyThreadState_assign - __Pyx_GetException(&exc, &val, &tb); - Py_XDECREF(exc); - Py_XDECREF(val); - Py_XDECREF(tb); - PyErr_SetString(PyExc_RuntimeError, - #ifdef __Pyx_StopAsyncIteration_USED - is_async_stopiteration ? "async generator raised StopAsyncIteration" : - in_async_gen ? "async generator raised StopIteration" : - #endif - "generator raised StopIteration"); -} - -/* PyObjectCallMethod0 */ - static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) { - PyObject *method = NULL, *result = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_CallOneArg(method, obj); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) goto bad; - result = __Pyx_PyObject_CallNoArg(method); - Py_DECREF(method); -bad: - return result; -} - -/* ValidateBasesTuple */ - #if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) { - Py_ssize_t i, n; -#if CYTHON_ASSUME_SAFE_MACROS - n = PyTuple_GET_SIZE(bases); -#else - n = PyTuple_Size(bases); - if (n < 0) return -1; -#endif - for (i = 1; i < n; i++) - { -#if CYTHON_AVOID_BORROWED_REFS - PyObject *b0 = PySequence_GetItem(bases, i); - if (!b0) return -1; -#elif CYTHON_ASSUME_SAFE_MACROS - PyObject *b0 = PyTuple_GET_ITEM(bases, i); -#else - PyObject *b0 = PyTuple_GetItem(bases, i); - if (!b0) return -1; -#endif - PyTypeObject *b; -#if PY_MAJOR_VERSION < 3 - if (PyClass_Check(b0)) - { - PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class", - PyString_AS_STRING(((PyClassObject*)b0)->cl_name)); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } -#endif - b = (PyTypeObject*) b0; - if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE)) - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name); - __Pyx_DECREF_TypeName(b_name); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - if (dictoffset == 0) - { - Py_ssize_t b_dictoffset = 0; -#if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - b_dictoffset = b->tp_dictoffset; -#else - PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__"); - if (!py_b_dictoffset) goto dictoffset_return; - b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset); - Py_DECREF(py_b_dictoffset); - if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return; -#endif - if (b_dictoffset) { - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "extension type '%.200s' has no __dict__ slot, " - "but base type '" __Pyx_FMT_TYPENAME "' has: " - "either add 'cdef dict __dict__' to the extension type " - "or add '__slots__ = [...]' to the base type", - type_name, b_name); - __Pyx_DECREF_TypeName(b_name); - } -#if !(CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY) - dictoffset_return: -#endif -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - } -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - } - return 0; -} -#endif - -/* PyType_Ready */ - static int __Pyx_PyType_Ready(PyTypeObject *t) { -#if CYTHON_USE_TYPE_SPECS || !(CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API) || defined(PYSTON_MAJOR_VERSION) - (void)__Pyx_PyObject_CallMethod0; -#if CYTHON_USE_TYPE_SPECS - (void)__Pyx_validate_bases_tuple; -#endif - return PyType_Ready(t); -#else - int r; - PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*); - if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1)) - return -1; -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - { - int gc_was_enabled; - #if PY_VERSION_HEX >= 0x030A00b1 - gc_was_enabled = PyGC_Disable(); - (void)__Pyx_PyObject_CallMethod0; - #else - PyObject *ret, *py_status; - PyObject *gc = NULL; - #if PY_VERSION_HEX >= 0x030700a1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400) - gc = PyImport_GetModule(__pyx_kp_u_gc); - #endif - if (unlikely(!gc)) gc = PyImport_Import(__pyx_kp_u_gc); - if (unlikely(!gc)) return -1; - py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_isenabled); - if (unlikely(!py_status)) { - Py_DECREF(gc); - return -1; - } - gc_was_enabled = __Pyx_PyObject_IsTrue(py_status); - Py_DECREF(py_status); - if (gc_was_enabled > 0) { - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_disable); - if (unlikely(!ret)) { - Py_DECREF(gc); - return -1; - } - Py_DECREF(ret); - } else if (unlikely(gc_was_enabled == -1)) { - Py_DECREF(gc); - return -1; - } - #endif - t->tp_flags |= Py_TPFLAGS_HEAPTYPE; -#if PY_VERSION_HEX >= 0x030A0000 - t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE; -#endif -#else - (void)__Pyx_PyObject_CallMethod0; -#endif - r = PyType_Ready(t); -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE; - #if PY_VERSION_HEX >= 0x030A00b1 - if (gc_was_enabled) - PyGC_Enable(); - #else - if (gc_was_enabled) { - PyObject *tp, *v, *tb; - PyErr_Fetch(&tp, &v, &tb); - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_enable); - if (likely(ret || r == -1)) { - Py_XDECREF(ret); - PyErr_Restore(tp, v, tb); - } else { - Py_XDECREF(tp); - Py_XDECREF(v); - Py_XDECREF(tb); - r = -1; - } - } - Py_DECREF(gc); - #endif - } -#endif - return r; -#endif -} - -/* ImportDottedModule */ - #if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx__ImportDottedModule_Error(PyObject *name, PyObject *parts_tuple, Py_ssize_t count) { - PyObject *partial_name = NULL, *slice = NULL, *sep = NULL; - if (unlikely(PyErr_Occurred())) { - PyErr_Clear(); - } - if (likely(PyTuple_GET_SIZE(parts_tuple) == count)) { - partial_name = name; - } else { - slice = PySequence_GetSlice(parts_tuple, 0, count); - if (unlikely(!slice)) - goto bad; - sep = PyUnicode_FromStringAndSize(".", 1); - if (unlikely(!sep)) - goto bad; - partial_name = PyUnicode_Join(sep, slice); - } - PyErr_Format( -#if PY_MAJOR_VERSION < 3 - PyExc_ImportError, - "No module named '%s'", PyString_AS_STRING(partial_name)); -#else -#if PY_VERSION_HEX >= 0x030600B1 - PyExc_ModuleNotFoundError, -#else - PyExc_ImportError, -#endif - "No module named '%U'", partial_name); -#endif -bad: - Py_XDECREF(sep); - Py_XDECREF(slice); - Py_XDECREF(partial_name); - return NULL; -} -#endif -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx__ImportDottedModule_Lookup(PyObject *name) { - PyObject *imported_module; -#if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400) - PyObject *modules = PyImport_GetModuleDict(); - if (unlikely(!modules)) - return NULL; - imported_module = __Pyx_PyDict_GetItemStr(modules, name); - Py_XINCREF(imported_module); -#else - imported_module = PyImport_GetModule(name); -#endif - return imported_module; -} -#endif -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple) { - Py_ssize_t i, nparts; - nparts = PyTuple_GET_SIZE(parts_tuple); - for (i=1; i < nparts && module; i++) { - PyObject *part, *submodule; -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - part = PyTuple_GET_ITEM(parts_tuple, i); -#else - part = PySequence_ITEM(parts_tuple, i); -#endif - submodule = __Pyx_PyObject_GetAttrStrNoError(module, part); -#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(part); -#endif - Py_DECREF(module); - module = submodule; - } - if (unlikely(!module)) { - return __Pyx__ImportDottedModule_Error(name, parts_tuple, i); - } - return module; -} -#endif -static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) { -#if PY_MAJOR_VERSION < 3 - PyObject *module, *from_list, *star = __pyx_n_s__39; - CYTHON_UNUSED_VAR(parts_tuple); - from_list = PyList_New(1); - if (unlikely(!from_list)) - return NULL; - Py_INCREF(star); - PyList_SET_ITEM(from_list, 0, star); - module = __Pyx_Import(name, from_list, 0); - Py_DECREF(from_list); - return module; -#else - PyObject *imported_module; - PyObject *module = __Pyx_Import(name, NULL, 0); - if (!parts_tuple || unlikely(!module)) - return module; - imported_module = __Pyx__ImportDottedModule_Lookup(name); - if (likely(imported_module)) { - Py_DECREF(module); - return imported_module; - } - PyErr_Clear(); - return __Pyx_ImportDottedModule_WalkParts(module, name, parts_tuple); -#endif -} -static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) { -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030400B1 - PyObject *module = __Pyx__ImportDottedModule_Lookup(name); - if (likely(module)) { - PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_n_s_spec); - if (likely(spec)) { - PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_n_s_initializing); - if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) { - Py_DECREF(spec); - spec = NULL; - } - Py_XDECREF(unsafe); - } - if (likely(!spec)) { - PyErr_Clear(); - return module; - } - Py_DECREF(spec); - Py_DECREF(module); - } else if (PyErr_Occurred()) { - PyErr_Clear(); - } -#endif - return __Pyx__ImportDottedModule(name, parts_tuple); -} - -/* PyVectorcallFastCallDict */ - #if CYTHON_METH_FASTCALL -static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - PyObject *res = NULL; - PyObject *kwnames; - PyObject **newargs; - PyObject **kwvalues; - Py_ssize_t i, pos; - size_t j; - PyObject *key, *value; - unsigned long keys_are_strings; - Py_ssize_t nkw = PyDict_GET_SIZE(kw); - newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0])); - if (unlikely(newargs == NULL)) { - PyErr_NoMemory(); - return NULL; - } - for (j = 0; j < nargs; j++) newargs[j] = args[j]; - kwnames = PyTuple_New(nkw); - if (unlikely(kwnames == NULL)) { - PyMem_Free(newargs); - return NULL; - } - kwvalues = newargs + nargs; - pos = i = 0; - keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS; - while (PyDict_Next(kw, &pos, &key, &value)) { - keys_are_strings &= Py_TYPE(key)->tp_flags; - Py_INCREF(key); - Py_INCREF(value); - PyTuple_SET_ITEM(kwnames, i, key); - kwvalues[i] = value; - i++; - } - if (unlikely(!keys_are_strings)) { - PyErr_SetString(PyExc_TypeError, "keywords must be strings"); - goto cleanup; - } - res = vc(func, newargs, nargs, kwnames); -cleanup: - Py_DECREF(kwnames); - for (i = 0; i < nkw; i++) - Py_DECREF(kwvalues[i]); - PyMem_Free(newargs); - return res; -} -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) { - return vc(func, args, nargs, NULL); - } - return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw); -} -#endif - -/* CythonFunctionShared */ - #if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - if (__Pyx_CyFunction_Check(func)) { - return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc; - } else if (PyCFunction_Check(func)) { - return PyCFunction_GetFunction(func) == (PyCFunction) cfunc; - } - return 0; -} -#else -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -} -#endif -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) { -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - __Pyx_Py_XDECREF_SET( - __Pyx_CyFunction_GetClassObj(f), - ((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#else - __Pyx_Py_XDECREF_SET( - ((PyCMethodObject *) (f))->mm_class, - (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#endif -} -static PyObject * -__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure) -{ - CYTHON_UNUSED_VAR(closure); - if (unlikely(op->func_doc == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_doc = PyObject_GetAttrString(op->func, "__doc__"); - if (unlikely(!op->func_doc)) return NULL; -#else - if (((PyCFunctionObject*)op)->m_ml->ml_doc) { -#if PY_MAJOR_VERSION >= 3 - op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#else - op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#endif - if (unlikely(op->func_doc == NULL)) - return NULL; - } else { - Py_INCREF(Py_None); - return Py_None; - } -#endif - } - Py_INCREF(op->func_doc); - return op->func_doc; -} -static int -__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (value == NULL) { - value = Py_None; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_doc, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_name == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_name = PyObject_GetAttrString(op->func, "__name__"); -#elif PY_MAJOR_VERSION >= 3 - op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#else - op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#endif - if (unlikely(op->func_name == NULL)) - return NULL; - } - Py_INCREF(op->func_name); - return op->func_name; -} -static int -__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_name, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_qualname); - return op->func_qualname; -} -static int -__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_qualname, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_dict == NULL)) { - op->func_dict = PyDict_New(); - if (unlikely(op->func_dict == NULL)) - return NULL; - } - Py_INCREF(op->func_dict); - return op->func_dict; -} -static int -__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(value == NULL)) { - PyErr_SetString(PyExc_TypeError, - "function's dictionary may not be deleted"); - return -1; - } - if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "setting function's dictionary to a non-dict"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_dict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_globals); - return op->func_globals; -} -static PyObject * -__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(op); - CYTHON_UNUSED_VAR(context); - Py_INCREF(Py_None); - return Py_None; -} -static PyObject * -__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context) -{ - PyObject* result = (op->func_code) ? op->func_code : Py_None; - CYTHON_UNUSED_VAR(context); - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { - int result = 0; - PyObject *res = op->defaults_getter((PyObject *) op); - if (unlikely(!res)) - return -1; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - op->defaults_tuple = PyTuple_GET_ITEM(res, 0); - Py_INCREF(op->defaults_tuple); - op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); - Py_INCREF(op->defaults_kwdict); - #else - op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0); - if (unlikely(!op->defaults_tuple)) result = -1; - else { - op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1); - if (unlikely(!op->defaults_kwdict)) result = -1; - } - #endif - Py_DECREF(res); - return result; -} -static int -__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyTuple_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__defaults__ must be set to a tuple object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_tuple, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_tuple; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_tuple; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__kwdefaults__ must be set to a dict object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_kwdict; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_kwdict; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value || value == Py_None) { - value = NULL; - } else if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__annotations__ must be set to a dict object"); - return -1; - } - Py_XINCREF(value); - __Pyx_Py_XDECREF_SET(op->func_annotations, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->func_annotations; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - result = PyDict_New(); - if (unlikely(!result)) return NULL; - op->func_annotations = result; - } - Py_INCREF(result); - return result; -} -static PyObject * -__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) { - int is_coroutine; - CYTHON_UNUSED_VAR(context); - if (op->func_is_coroutine) { - return __Pyx_NewRef(op->func_is_coroutine); - } - is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE; -#if PY_VERSION_HEX >= 0x03050000 - if (is_coroutine) { - PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine; - fromlist = PyList_New(1); - if (unlikely(!fromlist)) return NULL; - Py_INCREF(marker); -#if CYTHON_ASSUME_SAFE_MACROS - PyList_SET_ITEM(fromlist, 0, marker); -#else - if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) { - Py_DECREF(marker); - Py_DECREF(fromlist); - return NULL; - } -#endif - module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0); - Py_DECREF(fromlist); - if (unlikely(!module)) goto ignore; - op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker); - Py_DECREF(module); - if (likely(op->func_is_coroutine)) { - return __Pyx_NewRef(op->func_is_coroutine); - } -ignore: - PyErr_Clear(); - } -#endif - op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine); - return __Pyx_NewRef(op->func_is_coroutine); -} -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject * -__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_GetAttrString(op->func, "__module__"); -} -static int -__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_SetAttrString(op->func, "__module__", value); -} -#endif -static PyGetSetDef __pyx_CyFunction_getsets[] = { - {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, - {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, - {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, - {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0}, -#if CYTHON_COMPILING_IN_LIMITED_API - {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyMemberDef __pyx_CyFunction_members[] = { -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0}, -#endif -#if CYTHON_USE_TYPE_SPECS - {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0}, -#if CYTHON_METH_FASTCALL -#if CYTHON_BACKPORT_VECTORCALL - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0}, -#else -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0}, -#endif -#endif -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0}, -#else - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0}, -#endif -#endif - {0, 0, 0, 0, 0} -}; -static PyObject * -__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args) -{ - CYTHON_UNUSED_VAR(args); -#if PY_MAJOR_VERSION >= 3 - Py_INCREF(m->func_qualname); - return m->func_qualname; -#else - return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name); -#endif -} -static PyMethodDef __pyx_CyFunction_methods[] = { - {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, - {0, 0, 0, 0} -}; -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) -#else -#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist) -#endif -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { -#if !CYTHON_COMPILING_IN_LIMITED_API - PyCFunctionObject *cf = (PyCFunctionObject*) op; -#endif - if (unlikely(op == NULL)) - return NULL; -#if CYTHON_COMPILING_IN_LIMITED_API - op->func = PyCFunction_NewEx(ml, (PyObject*)op, module); - if (unlikely(!op->func)) return NULL; -#endif - op->flags = flags; - __Pyx_CyFunction_weakreflist(op) = NULL; -#if !CYTHON_COMPILING_IN_LIMITED_API - cf->m_ml = ml; - cf->m_self = (PyObject *) op; -#endif - Py_XINCREF(closure); - op->func_closure = closure; -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_XINCREF(module); - cf->m_module = module; -#endif - op->func_dict = NULL; - op->func_name = NULL; - Py_INCREF(qualname); - op->func_qualname = qualname; - op->func_doc = NULL; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - op->func_classobj = NULL; -#else - ((PyCMethodObject*)op)->mm_class = NULL; -#endif - op->func_globals = globals; - Py_INCREF(op->func_globals); - Py_XINCREF(code); - op->func_code = code; - op->defaults_pyobjects = 0; - op->defaults_size = 0; - op->defaults = NULL; - op->defaults_tuple = NULL; - op->defaults_kwdict = NULL; - op->defaults_getter = NULL; - op->func_annotations = NULL; - op->func_is_coroutine = NULL; -#if CYTHON_METH_FASTCALL - switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) { - case METH_NOARGS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS; - break; - case METH_O: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O; - break; - case METH_METHOD | METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD; - break; - case METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS; - break; - case METH_VARARGS | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = NULL; - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - Py_DECREF(op); - return NULL; - } -#endif - return (PyObject *) op; -} -static int -__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) -{ - Py_CLEAR(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_CLEAR(m->func); -#else - Py_CLEAR(((PyCFunctionObject*)m)->m_module); -#endif - Py_CLEAR(m->func_dict); - Py_CLEAR(m->func_name); - Py_CLEAR(m->func_qualname); - Py_CLEAR(m->func_doc); - Py_CLEAR(m->func_globals); - Py_CLEAR(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API -#if PY_VERSION_HEX < 0x030900B1 - Py_CLEAR(__Pyx_CyFunction_GetClassObj(m)); -#else - { - PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class; - ((PyCMethodObject *) (m))->mm_class = NULL; - Py_XDECREF(cls); - } -#endif -#endif - Py_CLEAR(m->defaults_tuple); - Py_CLEAR(m->defaults_kwdict); - Py_CLEAR(m->func_annotations); - Py_CLEAR(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_XDECREF(pydefaults[i]); - PyObject_Free(m->defaults); - m->defaults = NULL; - } - return 0; -} -static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - if (__Pyx_CyFunction_weakreflist(m) != NULL) - PyObject_ClearWeakRefs((PyObject *) m); - __Pyx_CyFunction_clear(m); - __Pyx_PyHeapTypeObject_GC_Del(m); -} -static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - PyObject_GC_UnTrack(m); - __Pyx__CyFunction_dealloc(m); -} -static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) -{ - Py_VISIT(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(m->func); -#else - Py_VISIT(((PyCFunctionObject*)m)->m_module); -#endif - Py_VISIT(m->func_dict); - Py_VISIT(m->func_name); - Py_VISIT(m->func_qualname); - Py_VISIT(m->func_doc); - Py_VISIT(m->func_globals); - Py_VISIT(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(__Pyx_CyFunction_GetClassObj(m)); -#endif - Py_VISIT(m->defaults_tuple); - Py_VISIT(m->defaults_kwdict); - Py_VISIT(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_VISIT(pydefaults[i]); - } - return 0; -} -static PyObject* -__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) -{ -#if PY_MAJOR_VERSION >= 3 - return PyUnicode_FromFormat("", - op->func_qualname, (void *)op); -#else - return PyString_FromFormat("", - PyString_AsString(op->func_qualname), (void *)op); -#endif -} -static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *f = ((__pyx_CyFunctionObject*)func)->func; - PyObject *py_name = NULL; - PyCFunction meth; - int flags; - meth = PyCFunction_GetFunction(f); - if (unlikely(!meth)) return NULL; - flags = PyCFunction_GetFlags(f); - if (unlikely(flags < 0)) return NULL; -#else - PyCFunctionObject* f = (PyCFunctionObject*)func; - PyCFunction meth = f->m_ml->ml_meth; - int flags = f->m_ml->ml_flags; -#endif - Py_ssize_t size; - switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { - case METH_VARARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) - return (*meth)(self, arg); - break; - case METH_VARARGS | METH_KEYWORDS: - return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); - case METH_NOARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 0)) - return (*meth)(self, NULL); -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - case METH_O: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 1)) { - PyObject *result, *arg0; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - arg0 = PyTuple_GET_ITEM(arg, 0); - #else - arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; - #endif - result = (*meth)(self, arg0); - #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(arg0); - #endif - return result; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - return NULL; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments", - py_name); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", - f->m_ml->ml_name); -#endif - return NULL; -} -static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *self, *result; -#if CYTHON_COMPILING_IN_LIMITED_API - self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func); - if (unlikely(!self) && PyErr_Occurred()) return NULL; -#else - self = ((PyCFunctionObject*)func)->m_self; -#endif - result = __Pyx_CyFunction_CallMethod(func, self, arg, kw); - return result; -} -static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { - PyObject *result; - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; -#if CYTHON_METH_FASTCALL - __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc); - if (vc) { -#if CYTHON_ASSUME_SAFE_MACROS - return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw); -#else - (void) &__Pyx_PyVectorcall_FastCallDict; - return PyVectorcall_Call(func, args, kw); -#endif - } -#endif - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - Py_ssize_t argc; - PyObject *new_args; - PyObject *self; -#if CYTHON_ASSUME_SAFE_MACROS - argc = PyTuple_GET_SIZE(args); -#else - argc = PyTuple_Size(args); - if (unlikely(!argc) < 0) return NULL; -#endif - new_args = PyTuple_GetSlice(args, 1, argc); - if (unlikely(!new_args)) - return NULL; - self = PyTuple_GetItem(args, 0); - if (unlikely(!self)) { - Py_DECREF(new_args); -#if PY_MAJOR_VERSION > 2 - PyErr_Format(PyExc_TypeError, - "unbound method %.200S() needs an argument", - cyfunc->func_qualname); -#else - PyErr_SetString(PyExc_TypeError, - "unbound method needs an argument"); -#endif - return NULL; - } - result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); - Py_DECREF(new_args); - } else { - result = __Pyx_CyFunction_Call(func, args, kw); - } - return result; -} -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames) -{ - int ret = 0; - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - if (unlikely(nargs < 1)) { - PyErr_Format(PyExc_TypeError, "%.200s() needs an argument", - ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - ret = 1; - } - if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - return ret; -} -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 0)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, NULL); -} -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 1)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, args[0]); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; - PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc); -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames); -} -#endif -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CyFunctionType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc}, - {Py_tp_repr, (void *)__Pyx_CyFunction_repr}, - {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod}, - {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse}, - {Py_tp_clear, (void *)__Pyx_CyFunction_clear}, - {Py_tp_methods, (void *)__pyx_CyFunction_methods}, - {Py_tp_members, (void *)__pyx_CyFunction_members}, - {Py_tp_getset, (void *)__pyx_CyFunction_getsets}, - {Py_tp_descr_get, (void *)__Pyx_PyMethod_New}, - {0, 0}, -}; -static PyType_Spec __pyx_CyFunctionType_spec = { - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL) - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - __pyx_CyFunctionType_slots -}; -#else -static PyTypeObject __pyx_CyFunctionType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, - (destructor) __Pyx_CyFunction_dealloc, -#if !CYTHON_METH_FASTCALL - 0, -#elif CYTHON_BACKPORT_VECTORCALL - (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall), -#else - offsetof(PyCFunctionObject, vectorcall), -#endif - 0, - 0, -#if PY_MAJOR_VERSION < 3 - 0, -#else - 0, -#endif - (reprfunc) __Pyx_CyFunction_repr, - 0, - 0, - 0, - 0, - __Pyx_CyFunction_CallAsMethod, - 0, - 0, - 0, - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - 0, - (traverseproc) __Pyx_CyFunction_traverse, - (inquiry) __Pyx_CyFunction_clear, - 0, -#if PY_VERSION_HEX < 0x030500A0 - offsetof(__pyx_CyFunctionObject, func_weakreflist), -#else - offsetof(PyCFunctionObject, m_weakreflist), -#endif - 0, - 0, - __pyx_CyFunction_methods, - __pyx_CyFunction_members, - __pyx_CyFunction_getsets, - 0, - 0, - __Pyx_PyMethod_New, - 0, - offsetof(__pyx_CyFunctionObject, func_dict), - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_CyFunction_init(PyObject *module) { -#if CYTHON_USE_TYPE_SPECS - __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL); -#else - CYTHON_UNUSED_VAR(module); - __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); -#endif - if (unlikely(__pyx_CyFunctionType == NULL)) { - return -1; - } - return 0; -} -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults = PyObject_Malloc(size); - if (unlikely(!m->defaults)) - return PyErr_NoMemory(); - memset(m->defaults, 0, size); - m->defaults_pyobjects = pyobjects; - m->defaults_size = size; - return m->defaults; -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_tuple = tuple; - Py_INCREF(tuple); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_kwdict = dict; - Py_INCREF(dict); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->func_annotations = dict; - Py_INCREF(dict); -} - -/* CythonFunction */ - static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - PyObject *op = __Pyx_CyFunction_Init( - PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), - ml, flags, qualname, closure, module, globals, code - ); - if (likely(op)) { - PyObject_GC_Track(op); - } - return op; -} - -/* CLineInTraceback */ - #ifndef CYTHON_CLINE_IN_TRACEBACK -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { - PyObject *use_cline; - PyObject *ptype, *pvalue, *ptraceback; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject **cython_runtime_dict; -#endif - CYTHON_MAYBE_UNUSED_VAR(tstate); - if (unlikely(!__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); -#if CYTHON_COMPILING_IN_CPYTHON - cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, *cython_runtime_dict, - __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) - } else -#endif - { - PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); - if (use_cline_obj) { - use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; - Py_DECREF(use_cline_obj); - } else { - PyErr_Clear(); - use_cline = NULL; - } - } - if (!use_cline) { - c_line = 0; - (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); - } - else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache */ - #if !CYTHON_COMPILING_IN_LIMITED_API -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static PyCodeObject *__pyx_find_code_object(int code_line) { - PyCodeObject* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { - return NULL; - } - code_object = __pyx_code_cache.entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = 64; - __pyx_code_cache.count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { - PyCodeObject* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_DECREF(tmp); - return; - } - if (__pyx_code_cache.count == __pyx_code_cache.max_count) { - int new_max = __pyx_code_cache.max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = new_max; - } - for (i=__pyx_code_cache.count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - __pyx_code_cache.count++; - Py_INCREF(code_object); -} -#endif - -/* AddTraceback */ - #include "compile.h" -#include "frameobject.h" -#include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict, - PyObject *firstlineno, PyObject *name) { - PyObject *replace = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL; - replace = PyObject_GetAttrString(code, "replace"); - if (likely(replace)) { - PyObject *result; - result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict); - Py_DECREF(replace); - return result; - } - PyErr_Clear(); - #if __PYX_LIMITED_VERSION_HEX < 0x030780000 - { - PyObject *compiled = NULL, *result = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL; - compiled = Py_CompileString( - "out = type(code)(\n" - " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n" - " code.co_flags, code.co_code, code.co_consts, code.co_names,\n" - " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n" - " code.co_lnotab)\n", "", Py_file_input); - if (!compiled) return NULL; - result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict); - Py_DECREF(compiled); - if (!result) PyErr_Print(); - Py_DECREF(result); - result = PyDict_GetItemString(scratch_dict, "out"); - if (result) Py_INCREF(result); - return result; - } - #else - return NULL; - #endif -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL; - PyObject *replace = NULL, *getframe = NULL, *frame = NULL; - PyObject *exc_type, *exc_value, *exc_traceback; - int success = 0; - if (c_line) { - (void) __pyx_cfilenm; - (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line); - } - PyErr_Fetch(&exc_type, &exc_value, &exc_traceback); - code_object = Py_CompileString("_getframe()", filename, Py_eval_input); - if (unlikely(!code_object)) goto bad; - py_py_line = PyLong_FromLong(py_line); - if (unlikely(!py_py_line)) goto bad; - py_funcname = PyUnicode_FromString(funcname); - if (unlikely(!py_funcname)) goto bad; - dict = PyDict_New(); - if (unlikely(!dict)) goto bad; - { - PyObject *old_code_object = code_object; - code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname); - Py_DECREF(old_code_object); - } - if (unlikely(!code_object)) goto bad; - getframe = PySys_GetObject("_getframe"); - if (unlikely(!getframe)) goto bad; - if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad; - frame = PyEval_EvalCode(code_object, dict, dict); - if (unlikely(!frame) || frame == Py_None) goto bad; - success = 1; - bad: - PyErr_Restore(exc_type, exc_value, exc_traceback); - Py_XDECREF(code_object); - Py_XDECREF(py_py_line); - Py_XDECREF(py_funcname); - Py_XDECREF(dict); - Py_XDECREF(replace); - if (success) { - PyTraceBack_Here( - (struct _frame*)frame); - } - Py_XDECREF(frame); -} -#else -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = NULL; - PyObject *py_funcname = NULL; - #if PY_MAJOR_VERSION < 3 - PyObject *py_srcfile = NULL; - py_srcfile = PyString_FromString(filename); - if (!py_srcfile) goto bad; - #endif - if (c_line) { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - #else - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - funcname = PyUnicode_AsUTF8(py_funcname); - if (!funcname) goto bad; - #endif - } - else { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromString(funcname); - if (!py_funcname) goto bad; - #endif - } - #if PY_MAJOR_VERSION < 3 - py_code = __Pyx_PyCode_New( - 0, - 0, - 0, - 0, - 0, - 0, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - py_line, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); - Py_DECREF(py_srcfile); - #else - py_code = PyCode_NewEmpty(filename, funcname, py_line); - #endif - Py_XDECREF(py_funcname); - return py_code; -bad: - Py_XDECREF(py_funcname); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_srcfile); - #endif - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject *ptype, *pvalue, *ptraceback; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) { - /* If the code object creation fails, then we should clear the - fetched exception references and propagate the new exception */ - Py_XDECREF(ptype); - Py_XDECREF(pvalue); - Py_XDECREF(ptraceback); - goto bad; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} -#endif - -/* FormatTypeName */ - #if CYTHON_COMPILING_IN_LIMITED_API -static __Pyx_TypeName -__Pyx_PyType_GetName(PyTypeObject* tp) -{ - PyObject *name = __Pyx_PyObject_GetAttrStr((PyObject *)tp, - __pyx_n_s_name); - if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) { - PyErr_Clear(); - Py_XDECREF(name); - name = __Pyx_NewRef(__pyx_n_s__41); - } - return name; -} -#endif - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *from_bytes, *result = NULL; - PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL; - from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes"); - if (!from_bytes) return NULL; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long)); - if (!py_bytes) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - arg_tuple = PyTuple_Pack(2, py_bytes, order_str); - if (!arg_tuple) goto limited_bad; - if (!is_unsigned) { - kwds = PyDict_New(); - if (!kwds) goto limited_bad; - if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad; - } - result = PyObject_Call(from_bytes, arg_tuple, kwds); - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(arg_tuple); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes); - return result; -#endif - } -} - -/* CIntFromPyVerify */ - #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* CIntFromPy */ - static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(long) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (long) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (long) -1; - val = __Pyx_PyInt_As_long(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(long) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(long) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - long val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (long) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (long) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (long) -1; - } else { - stepval = v; - } - v = NULL; - val = (long) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((long) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((long) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (long) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to long"); - return (long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int) -1; - val = __Pyx_PyInt_As_int(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(int) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(int) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - int val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (int) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (int) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (int) -1; - } else { - stepval = v; - } - v = NULL; - val = (int) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((int) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((int) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (int) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); - return (int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; -} - -/* FastTypeChecks */ - #if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*); - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (cls == a || cls == b) return 1; - mro = cls->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - PyObject *base = PyTuple_GET_ITEM(mro, i); - if (base == (PyObject *)a || base == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b); -} -#if PY_MAJOR_VERSION == 2 -static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { - PyObject *exception, *value, *tb; - int res; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&exception, &value, &tb); - res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - if (!res) { - res = PyObject_IsSubclass(err, exc_type2); - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - } - __Pyx_ErrRestore(exception, value, tb); - return res; -} -#else -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - if (exc_type1) { - return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2); - } else { - return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } -} -#endif -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i= 0x030B00A4 - return Py_Version & ~0xFFUL; -#else - const char* rt_version = Py_GetVersion(); - unsigned long version = 0; - unsigned long factor = 0x01000000UL; - unsigned int digit = 0; - int i = 0; - while (factor) { - while ('0' <= rt_version[i] && rt_version[i] <= '9') { - digit = digit * 10 + (unsigned int) (rt_version[i] - '0'); - ++i; - } - version += factor * digit; - if (rt_version[i] != '.') - break; - digit = 0; - factor >>= 8; - ++i; - } - return version; -#endif -} -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) { - const unsigned long MAJOR_MINOR = 0xFFFF0000UL; - if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR)) - return 0; - if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR))) - return 1; - { - char message[200]; - PyOS_snprintf(message, sizeof(message), - "compile time Python version %d.%d " - "of module '%.100s' " - "%s " - "runtime version %d.%d", - (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF), - __Pyx_MODULE_NAME, - (allow_newer) ? "was newer than" : "does not match", - (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF) - ); - return PyErr_WarnEx(NULL, message, 1); - } -} - -/* InitStrings */ - #if PY_MAJOR_VERSION >= 3 -static int __Pyx_InitString(__Pyx_StringTabEntry t, PyObject **str) { - if (t.is_unicode | t.is_str) { - if (t.intern) { - *str = PyUnicode_InternFromString(t.s); - } else if (t.encoding) { - *str = PyUnicode_Decode(t.s, t.n - 1, t.encoding, NULL); - } else { - *str = PyUnicode_FromStringAndSize(t.s, t.n - 1); - } - } else { - *str = PyBytes_FromStringAndSize(t.s, t.n - 1); - } - if (!*str) - return -1; - if (PyObject_Hash(*str) == -1) - return -1; - return 0; -} -#endif -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { - while (t->p) { - #if PY_MAJOR_VERSION >= 3 - __Pyx_InitString(*t, t->p); - #else - if (t->is_unicode) { - *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); - } else if (t->intern) { - *t->p = PyString_InternFromString(t->s); - } else { - *t->p = PyString_FromStringAndSize(t->s, t->n - 1); - } - if (!*t->p) - return -1; - if (PyObject_Hash(*t->p) == -1) - return -1; - #endif - ++t; - } - return 0; -} - -#include -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) { - size_t len = strlen(s); - if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) { - PyErr_SetString(PyExc_OverflowError, "byte string is too long"); - return -1; - } - return (Py_ssize_t) len; -} -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return __Pyx_PyUnicode_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return PyByteArray_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#if !CYTHON_PEP393_ENABLED -static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - char* defenc_c; - PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); - if (!defenc) return NULL; - defenc_c = PyBytes_AS_STRING(defenc); -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - { - char* end = defenc_c + PyBytes_GET_SIZE(defenc); - char* c; - for (c = defenc_c; c < end; c++) { - if ((unsigned char) (*c) >= 128) { - PyUnicode_AsASCIIString(o); - return NULL; - } - } - } -#endif - *length = PyBytes_GET_SIZE(defenc); - return defenc_c; -} -#else -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -} -#endif -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT - if ( -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - __Pyx_sys_getdefaultencoding_not_ascii && -#endif - PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif -#if (!CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) - if (PyByteArray_Check(o)) { - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); - } else -#endif - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { - __Pyx_TypeName result_type_name = __Pyx_PyType_GetName(Py_TYPE(result)); -#if PY_MAJOR_VERSION >= 3 - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type " __Pyx_FMT_TYPENAME "). " - "The ability to return an instance of a strict subclass of int is deprecated, " - "and may be removed in a future version of Python.", - result_type_name)) { - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; - } - __Pyx_DECREF_TypeName(result_type_name); - return result; - } -#endif - PyErr_Format(PyExc_TypeError, - "__%.4s__ returned non-%.4s (type " __Pyx_FMT_TYPENAME ")", - type_name, type_name, result_type_name); - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - const char *name = NULL; - PyObject *res = NULL; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x) || PyLong_Check(x))) -#else - if (likely(PyLong_Check(x))) -#endif - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - #if PY_MAJOR_VERSION < 3 - if (m && m->nb_int) { - name = "int"; - res = m->nb_int(x); - } - else if (m && m->nb_long) { - name = "long"; - res = m->nb_long(x); - } - #else - if (likely(m && m->nb_int)) { - name = "int"; - res = m->nb_int(x); - } - #endif -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Int(x); - } -#endif - if (likely(res)) { -#if PY_MAJOR_VERSION < 3 - if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { -#else - if (unlikely(!PyLong_CheckExact(res))) { -#endif - return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - Py_ssize_t ival; - PyObject *x; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(b))) { - if (sizeof(Py_ssize_t) >= sizeof(long)) - return PyInt_AS_LONG(b); - else - return PyInt_AsSsize_t(b); - } -#endif - if (likely(PyLong_CheckExact(b))) { - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(__Pyx_PyLong_IsCompact(b))) { - return __Pyx_PyLong_CompactValue(b); - } else { - const digit* digits = __Pyx_PyLong_Digits(b); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b); - switch (size) { - case 2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - } - } - #endif - return PyLong_AsSsize_t(b); - } - x = PyNumber_Index(b); - if (!x) return -1; - ival = PyInt_AsSsize_t(x); - Py_DECREF(x); - return ival; -} -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { - if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { - return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); -#if PY_MAJOR_VERSION < 3 - } else if (likely(PyInt_CheckExact(o))) { - return PyInt_AS_LONG(o); -#endif - } else { - Py_ssize_t ival; - PyObject *x; - x = PyNumber_Index(o); - if (!x) return -1; - ival = PyInt_AsLong(x); - Py_DECREF(x); - return ival; - } -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { - return PyInt_FromSize_t(ival); -} - - -/* #### Code section: utility_code_pragmas_end ### */ -#ifdef _MSC_VER -#pragma warning( pop ) -#endif - - - -/* #### Code section: end ### */ -#endif /* Py_PYTHON_H */ diff --git a/handlers/payments/utils.cpython-312-x86_64-linux-gnu.so b/handlers/payments/utils.cpython-312-x86_64-linux-gnu.so old mode 100755 new mode 100644 index c906ba792d3b15cb4a93325aaaca6e9abb022b5e..77b1256ebc7c8c6f91c6146a4450105371f7b5b7 GIT binary patch literal 384744 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%0DE?&;(0N9+)!=a@lIK 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

4x1v=dyX^`)KWW%m4C97MmSjYksw8%rXU2b=eoX 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 literal 251048 zcmeFadsto7wLZKpw4d(Az=KIiv*&+q%= zdmd@yn&W-P9COSu=A3Kpwbowy&glg+5{3;6n7`qH%L2X>2;^#_<(1(^1z2|ADE#-N zz=@(eBFY?I$j(!kIR=uI%r-`{Sg2(8c+7_hLYSjnPueTg{y4|FE0sNSwCjxm6?sb4 zi@e|*PgV8O&s9fLk6y4|r>@tj>zQLj2g@82b#?m4e=VvThaFS3o;kYpI&?kvn5OHQ zBirEL+<(?A`G3=1p{}>?b`=lz_>peF98G&yq8{V&fBL7>9+;!siy-Vv1q?1^!VG|LeuG zVZ``1aBT9H@xNU*prph9dp0VXzSwN-QA6Wvju;yMB`ObPXG|RX@51q+^iPSSe=Pzv zl>U#=>7np5jvN}NZmQi;UH%b*Ka`z=aqO4HiO;{|w0mWoxaG#_S0^UWQ2v}hW@x-9 zj{cT7@w_q)J~~buE{xN!mN@#Iaq>GNj-LnO*nboG87dAPaoT+`j-5~A#D903_*ccT zKPFDUE{oHzD=?vl@_&3B`;WxYkHl&B$8q}gew^|7YMk-BFwS^5E{>h&isR3sIB~uz4&EIn4&gZQygrWp!*T2<#qo1v zocI6^q~f3ZcPNfOPsSN<-;QJdqB#DX7bpHV#fksMIP-dGobk2}9U5w#e>0AsE93Ml zH%_}p#mP%Y9Q&`v>DTr+an6b}ZqJG1&yF~8=!~O3KTdo$#qs~8IPvL;vo1}FgKvlv zhqZCq{Vb0E561C7H;(-;#&cer@$gWbyxbWlzc|;NS6X*SL{GS%b{#9|}oDxTWPMo;?IL^3Q7{{LjapKt)Cyyt^X?J{_ zc%B&t9~sBb<~Z>j6Q|wvaqJ%-$Nr)?YCE3n&RR>asIqn#Y@Vn%C28lT~k&y zZ`RZmt18Ool`dLQrnsS*;>C5P#Y>k}l&)BI3ls}i7tcnuxiwX_i)#XftEbm3E}pl# zvTS-))v7AWRaM1v%WA+ctGFKW6^oXaEv_MyS5rfUY0DtaF1uOl&RA8ovXq9jVt&Ok zOS*h&@w}?i#W%2BtpG^X&RIeOtyBZx|X*?B2=CV_MMOKM=G_Sm>taQoTn$nuG;>*kE)r_jrm1Vkl_%Ur+wM4IQ zH6u_w2imKl1!j7M3M-;Dud3EWi@}>wx}w_1(LUu@Qwvp55uVQ}TU=XJz3is4siiAc z5G^Pxy{XJa8R;t)L$j)E36ykrbQKdU9d@=ntqj&yEru#%!E7vBR9h31I1pu(HOp32 z%qp!}TwYeKbycKI+}Q5a6=kJNriwhHGaHcsU@{OBdjn2gRk2udty70;(bO4-rxwqz zP$`dgiIFa29E^_YR5Z0Jk!3acNNyA~x>Jkut7quZ>x9X`Rdm*mjtrj4sxl-Zn*01| zerGZIlyM(IN9Y6q@dYA%xq4Ymc{FGU`FF}VJM38!wKK1_az$BjAxAobT2@oOYKb0Z zih;$sE0!&0grfkP5bc%4vrJ|cspf~cGP|sfZp|uNSv;evjP;qm*{cAos#+Z==IXHc zhT_HLHxw@|UB)2KsjVnhQJk@&^m-WrsBv}GvYN8_6;-9tAHXYL)jAK0#}oV_Z)obx<>@pzNly713d3y2=58?ig`KX?4xiRh6r!mY2dqv|b%p zS+;U^ltssDUiI8)1;#>169{cVR==yuN^h7`wv-b@!+L_rxxjcq_tbPW zo$`HWu4nV~$1`g*kg#_Z&X}vJ7GqKu�|ftcQkf#V7TWGu7yrIH>8OJ)n?RRaJ@; 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 fixhdH^gm{!tKuj{m3FD 0x03030000 - #define Py_LIMITED_API CYTHON_LIMITED_API - #else - #define Py_LIMITED_API 0x03030000 - #endif - #endif -#endif - -#include "Python.h" -#ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) - #error Cython requires Python 2.7+ or Python 3.3+. -#else -#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API -#define __PYX_EXTRA_ABI_MODULE_NAME "limited" -#else -#define __PYX_EXTRA_ABI_MODULE_NAME "" -#endif -#define CYTHON_ABI "3_0_12" __PYX_EXTRA_ABI_MODULE_NAME -#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI -#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "." -#define CYTHON_HEX_VERSION 0x03000CF0 -#define CYTHON_FUTURE_DIVISION 1 -#include -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef HAVE_LONG_LONG - #define HAVE_LONG_LONG -#endif -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX -#if defined(GRAALVM_PYTHON) - /* For very preliminary testing purposes. Most variables are set the same as PyPy. - The existence of this section does not imply that anything works or is even tested */ - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 1 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(PYPY_VERSION) - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #if PY_VERSION_HEX < 0x03090000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00) - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(CYTHON_LIMITED_API) - #ifdef Py_LIMITED_API - #undef __PYX_LIMITED_VERSION_HEX - #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API - #endif - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 1 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_CLINE_IN_TRACEBACK - #define CYTHON_CLINE_IN_TRACEBACK 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 1 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #endif - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 1 - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 1 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #ifndef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 1 - #endif - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 - #endif -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #ifndef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #if PY_MAJOR_VERSION < 3 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #ifndef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #ifndef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #ifndef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL (PY_MAJOR_VERSION < 3 || PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030C00A6) - #endif - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL (PY_VERSION_HEX >= 0x030700A1) - #endif - #ifndef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 1 - #endif - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #if PY_VERSION_HEX < 0x030400a1 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #elif !defined(CYTHON_USE_TP_FINALIZE) - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #if PY_VERSION_HEX < 0x030600B1 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #elif !defined(CYTHON_USE_DICT_VERSIONS) - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX < 0x030C00A5) - #endif - #if PY_VERSION_HEX < 0x030700A3 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #elif !defined(CYTHON_USE_EXC_INFO_STACK) - #define CYTHON_USE_EXC_INFO_STACK 1 - #endif - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 1 - #endif -#endif -#if !defined(CYTHON_FAST_PYCCALL) -#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) -#endif -#if !defined(CYTHON_VECTORCALL) -#define CYTHON_VECTORCALL (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1) -#endif -#define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1) -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_MAJOR_VERSION < 3 - #include "longintrepr.h" - #endif - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(maybe_unused) - #define CYTHON_UNUSED [[maybe_unused]] - #endif - #endif - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR - #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x) -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_USE_CPP_STD_MOVE - #if defined(__cplusplus) && (\ - __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)) - #define CYTHON_USE_CPP_STD_MOVE 1 - #else - #define CYTHON_USE_CPP_STD_MOVE 0 - #endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#ifdef _MSC_VER - #ifndef _MSC_STDINT_H_ - #if _MSC_VER < 1300 - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - typedef unsigned int uint32_t; - #else - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; - #endif - #endif - #if _MSC_VER < 1300 - #ifdef _WIN64 - typedef unsigned long long __pyx_uintptr_t; - #else - typedef unsigned int __pyx_uintptr_t; - #endif - #else - #ifdef _WIN64 - typedef unsigned __int64 __pyx_uintptr_t; - #else - typedef unsigned __int32 __pyx_uintptr_t; - #endif - #endif -#else - #include - typedef uintptr_t __pyx_uintptr_t; -#endif -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(fallthrough) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif -#ifdef __cplusplus - template - struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);}; - #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL::value) -#else - #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0) -#endif -#if CYTHON_COMPILING_IN_PYPY == 1 - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000) -#else - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000) -#endif -#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer)) - -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" - #define __Pyx_DefaultClassType PyClass_Type - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" - #define __Pyx_DefaultClassType PyType_Type -#if CYTHON_COMPILING_IN_LIMITED_API - static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyObject *exception_table = NULL; - PyObject *types_module=NULL, *code_type=NULL, *result=NULL; - #if __PYX_LIMITED_VERSION_HEX < 0x030B0000 - PyObject *version_info; - PyObject *py_minor_version = NULL; - #endif - long minor_version = 0; - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); - #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000 - minor_version = 11; - #else - if (!(version_info = PySys_GetObject("version_info"))) goto end; - if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end; - minor_version = PyLong_AsLong(py_minor_version); - Py_DECREF(py_minor_version); - if (minor_version == -1 && PyErr_Occurred()) goto end; - #endif - if (!(types_module = PyImport_ImportModule("types"))) goto end; - if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end; - if (minor_version <= 7) { - (void)p; - result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else if (minor_version <= 10) { - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else { - if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end; - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell); - } - end: - Py_XDECREF(code_type); - Py_XDECREF(exception_table); - Py_XDECREF(types_module); - if (type) { - PyErr_Restore(type, value, traceback); - } - return result; - } - #ifndef CO_OPTIMIZED - #define CO_OPTIMIZED 0x0001 - #endif - #ifndef CO_NEWLOCALS - #define CO_NEWLOCALS 0x0002 - #endif - #ifndef CO_VARARGS - #define CO_VARARGS 0x0004 - #endif - #ifndef CO_VARKEYWORDS - #define CO_VARKEYWORDS 0x0008 - #endif - #ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x0200 - #endif - #ifndef CO_GENERATOR - #define CO_GENERATOR 0x0020 - #endif - #ifndef CO_COROUTINE - #define CO_COROUTINE 0x0080 - #endif -#elif PY_VERSION_HEX >= 0x030B0000 - static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyCodeObject *result; - PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); - if (!empty_bytes) return NULL; - result = - #if PY_VERSION_HEX >= 0x030C0000 - PyUnstable_Code_NewWithPosOnlyArgs - #else - PyCode_NewWithPosOnlyArgs - #endif - (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes); - Py_DECREF(empty_bytes); - return result; - } -#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif -#endif -#if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE) - #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type) -#else - #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is) - #define __Pyx_Py_Is(x, y) Py_Is(x, y) -#else - #define __Pyx_Py_Is(x, y) ((x) == (y)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone) - #define __Pyx_Py_IsNone(ob) Py_IsNone(ob) -#else - #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue) - #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob) -#else - #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse) - #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob) -#else - #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False) -#endif -#define __Pyx_NoneAsNull(obj) (__Pyx_Py_IsNone(obj) ? NULL : (obj)) -#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o) -#else - #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o) -#endif -#ifndef CO_COROUTINE - #define CO_COROUTINE 0x80 -#endif -#ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x200 -#endif -#ifndef Py_TPFLAGS_CHECKTYPES - #define Py_TPFLAGS_CHECKTYPES 0 -#endif -#ifndef Py_TPFLAGS_HAVE_INDEX - #define Py_TPFLAGS_HAVE_INDEX 0 -#endif -#ifndef Py_TPFLAGS_HAVE_NEWBUFFER - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef Py_TPFLAGS_SEQUENCE - #define Py_TPFLAGS_SEQUENCE 0 -#endif -#ifndef Py_TPFLAGS_MAPPING - #define Py_TPFLAGS_MAPPING 0 -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #if PY_VERSION_HEX >= 0x030d00A4 - # define __Pyx_PyCFunctionFast PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords - #else - # define __Pyx_PyCFunctionFast _PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords - #endif -#endif -#if CYTHON_METH_FASTCALL - #define __Pyx_METH_FASTCALL METH_FASTCALL - #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast - #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords -#else - #define __Pyx_METH_FASTCALL METH_VARARGS - #define __Pyx_PyCFunction_FastCall PyCFunction - #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords -#endif -#if CYTHON_VECTORCALL - #define __pyx_vectorcallfunc vectorcallfunc - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET PY_VECTORCALL_ARGUMENTS_OFFSET - #define __Pyx_PyVectorcall_NARGS(n) PyVectorcall_NARGS((size_t)(n)) -#elif CYTHON_BACKPORT_VECTORCALL - typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args, - size_t nargsf, PyObject *kwnames); - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET ((size_t)1 << (8 * sizeof(size_t) - 1)) - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)) -#else - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0 - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n)) -#endif -#if PY_MAJOR_VERSION >= 0x030900B1 -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func) -#else -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func) -#endif -#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func) -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth) -#elif !CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func) -#endif -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags) -static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) { - return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self; -} -#endif -static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) { -#if CYTHON_COMPILING_IN_LIMITED_API - return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc; -#else - return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -#endif -} -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc) -#if __PYX_LIMITED_VERSION_HEX < 0x030900B1 - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b)) - typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *); -#else - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) PyType_FromModuleAndSpec(m, s, b) - #define __Pyx_PyCMethod PyCMethod -#endif -#ifndef METH_METHOD - #define METH_METHOD 0x200 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyThreadState_Current PyThreadState_Get() -#elif !CYTHON_FAST_THREAD_STATE - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked() -#elif PY_VERSION_HEX >= 0x03060000 - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#elif PY_VERSION_HEX >= 0x03000000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_Current -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE void *__Pyx_PyModule_GetState(PyObject *op) -{ - void *result; - result = PyModule_GetState(op); - if (!result) - Py_FatalError("Couldn't find the module state"); - return result; -} -#endif -#define __Pyx_PyObject_GetSlot(obj, name, func_ctype) __Pyx_PyType_GetSlot(Py_TYPE(obj), name, func_ctype) -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((func_ctype) PyType_GetSlot((type), Py_##name)) -#else - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((type)->name) -#endif -#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) -#include "pythread.h" -#define Py_tss_NEEDS_INIT 0 -typedef int Py_tss_t; -static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { - *key = PyThread_create_key(); - return 0; -} -static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { - Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); - *key = Py_tss_NEEDS_INIT; - return key; -} -static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { - PyObject_Free(key); -} -static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { - return *key != Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { - PyThread_delete_key(*key); - *key = Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { - return PyThread_set_key_value(*key, value); -} -static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { - return PyThread_get_key_value(*key); -} -#endif -#if PY_MAJOR_VERSION < 3 - #if CYTHON_COMPILING_IN_PYPY - #if PYPY_VERSION_NUM < 0x07030600 - #if defined(__cplusplus) && __cplusplus >= 201402L - [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]] - #elif defined(__GNUC__) || defined(__clang__) - __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))) - #elif defined(_MSC_VER) - __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")) - #endif - static CYTHON_INLINE int PyGILState_Check(void) { - return 0; - } - #else // PYPY_VERSION_NUM < 0x07030600 - #endif // PYPY_VERSION_NUM < 0x07030600 - #else - static CYTHON_INLINE int PyGILState_Check(void) { - PyThreadState * tstate = _PyThreadState_Current; - return tstate && (tstate == PyGILState_GetThisThreadState()); - } - #endif -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION - #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#else - #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) { - PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name); - if (res == NULL) PyErr_Clear(); - return res; -} -#elif PY_MAJOR_VERSION >= 3 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000) -#define __Pyx_PyDict_GetItemStrWithError PyDict_GetItemWithError -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#else -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) { -#if CYTHON_COMPILING_IN_PYPY - return PyDict_GetItem(dict, name); -#else - PyDictEntry *ep; - PyDictObject *mp = (PyDictObject*) dict; - long hash = ((PyStringObject *) name)->ob_shash; - assert(hash != -1); - ep = (mp->ma_lookup)(mp, name, hash); - if (ep == NULL) { - return NULL; - } - return ep->me_value; -#endif -} -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#endif -#if CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyType_GetFlags(tp) (((PyTypeObject *)tp)->tp_flags) - #define __Pyx_PyType_HasFeature(type, feature) ((__Pyx_PyType_GetFlags(type) & (feature)) != 0) - #define __Pyx_PyObject_GetIterNextFunc(obj) (Py_TYPE(obj)->tp_iternext) -#else - #define __Pyx_PyType_GetFlags(tp) (PyType_GetFlags((PyTypeObject *)tp)) - #define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature) - #define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v) -#else - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v) -#endif -#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000 -#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\ - PyTypeObject *type = Py_TYPE((PyObject*)obj);\ - assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\ - PyObject_GC_Del(obj);\ - Py_DECREF(type);\ -} -#else -#define __Pyx_PyHeapTypeObject_GC_Del(obj) PyObject_GC_Del(obj) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define CYTHON_PEP393_ENABLED 1 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GetLength(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((void)u, 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((void)u, (0)) - #define __Pyx_PyUnicode_DATA(u) ((void*)u) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)k, PyUnicode_ReadChar((PyObject*)(d), i)) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GetLength(u)) -#elif PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) - #define CYTHON_PEP393_ENABLED 1 - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_READY(op) (0) - #else - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #endif - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) ((int)PyUnicode_KIND(u)) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, (Py_UCS4) ch) - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #else - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #endif - #endif -#else - #define CYTHON_PEP393_ENABLED 0 - #define PyUnicode_1BYTE_KIND 1 - #define PyUnicode_2BYTE_KIND 2 - #define PyUnicode_4BYTE_KIND 4 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535U : 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((int)sizeof(Py_UNICODE)) - #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = (Py_UNICODE) ch) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #if !defined(PyUnicode_DecodeUnicodeEscape) - #define PyUnicode_DecodeUnicodeEscape(s, size, errors) PyUnicode_Decode(s, size, "unicode_escape", errors) - #endif - #if !defined(PyUnicode_Contains) || (PY_MAJOR_VERSION == 2 && PYPY_VERSION_NUM < 0x07030500) - #undef PyUnicode_Contains - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) - #endif - #if !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) - #endif - #if !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) - #endif -#endif -#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) -#else - #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) -#endif -#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) - #define PyObject_ASCII(o) PyObject_Repr(o) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject - #define PyString_Type PyUnicode_Type - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact -#ifndef PyObject_Unicode - #define PyObject_Unicode PyObject_Str -#endif -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) - #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) -#else - #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) - #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) -#endif -#if CYTHON_COMPILING_IN_CPYTHON - #define __Pyx_PySequence_ListKeepNew(obj)\ - (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj)) -#else - #define __Pyx_PySequence_ListKeepNew(obj) PySequence_List(obj) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) __Pyx_IS_TYPE(obj, &PySet_Type) -#endif -#if PY_VERSION_HEX >= 0x030900A4 - #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) -#else - #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i) - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o) -#else - #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i) - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v) - #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o) -#endif -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name) -#else - static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) { - PyObject *module = PyImport_AddModule(name); - Py_XINCREF(module); - return module; - } -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type - #define PyInt_Check(op) PyLong_Check(op) - #define PyInt_CheckExact(op) PyLong_CheckExact(op) - #define __Pyx_Py3Int_Check(op) PyLong_Check(op) - #define __Pyx_Py3Int_CheckExact(op) PyLong_CheckExact(op) - #define PyInt_FromString PyLong_FromString - #define PyInt_FromUnicode PyLong_FromUnicode - #define PyInt_FromLong PyLong_FromLong - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_AsLong PyLong_AsLong - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsSsize_t PyLong_AsSsize_t - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #define PyNumber_Int PyNumber_Long -#else - #define __Pyx_Py3Int_Check(op) (PyLong_Check(op) || PyInt_Check(op)) - #define __Pyx_Py3Int_CheckExact(op) (PyLong_CheckExact(op) || PyInt_CheckExact(op)) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject -#endif -#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY - #ifndef PyUnicode_InternFromString - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) - #endif -#endif -#if PY_VERSION_HEX < 0x030200A4 - typedef long Py_hash_t; - #define __Pyx_PyInt_FromHash_t PyInt_FromLong - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t -#else - #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t -#endif -#if CYTHON_USE_ASYNC_SLOTS - #if PY_VERSION_HEX >= 0x030500B1 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods - #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) - #else - #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) - #endif -#else - #define __Pyx_PyType_AsAsync(obj) NULL -#endif -#ifndef __Pyx_PyAsyncMethodsStruct - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - } __Pyx_PyAsyncMethodsStruct; -#endif - -#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) - #if !defined(_USE_MATH_DEFINES) - #define _USE_MATH_DEFINES - #endif -#endif -#include -#ifdef NAN -#define __PYX_NAN() ((float) NAN) -#else -static CYTHON_INLINE float __PYX_NAN() { - float value; - memset(&value, 0xFF, sizeof(value)); - return value; -} -#endif -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#define __PYX_MARK_ERR_POS(f_index, lineno) \ - { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifdef CYTHON_EXTERN_C - #undef __PYX_EXTERN_C - #define __PYX_EXTERN_C CYTHON_EXTERN_C -#elif defined(__PYX_EXTERN_C) - #ifdef _MSC_VER - #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.") - #else - #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead. - #endif -#else - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__handlers__payments__yoomoney_pay -#define __PYX_HAVE_API__handlers__payments__yoomoney_pay -/* Early includes */ -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; - const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; - -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s); -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*); -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if PY_MAJOR_VERSION < 3 - #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#else - #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize -#endif -#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyObject_AsWritableString(s) ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -#define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o) -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) -#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); -#if CYTHON_ASSUME_SAFE_MACROS -#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#else -#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#endif -#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#else -#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_VERSION_HEX >= 0x030C00A7 - #ifndef _PyLong_SIGN_MASK - #define _PyLong_SIGN_MASK 3 - #endif - #ifndef _PyLong_NON_SIZE_BITS - #define _PyLong_NON_SIZE_BITS 3 - #endif - #define __Pyx_PyLong_Sign(x) (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK) - #define __Pyx_PyLong_IsNeg(x) ((__Pyx_PyLong_Sign(x) & 2) != 0) - #define __Pyx_PyLong_IsNonNeg(x) (!__Pyx_PyLong_IsNeg(x)) - #define __Pyx_PyLong_IsZero(x) (__Pyx_PyLong_Sign(x) & 1) - #define __Pyx_PyLong_IsPos(x) (__Pyx_PyLong_Sign(x) == 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) (__Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_SignedDigitCount(x)\ - ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x)) - #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue) - #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x) - #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x) - #else - #define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_CompactValue(x) ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0]) - #endif - typedef Py_ssize_t __Pyx_compact_pylong; - typedef size_t __Pyx_compact_upylong; - #else - #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0) - #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0) - #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0) - #define __Pyx_PyLong_IsPos(x) (Py_SIZE(x) > 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) __Pyx_sst_abs(Py_SIZE(x)) - #define __Pyx_PyLong_SignedDigitCount(x) Py_SIZE(x) - #define __Pyx_PyLong_IsCompact(x) (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1) - #define __Pyx_PyLong_CompactValue(x)\ - ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0])) - typedef sdigit __Pyx_compact_pylong; - typedef digit __Pyx_compact_upylong; - #endif - #if PY_VERSION_HEX >= 0x030C00A5 - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit) - #else - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->ob_digit) - #endif -#endif -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII -#include -static int __Pyx_sys_getdefaultencoding_not_ascii; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - PyObject* ascii_chars_u = NULL; - PyObject* ascii_chars_b = NULL; - const char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - if (strcmp(default_encoding_c, "ascii") == 0) { - __Pyx_sys_getdefaultencoding_not_ascii = 0; - } else { - char ascii_chars[128]; - int c; - for (c = 0; c < 128; c++) { - ascii_chars[c] = (char) c; - } - __Pyx_sys_getdefaultencoding_not_ascii = 1; - ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); - if (!ascii_chars_u) goto bad; - ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); - if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { - PyErr_Format( - PyExc_ValueError, - "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", - default_encoding_c); - goto bad; - } - Py_DECREF(ascii_chars_u); - Py_DECREF(ascii_chars_b); - } - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - Py_XDECREF(ascii_chars_u); - Py_XDECREF(ascii_chars_b); - return -1; -} -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#else -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#include -static char* __PYX_DEFAULT_STRING_ENCODING; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); - if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; - strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - return -1; -} -#endif -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } - -#if !CYTHON_USE_MODULE_STATE -static PyObject *__pyx_m = NULL; -#endif -static int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm = __FILE__; -static const char *__pyx_filename; - -/* #### Code section: filename_table ### */ - -static const char *__pyx_f[] = { - "handlers/payments/yoomoney_pay.py", -}; -/* #### Code section: utility_code_proto_before_types ### */ -/* #### Code section: numeric_typedefs ### */ -/* #### Code section: complex_type_declarations ### */ -/* #### Code section: type_declarations ### */ - -/*--- Type declarations ---*/ -struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney; -struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection; -struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook; -struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount; -struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input; - -struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_exists; - PyObject *__pyx_v_expected_hash; - PyObject *__pyx_v_i; - PyObject *__pyx_v_key_count; - PyObject *__pyx_v_session; - PyObject *__pyx_v_state; - PyObject *__pyx_v_tg_id; -}; - - -struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection { - PyObject_HEAD - PyObject *__pyx_v_account_id; - PyObject *__pyx_v_amount; - PyObject *__pyx_v_amount_str; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_confirm_keyboard; - PyObject *__pyx_v_customer_id; - PyObject *__pyx_v_data; - PyObject *__pyx_v_payment_url; - PyObject *__pyx_v_state; -}; - - -struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook { - PyObject_HEAD - double __pyx_v_amount; - PyObject *__pyx_v_amount_str; - PyObject *__pyx_v_calculated_hash; - PyObject *__pyx_v_data; - PyObject *__pyx_v_e; - PyObject *__pyx_v_notification_secret; - PyObject *__pyx_v_request; - PyObject *__pyx_v_sha1_hash; - PyObject *__pyx_v_string_to_hash; - PyObject *__pyx_v_user_id; - PyObject *__pyx_v_user_id_str; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; -}; - - -struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_state; -}; - - -struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input { - PyObject_HEAD - PyObject *__pyx_v_account_id; - PyObject *__pyx_v_amount; - PyObject *__pyx_v_confirm_keyboard; - PyObject *__pyx_v_customer_id; - PyObject *__pyx_v_message; - PyObject *__pyx_v_payment_url; - PyObject *__pyx_v_state; -}; - -/* #### Code section: utility_code_proto ### */ - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, Py_ssize_t); - void (*DECREF)(void*, PyObject*, Py_ssize_t); - void (*GOTREF)(void*, PyObject*, Py_ssize_t); - void (*GIVEREF)(void*, PyObject*, Py_ssize_t); - void* (*SetupContext)(const char*, Py_ssize_t, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -#ifdef WITH_THREAD - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - } - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } -#else - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__)) - #define __Pyx_RefNannyFinishContextNogil() __Pyx_RefNannyFinishContext() -#endif - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_XINCREF(r) do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContextNogil() - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_Py_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; Py_XDECREF(tmp);\ - } while (0) -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* PyErrExceptionMatches.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* PyThreadStateGet.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#if PY_VERSION_HEX >= 0x030C00A6 -#define __Pyx_PyErr_Occurred() (__pyx_tstate->current_exception != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL) -#else -#define __Pyx_PyErr_Occurred() (__pyx_tstate->curexc_type != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->curexc_type) -#endif -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() (PyErr_Occurred() != NULL) -#define __Pyx_PyErr_CurrentExceptionType() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6 -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* PyObjectGetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* PyObjectGetAttrStrNoError.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* TupleAndListFromArray.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n); -static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n); -#endif - -/* IncludeStringH.proto */ -#include - -/* BytesEquals.proto */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); - -/* UnicodeEquals.proto */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); - -/* fastcall.proto */ -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i) -#elif CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i) -#else - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i) -#endif -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg) - #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg) -#else - #define __Pyx_Arg_NewRef_VARARGS(arg) arg - #define __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds) -#define __Pyx_KwValues_VARARGS(args, nargs) NULL -#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s) -#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw) -#if CYTHON_METH_FASTCALL - #define __Pyx_Arg_FASTCALL(args, i) args[i] - #define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds) - #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs)) - static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 - CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues); - #else - #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw) - #endif - #define __Pyx_Arg_NewRef_FASTCALL(arg) arg /* no-op, __Pyx_Arg_FASTCALL is direct and this needs - to have the same reference counting */ - #define __Pyx_Arg_XDECREF_FASTCALL(arg) -#else - #define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS - #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS - #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS - #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS - #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS - #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg) - #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start) -#else -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop) -#endif - -/* RaiseArgTupleInvalid.proto */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* RaiseDoubleKeywords.proto */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywords.proto */ -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, - const char* function_name); - -/* PyDictVersioning.proto */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __pyx_dict_cached_value;\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) do {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* PyFunctionFastCall.proto */ -#if CYTHON_FAST_PYCALL -#if !CYTHON_VECTORCALL -#define __Pyx_PyFunction_FastCall(func, args, nargs)\ - __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); -#endif -#define __Pyx_BUILD_ASSERT_EXPR(cond)\ - (sizeof(char [1 - 2*!(cond)]) - 1) -#ifndef Py_MEMBER_SIZE -#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) -#endif -#if !CYTHON_VECTORCALL -#if PY_VERSION_HEX >= 0x03080000 - #include "frameobject.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #define __Pxy_PyFrame_Initialize_Offsets() - #define __Pyx_PyFrame_GetLocalsplus(frame) ((frame)->f_localsplus) -#else - static size_t __pyx_pyframe_localsplus_offset = 0; - #include "frameobject.h" - #define __Pxy_PyFrame_Initialize_Offsets()\ - ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ - (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) - #define __Pyx_PyFrame_GetLocalsplus(frame)\ - (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) -#endif -#endif -#endif - -/* PyObjectCall.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* PyObjectCallMethO.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectFastCall.proto */ -#define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL) -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs); - -/* IncludeStructmemberH.proto */ -#include - -/* FixUpExtensionType.proto */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type); -#endif - -/* FetchSharedCythonModule.proto */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void); - -/* FetchCommonType.proto */ -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); -#else -static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases); -#endif - -/* RaiseException.proto */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* GetTopmostException.proto */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* SwapException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* PyObjectCall2Args.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* PyObjectCallOneArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* PyObjectGetMethod.proto */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); - -/* PyObjectCallMethod1.proto */ -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); - -/* PyObjectCallNoArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); - -/* CoroutineBase.proto */ -struct __pyx_CoroutineObject; -typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_ExcInfoStruct _PyErr_StackItem -#else -typedef struct { - PyObject *exc_type; - PyObject *exc_value; - PyObject *exc_traceback; -} __Pyx_ExcInfoStruct; -#endif -typedef struct __pyx_CoroutineObject { - PyObject_HEAD - __pyx_coroutine_body_t body; - PyObject *closure; - __Pyx_ExcInfoStruct gi_exc_state; - PyObject *gi_weakreflist; - PyObject *classobj; - PyObject *yieldfrom; - PyObject *gi_name; - PyObject *gi_qualname; - PyObject *gi_modulename; - PyObject *gi_code; - PyObject *gi_frame; - int resume_label; - char is_running; -} __pyx_CoroutineObject; -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self); -static int __Pyx_Coroutine_clear(PyObject *self); -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value); -static PyObject *__Pyx_Coroutine_Close(PyObject *self); -static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_Coroutine_SwapException(self) -#define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state) -#else -#define __Pyx_Coroutine_SwapException(self) {\ - __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\ - __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\ - } -#define __Pyx_Coroutine_ResetAndClearException(self) {\ - __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\ - (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\ - } -#endif -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue) -#else -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue) -#endif -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue); -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state); - -/* PyObject_GenericGetAttrNoDict.proto */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr -#endif - -/* PatchModuleWithCoroutine.proto */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code); - -/* PatchGeneratorABC.proto */ -static int __Pyx_patch_abc(void); - -/* Coroutine.proto */ -#define __Pyx_Coroutine_USED -#define __Pyx_Coroutine_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineType) -#define __Pyx_Coroutine_Check(obj) __Pyx_Coroutine_CheckExact(obj) -#define __Pyx_CoroutineAwait_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineAwaitType) -#define __Pyx_Coroutine_New(body, code, closure, name, qualname, module_name)\ - __Pyx__Coroutine_New(__pyx_CoroutineType, body, code, closure, name, qualname, module_name) -static int __pyx_Coroutine_init(PyObject *module); -static PyObject *__Pyx__Coroutine_await(PyObject *coroutine); -typedef struct { - PyObject_HEAD - PyObject *coroutine; -} __pyx_CoroutineAwaitObject; -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg); -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args); - -/* GetAwaitIter.proto */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o); -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *o); - -/* CoroutineYieldFrom.proto */ -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* GetItemInt.proto */ -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - -/* ObjectGetItem.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key); -#else -#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) -#endif - -/* DictGetItem.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); -#define __Pyx_PyObject_Dict_GetItem(obj, name)\ - (likely(PyDict_CheckExact(obj)) ?\ - __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) -#else -#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) -#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) -#endif - -/* PyObjectFormatSimple.proto */ -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#elif PY_MAJOR_VERSION < 3 - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\ - PyObject_Format(s, f)) -#elif CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\ - likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\ - PyObject_Format(s, f)) -#else - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#endif - -/* PyIntCompare.proto */ -static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* pep479.proto */ -static void __Pyx_Generator_Replace_StopIteration(int in_async_gen); - -/* JoinPyUnicode.proto */ -static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char); - -/* ReturnWithStopIteration.proto */ -#define __Pyx_ReturnWithStopIteration(value)\ - if (value == Py_None) PyErr_SetNone(PyExc_StopIteration); else __Pyx__ReturnWithStopIteration(value) -static void __Pyx__ReturnWithStopIteration(PyObject* value); - -/* pybytes_as_double.proto */ -static double __Pyx_SlowPyString_AsDouble(PyObject *obj); -static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length); -static CYTHON_INLINE double __Pyx_PyBytes_AsDouble(PyObject *obj) { - char* as_c_string; - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - as_c_string = PyBytes_AS_STRING(obj); - size = PyBytes_GET_SIZE(obj); -#else - if (PyBytes_AsStringAndSize(obj, &as_c_string, &size) < 0) { - return (double)-1; - } -#endif - return __Pyx__PyBytes_AsDouble(obj, as_c_string, size); -} -static CYTHON_INLINE double __Pyx_PyByteArray_AsDouble(PyObject *obj) { - char* as_c_string; - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - as_c_string = PyByteArray_AS_STRING(obj); - size = PyByteArray_GET_SIZE(obj); -#else - as_c_string = PyByteArray_AsString(obj); - if (as_c_string == NULL) { - return (double)-1; - } - size = PyByteArray_Size(obj); -#endif - return __Pyx__PyBytes_AsDouble(obj, as_c_string, size); -} - -/* pyunicode_as_double.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS -static const char* __Pyx__PyUnicode_AsDouble_Copy(const void* data, const int kind, char* buffer, Py_ssize_t start, Py_ssize_t end) { - int last_was_punctuation; - Py_ssize_t i; - last_was_punctuation = 1; - for (i=start; i <= end; i++) { - Py_UCS4 chr = PyUnicode_READ(kind, data, i); - int is_punctuation = (chr == '_') | (chr == '.'); - *buffer = (char)chr; - buffer += (chr != '_'); - if (unlikely(chr > 127)) goto parse_failure; - if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure; - last_was_punctuation = is_punctuation; - } - if (unlikely(last_was_punctuation)) goto parse_failure; - *buffer = '\0'; - return buffer; -parse_failure: - return NULL; -} -static double __Pyx__PyUnicode_AsDouble_inf_nan(const void* data, int kind, Py_ssize_t start, Py_ssize_t length) { - int matches = 1; - Py_UCS4 chr; - Py_UCS4 sign = PyUnicode_READ(kind, data, start); - int is_signed = (sign == '-') | (sign == '+'); - start += is_signed; - length -= is_signed; - switch (PyUnicode_READ(kind, data, start)) { - #ifdef Py_NAN - case 'n': - case 'N': - if (unlikely(length != 3)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+1); - matches &= (chr == 'a') | (chr == 'A'); - chr = PyUnicode_READ(kind, data, start+2); - matches &= (chr == 'n') | (chr == 'N'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_NAN : Py_NAN; - #endif - case 'i': - case 'I': - if (unlikely(length < 3)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+1); - matches &= (chr == 'n') | (chr == 'N'); - chr = PyUnicode_READ(kind, data, start+2); - matches &= (chr == 'f') | (chr == 'F'); - if (likely(length == 3 && matches)) - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - if (unlikely(length != 8)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+3); - matches &= (chr == 'i') | (chr == 'I'); - chr = PyUnicode_READ(kind, data, start+4); - matches &= (chr == 'n') | (chr == 'N'); - chr = PyUnicode_READ(kind, data, start+5); - matches &= (chr == 'i') | (chr == 'I'); - chr = PyUnicode_READ(kind, data, start+6); - matches &= (chr == 't') | (chr == 'T'); - chr = PyUnicode_READ(kind, data, start+7); - matches &= (chr == 'y') | (chr == 'Y'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - break; - default: - goto parse_failure; - } - return 0.0; -parse_failure: - return -1.0; -} -static double __Pyx_PyUnicode_AsDouble_WithSpaces(PyObject *obj) { - double value; - const char *last; - char *end; - Py_ssize_t start, length = PyUnicode_GET_LENGTH(obj); - const int kind = PyUnicode_KIND(obj); - const void* data = PyUnicode_DATA(obj); - start = 0; - while (Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, start))) - start++; - while (start < length - 1 && Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, length - 1))) - length--; - length -= start; - if (unlikely(length <= 0)) goto fallback; - value = __Pyx__PyUnicode_AsDouble_inf_nan(data, kind, start, length); - if (unlikely(value == -1.0)) goto fallback; - if (value != 0.0) return value; - if (length < 40) { - char number[40]; - last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length); - if (unlikely(!last)) goto fallback; - value = PyOS_string_to_double(number, &end, NULL); - } else { - char *number = (char*) PyMem_Malloc((length + 1) * sizeof(char)); - if (unlikely(!number)) goto fallback; - last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length); - if (unlikely(!last)) { - PyMem_Free(number); - goto fallback; - } - value = PyOS_string_to_double(number, &end, NULL); - PyMem_Free(number); - } - if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) { - return value; - } -fallback: - return __Pyx_SlowPyString_AsDouble(obj); -} -#endif -static CYTHON_INLINE double __Pyx_PyUnicode_AsDouble(PyObject *obj) { -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS - if (unlikely(__Pyx_PyUnicode_READY(obj) == -1)) - return (double)-1; - if (likely(PyUnicode_IS_ASCII(obj))) { - const char *s; - Py_ssize_t length; - s = PyUnicode_AsUTF8AndSize(obj, &length); - return __Pyx__PyBytes_AsDouble(obj, s, length); - } - return __Pyx_PyUnicode_AsDouble_WithSpaces(obj); -#else - return __Pyx_SlowPyString_AsDouble(obj); -#endif -} - -/* pyobject_as_double.proto */ -static double __Pyx__PyObject_AsDouble(PyObject* obj); -#if CYTHON_COMPILING_IN_PYPY -#define __Pyx_PyObject_AsDouble(obj)\ -(likely(PyFloat_CheckExact(obj)) ? PyFloat_AS_DOUBLE(obj) :\ - likely(PyInt_CheckExact(obj)) ?\ - PyFloat_AsDouble(obj) : __Pyx__PyObject_AsDouble(obj)) -#else -#define __Pyx_PyObject_AsDouble(obj)\ -((likely(PyFloat_CheckExact(obj))) ? PyFloat_AS_DOUBLE(obj) :\ - likely(PyLong_CheckExact(obj)) ?\ - PyLong_AsDouble(obj) : __Pyx__PyObject_AsDouble(obj)) -#endif - -/* PyObjectCallMethod0.proto */ -static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name); - -/* ValidateBasesTuple.proto */ -#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases); -#endif - -/* PyType_Ready.proto */ -CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t); - -/* Import.proto */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); - -/* ImportDottedModule.proto */ -static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple); -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple); -#endif - -/* ImportFrom.proto */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); - -/* Py3UpdateBases.proto */ -static PyObject* __Pyx_PEP560_update_bases(PyObject *bases); - -/* CalculateMetaclass.proto */ -static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases); - -/* SetNameInClass.proto */ -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000 -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value)) -#elif CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value)) -#else -#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value) -#endif - -/* PyObjectLookupSpecial.proto */ -#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 0) -#define __Pyx_PyObject_LookupSpecial(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 1) -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error); -#else -#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n) -#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) -#endif - -/* Py3ClassCreate.proto */ -static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname, - PyObject *mkw, PyObject *modname, PyObject *doc); -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict, - PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass); - -/* PyMethodNew.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - PyObject *typesModule=NULL, *methodType=NULL, *result=NULL; - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - typesModule = PyImport_ImportModule("types"); - if (!typesModule) return NULL; - methodType = PyObject_GetAttrString(typesModule, "MethodType"); - Py_DECREF(typesModule); - if (!methodType) return NULL; - result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL); - Py_DECREF(methodType); - return result; -} -#elif PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - return PyMethod_New(func, self); -} -#else - #define __Pyx_PyMethod_New PyMethod_New -#endif - -/* PyVectorcallFastCallDict.proto */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw); -#endif - -/* CythonFunctionShared.proto */ -#define __Pyx_CyFunction_USED -#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 -#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 -#define __Pyx_CYFUNCTION_CCLASS 0x04 -#define __Pyx_CYFUNCTION_COROUTINE 0x08 -#define __Pyx_CyFunction_GetClosure(f)\ - (((__pyx_CyFunctionObject *) (f))->func_closure) -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_CyFunction_GetClassObj(f)\ - (((__pyx_CyFunctionObject *) (f))->func_classobj) -#else - #define __Pyx_CyFunction_GetClassObj(f)\ - ((PyObject*) ((PyCMethodObject *) (f))->mm_class) -#endif -#define __Pyx_CyFunction_SetClassObj(f, classobj)\ - __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj)) -#define __Pyx_CyFunction_Defaults(type, f)\ - ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) -#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ - ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) -typedef struct { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject_HEAD - PyObject *func; -#elif PY_VERSION_HEX < 0x030900B1 - PyCFunctionObject func; -#else - PyCMethodObject func; -#endif -#if CYTHON_BACKPORT_VECTORCALL - __pyx_vectorcallfunc func_vectorcall; -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_weakreflist; -#endif - PyObject *func_dict; - PyObject *func_name; - PyObject *func_qualname; - PyObject *func_doc; - PyObject *func_globals; - PyObject *func_code; - PyObject *func_closure; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_classobj; -#endif - void *defaults; - int defaults_pyobjects; - size_t defaults_size; - int flags; - PyObject *defaults_tuple; - PyObject *defaults_kwdict; - PyObject *(*defaults_getter)(PyObject *); - PyObject *func_annotations; - PyObject *func_is_coroutine; -} __pyx_CyFunctionObject; -#undef __Pyx_CyOrPyCFunction_Check -#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType) -#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type) -#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType) -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc); -#undef __Pyx_IsSameCFunction -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc) -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj); -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, - size_t size, - int pyobjects); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, - PyObject *tuple); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, - PyObject *dict); -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, - PyObject *dict); -static int __pyx_CyFunction_init(PyObject *module); -#if CYTHON_METH_FASTCALL -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -#if CYTHON_BACKPORT_VECTORCALL -#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall) -#else -#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall) -#endif -#endif - -/* CythonFunction.proto */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); - -/* CLineInTraceback.proto */ -#ifdef CYTHON_CLINE_IN_TRACEBACK -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#else -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#endif - -/* CodeObjectCache.proto */ -#if !CYTHON_COMPILING_IN_LIMITED_API -typedef struct { - PyCodeObject* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; -}; -static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static PyCodeObject *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -#endif - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* GCCDiagnostics.proto */ -#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -#define __Pyx_HAS_GCC_DIAGNOSTIC -#endif - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); - -/* FormatTypeName.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -typedef PyObject *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%U" -static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp); -#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj) -#else -typedef const char *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%.200s" -#define __Pyx_PyType_GetName(tp) ((tp)->tp_name) -#define __Pyx_DECREF_TypeName(obj) -#endif - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); - -/* FastTypeChecks.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2)) -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) -#endif -#define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2) -#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* CheckBinaryVersion.proto */ -static unsigned long __Pyx_get_runtime_version(void); -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer); - -/* InitStrings.proto */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); - -/* #### Code section: module_declarations ### */ - -/* Module declarations from "handlers.payments.yoomoney_pay" */ -/* #### Code section: typeinfo ### */ -/* #### Code section: before_global_var ### */ -#define __Pyx_MODULE_NAME "handlers.payments.yoomoney_pay" -extern int __pyx_module_is_main_handlers__payments__yoomoney_pay; -int __pyx_module_is_main_handlers__payments__yoomoney_pay = 0; - -/* Implementation of "handlers.payments.yoomoney_pay" */ -/* #### Code section: global_var ### */ -static PyObject *__pyx_builtin_range; -static PyObject *__pyx_builtin_ValueError; -/* #### Code section: string_decls ### */ -static const char __pyx_k_F[] = "F"; -static const char __pyx_k_e[] = "e"; -static const char __pyx_k_i[] = "i"; -static const char __pyx_k__2[] = "\320\235\320\260\321\200\321\203\321\210\320\265\320\275\320\260 \321\206\320\265\320\273\320\276\321\201\321\202\320\275\320\276\321\201\321\202\321\214 \321\204\320\260\320\271\320\273\320\276\320\262! \320\236\320\261\320\275\320\276\320\262\320\270\321\202\320\265\321\201\321\214 \321\201 \320\277\320\276\320\273\320\275\320\276\320\271 \320\267\320\260\320\274\320\265\320\275\320\276\320\271 \320\277\320\260\320\277\320\272\320\270!"; -static const char __pyx_k__4[] = "|"; -static const char __pyx_k__6[] = "\320\237\320\276\320\277\320\276\320\273\320\275\320\270\321\202\321\214"; -static const char __pyx_k__8[] = "&"; -static const char __pyx_k__9[] = "\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260 \321\205\321\215\321\210\320\260 \320\275\320\265 \320\277\321\200\320\276\320\271\320\264\320\265\320\275\320\260"; -static const char __pyx_k_gc[] = "gc"; -static const char __pyx_k_id[] = "id"; -static const char __pyx_k_Any[] = "Any"; -static const char __pyx_k_PAY[] = "PAY"; -static const char __pyx_k__12[] = "\320\241\321\203\320\274\320\274\320\260 \320\264\320\276\320\273\320\266\320\275\320\260 \320\261\321\213\321\202\321\214 \320\261\320\276\320\273\321\214\321\210\320\265 \320\275\321\203\320\273\321\217. \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\265\321\211\320\265 \321\200\320\260\320\267:"; -static const char __pyx_k__13[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\260\321\217 \321\201\321\203\320\274\320\274\320\260. \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\265\321\211\320\265 \321\200\320\260\320\267:"; -static const char __pyx_k__14[] = "*"; -static const char __pyx_k__15[] = "."; -static const char __pyx_k__22[] = "?"; -static const char __pyx_k_doc[] = "__doc__"; -static const char __pyx_k_get[] = "get"; -static const char __pyx_k_pay[] = "pay"; -static const char __pyx_k_row[] = "row"; -static const char __pyx_k_url[] = "url"; -static const char __pyx_k_web[] = "web"; -static const char __pyx_k_BACK[] = "BACK"; -static const char __pyx_k_args[] = "args"; -static const char __pyx_k_chat[] = "chat"; -static const char __pyx_k_data[] = "data"; -static const char __pyx_k_dict[] = "__dict__"; -static const char __pyx_k_main[] = "__main__"; -static const char __pyx_k_name[] = "__name__"; -static const char __pyx_k_post[] = "post"; -static const char __pyx_k_send[] = "send"; -static const char __pyx_k_sha1[] = "sha1"; -static const char __pyx_k_spec[] = "__spec__"; -static const char __pyx_k_test[] = "__test__"; -static const char __pyx_k_text[] = "text"; -static const char __pyx_k_State[] = "State"; -static const char __pyx_k_await[] = "__await__"; -static const char __pyx_k_close[] = "close"; -static const char __pyx_k_debug[] = "debug"; -static const char __pyx_k_error[] = "error"; -static const char __pyx_k_label[] = "label"; -static const char __pyx_k_range[] = "range"; -static const char __pyx_k_split[] = "split"; -static const char __pyx_k_state[] = "state"; -static const char __pyx_k_super[] = "super"; -static const char __pyx_k_tg_id[] = "tg_id"; -static const char __pyx_k_throw[] = "throw"; -static const char __pyx_k_trial[] = "trial"; -static const char __pyx_k_types[] = "types"; -static const char __pyx_k_Router[] = "Router"; -static const char __pyx_k_amount[] = "amount"; -static const char __pyx_k_answer[] = "answer"; -static const char __pyx_k_config[] = "config"; -static const char __pyx_k_enable[] = "enable"; -static const char __pyx_k_exists[] = "exists"; -static const char __pyx_k_format[] = "format"; -static const char __pyx_k_import[] = "__import__"; -static const char __pyx_k_logger[] = "logger"; -static const char __pyx_k_module[] = "__module__"; -static const char __pyx_k_router[] = "router"; -static const char __pyx_k_sender[] = "sender"; -static const char __pyx_k_status[] = "status"; -static const char __pyx_k_typing[] = "typing"; -static const char __pyx_k_aiogram[] = "aiogram"; -static const char __pyx_k_aiohttp[] = "aiohttp"; -static const char __pyx_k_balance[] = "balance"; -static const char __pyx_k_builder[] = "builder"; -static const char __pyx_k_codepro[] = "codepro"; -static const char __pyx_k_disable[] = "disable"; -static const char __pyx_k_hashlib[] = "hashlib"; -static const char __pyx_k_isdigit[] = "isdigit"; -static const char __pyx_k_message[] = "message"; -static const char __pyx_k_prepare[] = "__prepare__"; -static const char __pyx_k_request[] = "request"; -static const char __pyx_k_session[] = "session"; -static const char __pyx_k_user_id[] = "user_id"; -static const char __pyx_k_web_app[] = "web_app"; -static const char __pyx_k_Response[] = "Response"; -static const char __pyx_k_amount_2[] = ", amount: "; -static const char __pyx_k_currency[] = "currency"; -static const char __pyx_k_database[] = "database"; -static const char __pyx_k_datetime[] = "datetime"; -static const char __pyx_k_qualname[] = "__qualname__"; -static const char __pyx_k_set_name[] = "__set_name__"; -static const char __pyx_k_yoomoney[] = "yoomoney_"; -static const char __pyx_k_ENTER_SUM[] = "ENTER_SUM"; -static const char __pyx_k_as_markup[] = "as_markup"; -static const char __pyx_k_hexdigest[] = "hexdigest"; -static const char __pyx_k_isenabled[] = "isenabled"; -static const char __pyx_k_key_count[] = "key_count"; -static const char __pyx_k_metaclass[] = "__metaclass__"; -static const char __pyx_k_set_state[] = "set_state"; -static const char __pyx_k_sha1_hash[] = "sha1_hash"; -static const char __pyx_k_Account_ID[] = "Account ID: "; -static const char __pyx_k_FSMContext[] = "FSMContext"; -static const char __pyx_k_ValueError[] = "ValueError"; -static const char __pyx_k_WebAppInfo[] = "WebAppInfo"; -static const char __pyx_k_account_id[] = "account_id"; -static const char __pyx_k_amount_str[] = "amount_str"; -static const char __pyx_k_startswith[] = "startswith"; -static const char __pyx_k_yoomoney_2[] = "yoomoney"; -static const char __pyx_k_AMOUNT_TEXT[] = "AMOUNT_TEXT"; -static const char __pyx_k_StatesGroup[] = "StatesGroup"; -static const char __pyx_k_YOOMONEY_ID[] = "YOOMONEY_ID"; -static const char __pyx_k_add_payment[] = "add_payment"; -static const char __pyx_k_customer_id[] = "customer_id"; -static const char __pyx_k_mro_entries[] = "__mro_entries__"; -static const char __pyx_k_payment_url[] = "payment_url"; -static const char __pyx_k_solonet_sup[] = "\342\235\214 \320\237\320\270\321\200\320\260\321\202\321\201\320\272\320\260\321\217 \320\262\320\265\321\200\321\201\320\270\321\217, \320\276\320\261\321\200\320\260\321\202\320\270\321\202\320\265\321\201\321\214 \320\262 \320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\321\203 @solonet_sup."; -static const char __pyx_k_update_data[] = "update_data"; -static const char __pyx_k_user_id_str[] = "user_id_str"; -static const char __pyx_k_web_Request[] = "web.Request"; -static const char __pyx_k_initializing[] = "_initializing"; -static const char __pyx_k_is_coroutine[] = "_is_coroutine"; -static const char __pyx_k_operation_id[] = "operation_id"; -static const char __pyx_k_pay_yoomoney[] = "pay_yoomoney"; -static const char __pyx_k_reply_markup[] = "reply_markup"; -static const char __pyx_k_CUSTOM_AMOUNT[] = "CUSTOM_AMOUNT"; -static const char __pyx_k_YOOKASSA_HASH[] = "YOOKASSA_HASH"; -static const char __pyx_k_aiogram_types[] = "aiogram.types"; -static const char __pyx_k_callback_data[] = "callback_data"; -static const char __pyx_k_class_getitem[] = "__class_getitem__"; -static const char __pyx_k_expected_hash[] = "expected_hash"; -static const char __pyx_k_get_key_count[] = "get_key_count"; -static const char __pyx_k_init_subclass[] = "__init_subclass__"; -static const char __pyx_k_types_Message[] = "types.Message"; -static const char __pyx_k_add_connection[] = "add_connection"; -static const char __pyx_k_callback_query[] = "callback_query"; -static const char __pyx_k_handlers_texts[] = "handlers.texts"; -static const char __pyx_k_handlers_utils[] = "handlers.utils"; -static const char __pyx_k_string_to_hash[] = "string_to_hash"; -static const char __pyx_k_update_balance[] = "update_balance"; -static const char __pyx_k_user_id_amount[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\272\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\320\270 user_id \320\270\320\273\320\270 amount: "; -static const char __pyx_k_PAYMENT_OPTIONS[] = "PAYMENT_OPTIONS"; -static const char __pyx_k_YOOMONEY_ENABLE[] = "YOOMONEY_ENABLE"; -static const char __pyx_k_calculated_hash[] = "calculated_hash"; -static const char __pyx_k_inline_keyboard[] = "inline_keyboard"; -static const char __pyx_k_withdraw_amount[] = "withdraw_amount"; -static const char __pyx_k_yoomoney_amount[] = "yoomoney_amount"; -static const char __pyx_k_HASHHASHYOOKASSA[] = "HASHHASHYOOKASSA"; -static const char __pyx_k_confirm_keyboard[] = "confirm_keyboard"; -static const char __pyx_k_handlers_buttons[] = "handlers.buttons"; -static const char __pyx_k_yoomoney_webhook[] = "yoomoney_webhook"; -static const char __pyx_k_aiogram_fsm_state[] = "aiogram.fsm.state"; -static const char __pyx_k_notification_type[] = "notification_type"; -static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines"; -static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; -static const char __pyx_k_YOOMONEY_SECRET_KEY[] = "YOOMONEY_SECRET_KEY"; -static const char __pyx_k_aiogram_fsm_context[] = "aiogram.fsm.context"; -static const char __pyx_k_notification_secret[] = "notification_secret"; -static const char __pyx_k_types_CallbackQuery[] = "types.CallbackQuery"; -static const char __pyx_k_InlineKeyboardButton[] = "InlineKeyboardButton"; -static const char __pyx_k_InlineKeyboardMarkup[] = "InlineKeyboardMarkup"; -static const char __pyx_k_edit_or_send_message[] = "edit_or_send_message"; -static const char __pyx_k_InlineKeyboardBuilder[] = "InlineKeyboardBuilder"; -static const char __pyx_k_ReplenishBalanceState[] = "ReplenishBalanceState"; -static const char __pyx_k_Webhook_event_received[] = "Webhook event received: "; -static const char __pyx_k_aiogram_utils_keyboard[] = "aiogram.utils.keyboard"; -static const char __pyx_k_handlers_payments_gift[] = "handlers.payments.gift"; -static const char __pyx_k_DEFAULT_PAYMENT_MESSAGE[] = "DEFAULT_PAYMENT_MESSAGE"; -static const char __pyx_k_check_connection_exists[] = "check_connection_exists"; -static const char __pyx_k_handlers_payments_utils[] = "handlers.payments.utils"; -static const char __pyx_k_choosing_amount_yoomoney[] = "choosing_amount_yoomoney"; -static const char __pyx_k_process_amount_selection[] = "process_amount_selection"; -static const char __pyx_k_process_custom_amount_input[] = "process_custom_amount_input"; -static const char __pyx_k_process_enter_custom_amount[] = "process_enter_custom_amount"; -static const char __pyx_k_enter_custom_amount_yoomoney[] = "enter_custom_amount_yoomoney"; -static const char __pyx_k_paymentType_PC_comment_label[] = "&paymentType=PC&comment=\320\237\320\276\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\261\320\260\320\273\320\260\320\275\321\201\320\260&label="; -static const char __pyx_k_Payment_succeeded_for_user_id[] = "Payment succeeded for user_id: "; -static const char __pyx_k_process_callback_pay_yoomoney[] = "process_callback_pay_yoomoney"; -static const char __pyx_k_handlers_payments_yoomoney_pay[] = "handlers.payments.yoomoney_pay"; -static const char __pyx_k_quickpay_form_shop_targets_sum[] = "&quickpay-form=shop&targets=&sum="; -static const char __pyx_k_entering_custom_amount_yoomoney[] = "entering_custom_amount_yoomoney"; -static const char __pyx_k_handlers_payments_yoomoney_pay_p[] = "handlers/payments/yoomoney_pay.py"; -static const char __pyx_k_https_yoomoney_ru_quickpay_confi[] = "https://yoomoney.ru/quickpay/confirm.xml?receiver="; -static const char __pyx_k_send_payment_success_notificatio[] = "send_payment_success_notification"; -static const char __pyx_k_waiting_for_payment_confirmation[] = "waiting_for_payment_confirmation_yoomoney"; -/* #### Code section: decls ### */ -static PyObject *__pyx_pf_8handlers_8payments_12yoomoney_pay_process_callback_pay_yoomoney(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_12yoomoney_pay_3process_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_12yoomoney_pay_6yoomoney_webhook(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_request); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_12yoomoney_pay_9process_enter_custom_amount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_12yoomoney_pay_12process_custom_amount_input(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_message, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -/* #### Code section: late_includes ### */ -/* #### Code section: module_state ### */ -typedef struct { - PyObject *__pyx_d; - PyObject *__pyx_b; - PyObject *__pyx_cython_runtime; - PyObject *__pyx_empty_tuple; - PyObject *__pyx_empty_bytes; - PyObject *__pyx_empty_unicode; - #ifdef __Pyx_CyFunction_USED - PyTypeObject *__pyx_CyFunctionType; - #endif - #ifdef __Pyx_FusedFunction_USED - PyTypeObject *__pyx_FusedFunctionType; - #endif - #ifdef __Pyx_Generator_USED - PyTypeObject *__pyx_GeneratorType; - #endif - #ifdef __Pyx_IterableCoroutine_USED - PyTypeObject *__pyx_IterableCoroutineType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineAwaitType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineType; - #endif - #if CYTHON_USE_MODULE_STATE - PyObject *__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney; - PyObject *__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection; - PyObject *__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook; - PyObject *__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount; - PyObject *__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input; - #endif - PyTypeObject *__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney; - PyTypeObject *__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection; - PyTypeObject *__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook; - PyTypeObject *__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount; - PyTypeObject *__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input; - PyObject *__pyx_n_s_AMOUNT_TEXT; - PyObject *__pyx_kp_u_Account_ID; - PyObject *__pyx_n_s_Any; - PyObject *__pyx_n_s_BACK; - PyObject *__pyx_n_s_CUSTOM_AMOUNT; - PyObject *__pyx_n_s_DEFAULT_PAYMENT_MESSAGE; - PyObject *__pyx_n_s_ENTER_SUM; - PyObject *__pyx_n_s_F; - PyObject *__pyx_n_s_FSMContext; - PyObject *__pyx_n_u_HASHHASHYOOKASSA; - PyObject *__pyx_n_s_InlineKeyboardBuilder; - PyObject *__pyx_n_s_InlineKeyboardButton; - PyObject *__pyx_n_s_InlineKeyboardMarkup; - PyObject *__pyx_n_s_PAY; - PyObject *__pyx_n_s_PAYMENT_OPTIONS; - PyObject *__pyx_kp_u_Payment_succeeded_for_user_id; - PyObject *__pyx_n_s_ReplenishBalanceState; - PyObject *__pyx_n_s_Response; - PyObject *__pyx_n_s_Router; - PyObject *__pyx_n_s_State; - PyObject *__pyx_n_s_StatesGroup; - PyObject *__pyx_n_s_ValueError; - PyObject *__pyx_n_s_WebAppInfo; - PyObject *__pyx_kp_u_Webhook_event_received; - PyObject *__pyx_n_s_YOOKASSA_HASH; - PyObject *__pyx_n_s_YOOMONEY_ENABLE; - PyObject *__pyx_n_s_YOOMONEY_ID; - PyObject *__pyx_n_s_YOOMONEY_SECRET_KEY; - PyObject *__pyx_kp_u__12; - PyObject *__pyx_kp_u__13; - PyObject *__pyx_n_s__14; - PyObject *__pyx_kp_u__15; - PyObject *__pyx_kp_u__2; - PyObject *__pyx_n_s__22; - PyObject *__pyx_kp_u__4; - PyObject *__pyx_n_u__6; - PyObject *__pyx_kp_u__8; - PyObject *__pyx_kp_u__9; - PyObject *__pyx_n_s_account_id; - PyObject *__pyx_n_s_add_connection; - PyObject *__pyx_n_s_add_payment; - PyObject *__pyx_n_s_aiogram; - PyObject *__pyx_n_s_aiogram_fsm_context; - PyObject *__pyx_n_s_aiogram_fsm_state; - PyObject *__pyx_n_s_aiogram_types; - PyObject *__pyx_n_s_aiogram_utils_keyboard; - PyObject *__pyx_n_s_aiohttp; - PyObject *__pyx_n_s_amount; - PyObject *__pyx_n_u_amount; - PyObject *__pyx_kp_u_amount_2; - PyObject *__pyx_n_s_amount_str; - PyObject *__pyx_n_s_answer; - PyObject *__pyx_n_s_args; - PyObject *__pyx_n_s_as_markup; - PyObject *__pyx_n_s_asyncio_coroutines; - PyObject *__pyx_n_s_await; - PyObject *__pyx_n_s_balance; - PyObject *__pyx_n_s_builder; - PyObject *__pyx_n_s_calculated_hash; - PyObject *__pyx_n_s_callback_data; - PyObject *__pyx_n_u_callback_data; - PyObject *__pyx_n_s_callback_query; - PyObject *__pyx_n_s_chat; - PyObject *__pyx_n_s_check_connection_exists; - PyObject *__pyx_n_s_choosing_amount_yoomoney; - PyObject *__pyx_n_s_class_getitem; - PyObject *__pyx_n_s_cline_in_traceback; - PyObject *__pyx_n_s_close; - PyObject *__pyx_n_u_codepro; - PyObject *__pyx_n_s_config; - PyObject *__pyx_n_s_confirm_keyboard; - PyObject *__pyx_n_u_currency; - PyObject *__pyx_n_s_customer_id; - PyObject *__pyx_n_s_data; - PyObject *__pyx_n_s_database; - PyObject *__pyx_n_u_datetime; - PyObject *__pyx_n_s_debug; - PyObject *__pyx_n_s_dict; - PyObject *__pyx_kp_u_disable; - PyObject *__pyx_n_s_doc; - PyObject *__pyx_n_s_e; - PyObject *__pyx_n_s_edit_or_send_message; - PyObject *__pyx_kp_u_enable; - PyObject *__pyx_n_u_enter_custom_amount_yoomoney; - PyObject *__pyx_n_s_entering_custom_amount_yoomoney; - PyObject *__pyx_n_s_error; - PyObject *__pyx_n_s_exists; - PyObject *__pyx_n_s_expected_hash; - PyObject *__pyx_n_s_format; - PyObject *__pyx_kp_u_gc; - PyObject *__pyx_n_s_get; - PyObject *__pyx_n_s_get_key_count; - PyObject *__pyx_n_s_handlers_buttons; - PyObject *__pyx_n_s_handlers_payments_gift; - PyObject *__pyx_n_s_handlers_payments_utils; - PyObject *__pyx_n_s_handlers_payments_yoomoney_pay; - PyObject *__pyx_kp_s_handlers_payments_yoomoney_pay_p; - PyObject *__pyx_n_s_handlers_texts; - PyObject *__pyx_n_s_handlers_utils; - PyObject *__pyx_n_s_hashlib; - PyObject *__pyx_n_s_hexdigest; - PyObject *__pyx_kp_u_https_yoomoney_ru_quickpay_confi; - PyObject *__pyx_n_s_i; - PyObject *__pyx_n_s_id; - PyObject *__pyx_n_s_import; - PyObject *__pyx_n_s_init_subclass; - PyObject *__pyx_n_s_initializing; - PyObject *__pyx_n_s_inline_keyboard; - PyObject *__pyx_n_s_is_coroutine; - PyObject *__pyx_n_s_isdigit; - PyObject *__pyx_kp_u_isenabled; - PyObject *__pyx_n_s_key_count; - PyObject *__pyx_n_u_label; - PyObject *__pyx_n_s_logger; - PyObject *__pyx_n_s_main; - PyObject *__pyx_n_s_message; - PyObject *__pyx_n_s_metaclass; - PyObject *__pyx_n_s_module; - PyObject *__pyx_n_s_mro_entries; - PyObject *__pyx_n_s_name; - PyObject *__pyx_n_s_notification_secret; - PyObject *__pyx_n_u_notification_type; - PyObject *__pyx_n_u_operation_id; - PyObject *__pyx_n_u_pay; - PyObject *__pyx_n_u_pay_yoomoney; - PyObject *__pyx_kp_u_paymentType_PC_comment_label; - PyObject *__pyx_n_s_payment_url; - PyObject *__pyx_n_s_post; - PyObject *__pyx_n_s_prepare; - PyObject *__pyx_n_s_process_amount_selection; - PyObject *__pyx_n_s_process_callback_pay_yoomoney; - PyObject *__pyx_n_s_process_custom_amount_input; - PyObject *__pyx_n_s_process_enter_custom_amount; - PyObject *__pyx_n_s_qualname; - PyObject *__pyx_kp_u_quickpay_form_shop_targets_sum; - PyObject *__pyx_n_s_range; - PyObject *__pyx_n_s_reply_markup; - PyObject *__pyx_n_s_request; - PyObject *__pyx_n_s_router; - PyObject *__pyx_n_s_row; - PyObject *__pyx_n_s_send; - PyObject *__pyx_n_s_send_payment_success_notificatio; - PyObject *__pyx_n_u_sender; - PyObject *__pyx_n_s_session; - PyObject *__pyx_n_s_set_name; - PyObject *__pyx_n_s_set_state; - PyObject *__pyx_n_s_sha1; - PyObject *__pyx_n_s_sha1_hash; - PyObject *__pyx_n_u_sha1_hash; - PyObject *__pyx_kp_u_solonet_sup; - PyObject *__pyx_n_s_spec; - PyObject *__pyx_n_s_split; - PyObject *__pyx_n_s_startswith; - PyObject *__pyx_n_s_state; - PyObject *__pyx_n_s_status; - PyObject *__pyx_n_s_string_to_hash; - PyObject *__pyx_n_s_super; - PyObject *__pyx_n_s_test; - PyObject *__pyx_n_s_text; - PyObject *__pyx_n_u_text; - PyObject *__pyx_n_s_tg_id; - PyObject *__pyx_n_s_throw; - PyObject *__pyx_n_s_trial; - PyObject *__pyx_n_s_types; - PyObject *__pyx_kp_s_types_CallbackQuery; - PyObject *__pyx_kp_s_types_Message; - PyObject *__pyx_n_s_typing; - PyObject *__pyx_n_s_update_balance; - PyObject *__pyx_n_s_update_data; - PyObject *__pyx_n_s_url; - PyObject *__pyx_n_s_user_id; - PyObject *__pyx_kp_u_user_id_amount; - PyObject *__pyx_n_s_user_id_str; - PyObject *__pyx_n_s_waiting_for_payment_confirmation; - PyObject *__pyx_n_s_web; - PyObject *__pyx_kp_s_web_Request; - PyObject *__pyx_n_s_web_app; - PyObject *__pyx_n_u_withdraw_amount; - PyObject *__pyx_n_u_yoomoney; - PyObject *__pyx_n_u_yoomoney_2; - PyObject *__pyx_n_u_yoomoney_amount; - PyObject *__pyx_n_s_yoomoney_webhook; - PyObject *__pyx_float_0_0; - PyObject *__pyx_int_0; - PyObject *__pyx_int_1; - PyObject *__pyx_int_2; - PyObject *__pyx_int_200; - PyObject *__pyx_int_400; - PyObject *__pyx_codeobj_; - PyObject *__pyx_tuple__5; - PyObject *__pyx_tuple__16; - PyObject *__pyx_tuple__17; - PyObject *__pyx_tuple__18; - PyObject *__pyx_tuple__19; - PyObject *__pyx_tuple__20; - PyObject *__pyx_tuple__21; - PyObject *__pyx_codeobj__3; - PyObject *__pyx_codeobj__7; - PyObject *__pyx_codeobj__10; - PyObject *__pyx_codeobj__11; -} __pyx_mstate; - -#if CYTHON_USE_MODULE_STATE -#ifdef __cplusplus -namespace { - extern struct PyModuleDef __pyx_moduledef; -} /* anonymous namespace */ -#else -static struct PyModuleDef __pyx_moduledef; -#endif - -#define __pyx_mstate(o) ((__pyx_mstate *)__Pyx_PyModule_GetState(o)) - -#define __pyx_mstate_global (__pyx_mstate(PyState_FindModule(&__pyx_moduledef))) - -#define __pyx_m (PyState_FindModule(&__pyx_moduledef)) -#else -static __pyx_mstate __pyx_mstate_global_static = -#ifdef __cplusplus - {}; -#else - {0}; -#endif -static __pyx_mstate *__pyx_mstate_global = &__pyx_mstate_global_static; -#endif -/* #### Code section: module_state_clear ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_clear(PyObject *m) { - __pyx_mstate *clear_module_state = __pyx_mstate(m); - if (!clear_module_state) return 0; - Py_CLEAR(clear_module_state->__pyx_d); - Py_CLEAR(clear_module_state->__pyx_b); - Py_CLEAR(clear_module_state->__pyx_cython_runtime); - Py_CLEAR(clear_module_state->__pyx_empty_tuple); - Py_CLEAR(clear_module_state->__pyx_empty_bytes); - Py_CLEAR(clear_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_CLEAR(clear_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_CLEAR(clear_module_state->__pyx_FusedFunctionType); - #endif - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_n_s_AMOUNT_TEXT); - Py_CLEAR(clear_module_state->__pyx_kp_u_Account_ID); - Py_CLEAR(clear_module_state->__pyx_n_s_Any); - Py_CLEAR(clear_module_state->__pyx_n_s_BACK); - Py_CLEAR(clear_module_state->__pyx_n_s_CUSTOM_AMOUNT); - Py_CLEAR(clear_module_state->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - Py_CLEAR(clear_module_state->__pyx_n_s_ENTER_SUM); - Py_CLEAR(clear_module_state->__pyx_n_s_F); - Py_CLEAR(clear_module_state->__pyx_n_s_FSMContext); - Py_CLEAR(clear_module_state->__pyx_n_u_HASHHASHYOOKASSA); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardButton); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardMarkup); - Py_CLEAR(clear_module_state->__pyx_n_s_PAY); - Py_CLEAR(clear_module_state->__pyx_n_s_PAYMENT_OPTIONS); - Py_CLEAR(clear_module_state->__pyx_kp_u_Payment_succeeded_for_user_id); - Py_CLEAR(clear_module_state->__pyx_n_s_ReplenishBalanceState); - Py_CLEAR(clear_module_state->__pyx_n_s_Response); - Py_CLEAR(clear_module_state->__pyx_n_s_Router); - Py_CLEAR(clear_module_state->__pyx_n_s_State); - Py_CLEAR(clear_module_state->__pyx_n_s_StatesGroup); - Py_CLEAR(clear_module_state->__pyx_n_s_ValueError); - Py_CLEAR(clear_module_state->__pyx_n_s_WebAppInfo); - Py_CLEAR(clear_module_state->__pyx_kp_u_Webhook_event_received); - Py_CLEAR(clear_module_state->__pyx_n_s_YOOKASSA_HASH); - Py_CLEAR(clear_module_state->__pyx_n_s_YOOMONEY_ENABLE); - Py_CLEAR(clear_module_state->__pyx_n_s_YOOMONEY_ID); - Py_CLEAR(clear_module_state->__pyx_n_s_YOOMONEY_SECRET_KEY); - Py_CLEAR(clear_module_state->__pyx_kp_u__12); - Py_CLEAR(clear_module_state->__pyx_kp_u__13); - Py_CLEAR(clear_module_state->__pyx_n_s__14); - Py_CLEAR(clear_module_state->__pyx_kp_u__15); - Py_CLEAR(clear_module_state->__pyx_kp_u__2); - Py_CLEAR(clear_module_state->__pyx_n_s__22); - Py_CLEAR(clear_module_state->__pyx_kp_u__4); - Py_CLEAR(clear_module_state->__pyx_n_u__6); - Py_CLEAR(clear_module_state->__pyx_kp_u__8); - Py_CLEAR(clear_module_state->__pyx_kp_u__9); - Py_CLEAR(clear_module_state->__pyx_n_s_account_id); - Py_CLEAR(clear_module_state->__pyx_n_s_add_connection); - Py_CLEAR(clear_module_state->__pyx_n_s_add_payment); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_fsm_context); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_fsm_state); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_types); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_CLEAR(clear_module_state->__pyx_n_s_aiohttp); - Py_CLEAR(clear_module_state->__pyx_n_s_amount); - Py_CLEAR(clear_module_state->__pyx_n_u_amount); - Py_CLEAR(clear_module_state->__pyx_kp_u_amount_2); - Py_CLEAR(clear_module_state->__pyx_n_s_amount_str); - Py_CLEAR(clear_module_state->__pyx_n_s_answer); - Py_CLEAR(clear_module_state->__pyx_n_s_args); - Py_CLEAR(clear_module_state->__pyx_n_s_as_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines); - Py_CLEAR(clear_module_state->__pyx_n_s_await); - Py_CLEAR(clear_module_state->__pyx_n_s_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_builder); - Py_CLEAR(clear_module_state->__pyx_n_s_calculated_hash); - Py_CLEAR(clear_module_state->__pyx_n_s_callback_data); - Py_CLEAR(clear_module_state->__pyx_n_u_callback_data); - Py_CLEAR(clear_module_state->__pyx_n_s_callback_query); - Py_CLEAR(clear_module_state->__pyx_n_s_chat); - Py_CLEAR(clear_module_state->__pyx_n_s_check_connection_exists); - Py_CLEAR(clear_module_state->__pyx_n_s_choosing_amount_yoomoney); - Py_CLEAR(clear_module_state->__pyx_n_s_class_getitem); - Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback); - Py_CLEAR(clear_module_state->__pyx_n_s_close); - Py_CLEAR(clear_module_state->__pyx_n_u_codepro); - Py_CLEAR(clear_module_state->__pyx_n_s_config); - Py_CLEAR(clear_module_state->__pyx_n_s_confirm_keyboard); - Py_CLEAR(clear_module_state->__pyx_n_u_currency); - Py_CLEAR(clear_module_state->__pyx_n_s_customer_id); - Py_CLEAR(clear_module_state->__pyx_n_s_data); - Py_CLEAR(clear_module_state->__pyx_n_s_database); - Py_CLEAR(clear_module_state->__pyx_n_u_datetime); - Py_CLEAR(clear_module_state->__pyx_n_s_debug); - Py_CLEAR(clear_module_state->__pyx_n_s_dict); - Py_CLEAR(clear_module_state->__pyx_kp_u_disable); - Py_CLEAR(clear_module_state->__pyx_n_s_doc); - Py_CLEAR(clear_module_state->__pyx_n_s_e); - Py_CLEAR(clear_module_state->__pyx_n_s_edit_or_send_message); - Py_CLEAR(clear_module_state->__pyx_kp_u_enable); - Py_CLEAR(clear_module_state->__pyx_n_u_enter_custom_amount_yoomoney); - Py_CLEAR(clear_module_state->__pyx_n_s_entering_custom_amount_yoomoney); - Py_CLEAR(clear_module_state->__pyx_n_s_error); - Py_CLEAR(clear_module_state->__pyx_n_s_exists); - Py_CLEAR(clear_module_state->__pyx_n_s_expected_hash); - Py_CLEAR(clear_module_state->__pyx_n_s_format); - Py_CLEAR(clear_module_state->__pyx_kp_u_gc); - Py_CLEAR(clear_module_state->__pyx_n_s_get); - Py_CLEAR(clear_module_state->__pyx_n_s_get_key_count); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_buttons); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_gift); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_utils); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_yoomoney_pay); - Py_CLEAR(clear_module_state->__pyx_kp_s_handlers_payments_yoomoney_pay_p); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_texts); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_utils); - Py_CLEAR(clear_module_state->__pyx_n_s_hashlib); - Py_CLEAR(clear_module_state->__pyx_n_s_hexdigest); - Py_CLEAR(clear_module_state->__pyx_kp_u_https_yoomoney_ru_quickpay_confi); - Py_CLEAR(clear_module_state->__pyx_n_s_i); - Py_CLEAR(clear_module_state->__pyx_n_s_id); - Py_CLEAR(clear_module_state->__pyx_n_s_import); - Py_CLEAR(clear_module_state->__pyx_n_s_init_subclass); - Py_CLEAR(clear_module_state->__pyx_n_s_initializing); - Py_CLEAR(clear_module_state->__pyx_n_s_inline_keyboard); - Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine); - Py_CLEAR(clear_module_state->__pyx_n_s_isdigit); - Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled); - Py_CLEAR(clear_module_state->__pyx_n_s_key_count); - Py_CLEAR(clear_module_state->__pyx_n_u_label); - Py_CLEAR(clear_module_state->__pyx_n_s_logger); - Py_CLEAR(clear_module_state->__pyx_n_s_main); - Py_CLEAR(clear_module_state->__pyx_n_s_message); - Py_CLEAR(clear_module_state->__pyx_n_s_metaclass); - Py_CLEAR(clear_module_state->__pyx_n_s_module); - Py_CLEAR(clear_module_state->__pyx_n_s_mro_entries); - Py_CLEAR(clear_module_state->__pyx_n_s_name); - Py_CLEAR(clear_module_state->__pyx_n_s_notification_secret); - Py_CLEAR(clear_module_state->__pyx_n_u_notification_type); - Py_CLEAR(clear_module_state->__pyx_n_u_operation_id); - Py_CLEAR(clear_module_state->__pyx_n_u_pay); - Py_CLEAR(clear_module_state->__pyx_n_u_pay_yoomoney); - Py_CLEAR(clear_module_state->__pyx_kp_u_paymentType_PC_comment_label); - Py_CLEAR(clear_module_state->__pyx_n_s_payment_url); - Py_CLEAR(clear_module_state->__pyx_n_s_post); - Py_CLEAR(clear_module_state->__pyx_n_s_prepare); - Py_CLEAR(clear_module_state->__pyx_n_s_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_n_s_process_callback_pay_yoomoney); - Py_CLEAR(clear_module_state->__pyx_n_s_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_n_s_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_qualname); - Py_CLEAR(clear_module_state->__pyx_kp_u_quickpay_form_shop_targets_sum); - Py_CLEAR(clear_module_state->__pyx_n_s_range); - Py_CLEAR(clear_module_state->__pyx_n_s_reply_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_request); - Py_CLEAR(clear_module_state->__pyx_n_s_router); - Py_CLEAR(clear_module_state->__pyx_n_s_row); - Py_CLEAR(clear_module_state->__pyx_n_s_send); - Py_CLEAR(clear_module_state->__pyx_n_s_send_payment_success_notificatio); - Py_CLEAR(clear_module_state->__pyx_n_u_sender); - Py_CLEAR(clear_module_state->__pyx_n_s_session); - Py_CLEAR(clear_module_state->__pyx_n_s_set_name); - Py_CLEAR(clear_module_state->__pyx_n_s_set_state); - Py_CLEAR(clear_module_state->__pyx_n_s_sha1); - Py_CLEAR(clear_module_state->__pyx_n_s_sha1_hash); - Py_CLEAR(clear_module_state->__pyx_n_u_sha1_hash); - Py_CLEAR(clear_module_state->__pyx_kp_u_solonet_sup); - Py_CLEAR(clear_module_state->__pyx_n_s_spec); - Py_CLEAR(clear_module_state->__pyx_n_s_split); - Py_CLEAR(clear_module_state->__pyx_n_s_startswith); - Py_CLEAR(clear_module_state->__pyx_n_s_state); - Py_CLEAR(clear_module_state->__pyx_n_s_status); - Py_CLEAR(clear_module_state->__pyx_n_s_string_to_hash); - Py_CLEAR(clear_module_state->__pyx_n_s_super); - Py_CLEAR(clear_module_state->__pyx_n_s_test); - Py_CLEAR(clear_module_state->__pyx_n_s_text); - Py_CLEAR(clear_module_state->__pyx_n_u_text); - Py_CLEAR(clear_module_state->__pyx_n_s_tg_id); - Py_CLEAR(clear_module_state->__pyx_n_s_throw); - Py_CLEAR(clear_module_state->__pyx_n_s_trial); - Py_CLEAR(clear_module_state->__pyx_n_s_types); - Py_CLEAR(clear_module_state->__pyx_kp_s_types_CallbackQuery); - Py_CLEAR(clear_module_state->__pyx_kp_s_types_Message); - Py_CLEAR(clear_module_state->__pyx_n_s_typing); - Py_CLEAR(clear_module_state->__pyx_n_s_update_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_update_data); - Py_CLEAR(clear_module_state->__pyx_n_s_url); - Py_CLEAR(clear_module_state->__pyx_n_s_user_id); - Py_CLEAR(clear_module_state->__pyx_kp_u_user_id_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_user_id_str); - Py_CLEAR(clear_module_state->__pyx_n_s_waiting_for_payment_confirmation); - Py_CLEAR(clear_module_state->__pyx_n_s_web); - Py_CLEAR(clear_module_state->__pyx_kp_s_web_Request); - Py_CLEAR(clear_module_state->__pyx_n_s_web_app); - Py_CLEAR(clear_module_state->__pyx_n_u_withdraw_amount); - Py_CLEAR(clear_module_state->__pyx_n_u_yoomoney); - Py_CLEAR(clear_module_state->__pyx_n_u_yoomoney_2); - Py_CLEAR(clear_module_state->__pyx_n_u_yoomoney_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_yoomoney_webhook); - Py_CLEAR(clear_module_state->__pyx_float_0_0); - Py_CLEAR(clear_module_state->__pyx_int_0); - Py_CLEAR(clear_module_state->__pyx_int_1); - Py_CLEAR(clear_module_state->__pyx_int_2); - Py_CLEAR(clear_module_state->__pyx_int_200); - Py_CLEAR(clear_module_state->__pyx_int_400); - Py_CLEAR(clear_module_state->__pyx_codeobj_); - Py_CLEAR(clear_module_state->__pyx_tuple__5); - Py_CLEAR(clear_module_state->__pyx_tuple__16); - Py_CLEAR(clear_module_state->__pyx_tuple__17); - Py_CLEAR(clear_module_state->__pyx_tuple__18); - Py_CLEAR(clear_module_state->__pyx_tuple__19); - Py_CLEAR(clear_module_state->__pyx_tuple__20); - Py_CLEAR(clear_module_state->__pyx_tuple__21); - Py_CLEAR(clear_module_state->__pyx_codeobj__3); - Py_CLEAR(clear_module_state->__pyx_codeobj__7); - Py_CLEAR(clear_module_state->__pyx_codeobj__10); - Py_CLEAR(clear_module_state->__pyx_codeobj__11); - return 0; -} -#endif -/* #### Code section: module_state_traverse ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { - __pyx_mstate *traverse_module_state = __pyx_mstate(m); - if (!traverse_module_state) return 0; - Py_VISIT(traverse_module_state->__pyx_d); - Py_VISIT(traverse_module_state->__pyx_b); - Py_VISIT(traverse_module_state->__pyx_cython_runtime); - Py_VISIT(traverse_module_state->__pyx_empty_tuple); - Py_VISIT(traverse_module_state->__pyx_empty_bytes); - Py_VISIT(traverse_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_VISIT(traverse_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_VISIT(traverse_module_state->__pyx_FusedFunctionType); - #endif - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_n_s_AMOUNT_TEXT); - Py_VISIT(traverse_module_state->__pyx_kp_u_Account_ID); - Py_VISIT(traverse_module_state->__pyx_n_s_Any); - Py_VISIT(traverse_module_state->__pyx_n_s_BACK); - Py_VISIT(traverse_module_state->__pyx_n_s_CUSTOM_AMOUNT); - Py_VISIT(traverse_module_state->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - Py_VISIT(traverse_module_state->__pyx_n_s_ENTER_SUM); - Py_VISIT(traverse_module_state->__pyx_n_s_F); - Py_VISIT(traverse_module_state->__pyx_n_s_FSMContext); - Py_VISIT(traverse_module_state->__pyx_n_u_HASHHASHYOOKASSA); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardButton); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardMarkup); - Py_VISIT(traverse_module_state->__pyx_n_s_PAY); - Py_VISIT(traverse_module_state->__pyx_n_s_PAYMENT_OPTIONS); - Py_VISIT(traverse_module_state->__pyx_kp_u_Payment_succeeded_for_user_id); - Py_VISIT(traverse_module_state->__pyx_n_s_ReplenishBalanceState); - Py_VISIT(traverse_module_state->__pyx_n_s_Response); - Py_VISIT(traverse_module_state->__pyx_n_s_Router); - Py_VISIT(traverse_module_state->__pyx_n_s_State); - Py_VISIT(traverse_module_state->__pyx_n_s_StatesGroup); - Py_VISIT(traverse_module_state->__pyx_n_s_ValueError); - Py_VISIT(traverse_module_state->__pyx_n_s_WebAppInfo); - Py_VISIT(traverse_module_state->__pyx_kp_u_Webhook_event_received); - Py_VISIT(traverse_module_state->__pyx_n_s_YOOKASSA_HASH); - Py_VISIT(traverse_module_state->__pyx_n_s_YOOMONEY_ENABLE); - Py_VISIT(traverse_module_state->__pyx_n_s_YOOMONEY_ID); - Py_VISIT(traverse_module_state->__pyx_n_s_YOOMONEY_SECRET_KEY); - Py_VISIT(traverse_module_state->__pyx_kp_u__12); - Py_VISIT(traverse_module_state->__pyx_kp_u__13); - Py_VISIT(traverse_module_state->__pyx_n_s__14); - Py_VISIT(traverse_module_state->__pyx_kp_u__15); - Py_VISIT(traverse_module_state->__pyx_kp_u__2); - Py_VISIT(traverse_module_state->__pyx_n_s__22); - Py_VISIT(traverse_module_state->__pyx_kp_u__4); - Py_VISIT(traverse_module_state->__pyx_n_u__6); - Py_VISIT(traverse_module_state->__pyx_kp_u__8); - Py_VISIT(traverse_module_state->__pyx_kp_u__9); - Py_VISIT(traverse_module_state->__pyx_n_s_account_id); - Py_VISIT(traverse_module_state->__pyx_n_s_add_connection); - Py_VISIT(traverse_module_state->__pyx_n_s_add_payment); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_fsm_context); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_fsm_state); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_types); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_VISIT(traverse_module_state->__pyx_n_s_aiohttp); - Py_VISIT(traverse_module_state->__pyx_n_s_amount); - Py_VISIT(traverse_module_state->__pyx_n_u_amount); - Py_VISIT(traverse_module_state->__pyx_kp_u_amount_2); - Py_VISIT(traverse_module_state->__pyx_n_s_amount_str); - Py_VISIT(traverse_module_state->__pyx_n_s_answer); - Py_VISIT(traverse_module_state->__pyx_n_s_args); - Py_VISIT(traverse_module_state->__pyx_n_s_as_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines); - Py_VISIT(traverse_module_state->__pyx_n_s_await); - Py_VISIT(traverse_module_state->__pyx_n_s_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_builder); - Py_VISIT(traverse_module_state->__pyx_n_s_calculated_hash); - Py_VISIT(traverse_module_state->__pyx_n_s_callback_data); - Py_VISIT(traverse_module_state->__pyx_n_u_callback_data); - Py_VISIT(traverse_module_state->__pyx_n_s_callback_query); - Py_VISIT(traverse_module_state->__pyx_n_s_chat); - Py_VISIT(traverse_module_state->__pyx_n_s_check_connection_exists); - Py_VISIT(traverse_module_state->__pyx_n_s_choosing_amount_yoomoney); - Py_VISIT(traverse_module_state->__pyx_n_s_class_getitem); - Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback); - Py_VISIT(traverse_module_state->__pyx_n_s_close); - Py_VISIT(traverse_module_state->__pyx_n_u_codepro); - Py_VISIT(traverse_module_state->__pyx_n_s_config); - Py_VISIT(traverse_module_state->__pyx_n_s_confirm_keyboard); - Py_VISIT(traverse_module_state->__pyx_n_u_currency); - Py_VISIT(traverse_module_state->__pyx_n_s_customer_id); - Py_VISIT(traverse_module_state->__pyx_n_s_data); - Py_VISIT(traverse_module_state->__pyx_n_s_database); - Py_VISIT(traverse_module_state->__pyx_n_u_datetime); - Py_VISIT(traverse_module_state->__pyx_n_s_debug); - Py_VISIT(traverse_module_state->__pyx_n_s_dict); - Py_VISIT(traverse_module_state->__pyx_kp_u_disable); - Py_VISIT(traverse_module_state->__pyx_n_s_doc); - Py_VISIT(traverse_module_state->__pyx_n_s_e); - Py_VISIT(traverse_module_state->__pyx_n_s_edit_or_send_message); - Py_VISIT(traverse_module_state->__pyx_kp_u_enable); - Py_VISIT(traverse_module_state->__pyx_n_u_enter_custom_amount_yoomoney); - Py_VISIT(traverse_module_state->__pyx_n_s_entering_custom_amount_yoomoney); - Py_VISIT(traverse_module_state->__pyx_n_s_error); - Py_VISIT(traverse_module_state->__pyx_n_s_exists); - Py_VISIT(traverse_module_state->__pyx_n_s_expected_hash); - Py_VISIT(traverse_module_state->__pyx_n_s_format); - Py_VISIT(traverse_module_state->__pyx_kp_u_gc); - Py_VISIT(traverse_module_state->__pyx_n_s_get); - Py_VISIT(traverse_module_state->__pyx_n_s_get_key_count); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_buttons); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_gift); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_utils); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_yoomoney_pay); - Py_VISIT(traverse_module_state->__pyx_kp_s_handlers_payments_yoomoney_pay_p); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_texts); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_utils); - Py_VISIT(traverse_module_state->__pyx_n_s_hashlib); - Py_VISIT(traverse_module_state->__pyx_n_s_hexdigest); - Py_VISIT(traverse_module_state->__pyx_kp_u_https_yoomoney_ru_quickpay_confi); - Py_VISIT(traverse_module_state->__pyx_n_s_i); - Py_VISIT(traverse_module_state->__pyx_n_s_id); - Py_VISIT(traverse_module_state->__pyx_n_s_import); - Py_VISIT(traverse_module_state->__pyx_n_s_init_subclass); - Py_VISIT(traverse_module_state->__pyx_n_s_initializing); - Py_VISIT(traverse_module_state->__pyx_n_s_inline_keyboard); - Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine); - Py_VISIT(traverse_module_state->__pyx_n_s_isdigit); - Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled); - Py_VISIT(traverse_module_state->__pyx_n_s_key_count); - Py_VISIT(traverse_module_state->__pyx_n_u_label); - Py_VISIT(traverse_module_state->__pyx_n_s_logger); - Py_VISIT(traverse_module_state->__pyx_n_s_main); - Py_VISIT(traverse_module_state->__pyx_n_s_message); - Py_VISIT(traverse_module_state->__pyx_n_s_metaclass); - Py_VISIT(traverse_module_state->__pyx_n_s_module); - Py_VISIT(traverse_module_state->__pyx_n_s_mro_entries); - Py_VISIT(traverse_module_state->__pyx_n_s_name); - Py_VISIT(traverse_module_state->__pyx_n_s_notification_secret); - Py_VISIT(traverse_module_state->__pyx_n_u_notification_type); - Py_VISIT(traverse_module_state->__pyx_n_u_operation_id); - Py_VISIT(traverse_module_state->__pyx_n_u_pay); - Py_VISIT(traverse_module_state->__pyx_n_u_pay_yoomoney); - Py_VISIT(traverse_module_state->__pyx_kp_u_paymentType_PC_comment_label); - Py_VISIT(traverse_module_state->__pyx_n_s_payment_url); - Py_VISIT(traverse_module_state->__pyx_n_s_post); - Py_VISIT(traverse_module_state->__pyx_n_s_prepare); - Py_VISIT(traverse_module_state->__pyx_n_s_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_n_s_process_callback_pay_yoomoney); - Py_VISIT(traverse_module_state->__pyx_n_s_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_n_s_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_qualname); - Py_VISIT(traverse_module_state->__pyx_kp_u_quickpay_form_shop_targets_sum); - Py_VISIT(traverse_module_state->__pyx_n_s_range); - Py_VISIT(traverse_module_state->__pyx_n_s_reply_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_request); - Py_VISIT(traverse_module_state->__pyx_n_s_router); - Py_VISIT(traverse_module_state->__pyx_n_s_row); - Py_VISIT(traverse_module_state->__pyx_n_s_send); - Py_VISIT(traverse_module_state->__pyx_n_s_send_payment_success_notificatio); - Py_VISIT(traverse_module_state->__pyx_n_u_sender); - Py_VISIT(traverse_module_state->__pyx_n_s_session); - Py_VISIT(traverse_module_state->__pyx_n_s_set_name); - Py_VISIT(traverse_module_state->__pyx_n_s_set_state); - Py_VISIT(traverse_module_state->__pyx_n_s_sha1); - Py_VISIT(traverse_module_state->__pyx_n_s_sha1_hash); - Py_VISIT(traverse_module_state->__pyx_n_u_sha1_hash); - Py_VISIT(traverse_module_state->__pyx_kp_u_solonet_sup); - Py_VISIT(traverse_module_state->__pyx_n_s_spec); - Py_VISIT(traverse_module_state->__pyx_n_s_split); - Py_VISIT(traverse_module_state->__pyx_n_s_startswith); - Py_VISIT(traverse_module_state->__pyx_n_s_state); - Py_VISIT(traverse_module_state->__pyx_n_s_status); - Py_VISIT(traverse_module_state->__pyx_n_s_string_to_hash); - Py_VISIT(traverse_module_state->__pyx_n_s_super); - Py_VISIT(traverse_module_state->__pyx_n_s_test); - Py_VISIT(traverse_module_state->__pyx_n_s_text); - Py_VISIT(traverse_module_state->__pyx_n_u_text); - Py_VISIT(traverse_module_state->__pyx_n_s_tg_id); - Py_VISIT(traverse_module_state->__pyx_n_s_throw); - Py_VISIT(traverse_module_state->__pyx_n_s_trial); - Py_VISIT(traverse_module_state->__pyx_n_s_types); - Py_VISIT(traverse_module_state->__pyx_kp_s_types_CallbackQuery); - Py_VISIT(traverse_module_state->__pyx_kp_s_types_Message); - Py_VISIT(traverse_module_state->__pyx_n_s_typing); - Py_VISIT(traverse_module_state->__pyx_n_s_update_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_update_data); - Py_VISIT(traverse_module_state->__pyx_n_s_url); - Py_VISIT(traverse_module_state->__pyx_n_s_user_id); - Py_VISIT(traverse_module_state->__pyx_kp_u_user_id_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_user_id_str); - Py_VISIT(traverse_module_state->__pyx_n_s_waiting_for_payment_confirmation); - Py_VISIT(traverse_module_state->__pyx_n_s_web); - Py_VISIT(traverse_module_state->__pyx_kp_s_web_Request); - Py_VISIT(traverse_module_state->__pyx_n_s_web_app); - Py_VISIT(traverse_module_state->__pyx_n_u_withdraw_amount); - Py_VISIT(traverse_module_state->__pyx_n_u_yoomoney); - Py_VISIT(traverse_module_state->__pyx_n_u_yoomoney_2); - Py_VISIT(traverse_module_state->__pyx_n_u_yoomoney_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_yoomoney_webhook); - Py_VISIT(traverse_module_state->__pyx_float_0_0); - Py_VISIT(traverse_module_state->__pyx_int_0); - Py_VISIT(traverse_module_state->__pyx_int_1); - Py_VISIT(traverse_module_state->__pyx_int_2); - Py_VISIT(traverse_module_state->__pyx_int_200); - Py_VISIT(traverse_module_state->__pyx_int_400); - Py_VISIT(traverse_module_state->__pyx_codeobj_); - Py_VISIT(traverse_module_state->__pyx_tuple__5); - Py_VISIT(traverse_module_state->__pyx_tuple__16); - Py_VISIT(traverse_module_state->__pyx_tuple__17); - Py_VISIT(traverse_module_state->__pyx_tuple__18); - Py_VISIT(traverse_module_state->__pyx_tuple__19); - Py_VISIT(traverse_module_state->__pyx_tuple__20); - Py_VISIT(traverse_module_state->__pyx_tuple__21); - Py_VISIT(traverse_module_state->__pyx_codeobj__3); - Py_VISIT(traverse_module_state->__pyx_codeobj__7); - Py_VISIT(traverse_module_state->__pyx_codeobj__10); - Py_VISIT(traverse_module_state->__pyx_codeobj__11); - return 0; -} -#endif -/* #### Code section: module_state_defines ### */ -#define __pyx_d __pyx_mstate_global->__pyx_d -#define __pyx_b __pyx_mstate_global->__pyx_b -#define __pyx_cython_runtime __pyx_mstate_global->__pyx_cython_runtime -#define __pyx_empty_tuple __pyx_mstate_global->__pyx_empty_tuple -#define __pyx_empty_bytes __pyx_mstate_global->__pyx_empty_bytes -#define __pyx_empty_unicode __pyx_mstate_global->__pyx_empty_unicode -#ifdef __Pyx_CyFunction_USED -#define __pyx_CyFunctionType __pyx_mstate_global->__pyx_CyFunctionType -#endif -#ifdef __Pyx_FusedFunction_USED -#define __pyx_FusedFunctionType __pyx_mstate_global->__pyx_FusedFunctionType -#endif -#ifdef __Pyx_Generator_USED -#define __pyx_GeneratorType __pyx_mstate_global->__pyx_GeneratorType -#endif -#ifdef __Pyx_IterableCoroutine_USED -#define __pyx_IterableCoroutineType __pyx_mstate_global->__pyx_IterableCoroutineType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineAwaitType __pyx_mstate_global->__pyx_CoroutineAwaitType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineType __pyx_mstate_global->__pyx_CoroutineType -#endif -#if CYTHON_USE_MODULE_STATE -#define __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney __pyx_mstate_global->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney -#define __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection __pyx_mstate_global->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection -#define __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook __pyx_mstate_global->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook -#define __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount __pyx_mstate_global->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount -#define __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input __pyx_mstate_global->__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input -#endif -#define __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney -#define __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection -#define __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook -#define __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount -#define __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input -#define __pyx_n_s_AMOUNT_TEXT __pyx_mstate_global->__pyx_n_s_AMOUNT_TEXT -#define __pyx_kp_u_Account_ID __pyx_mstate_global->__pyx_kp_u_Account_ID -#define __pyx_n_s_Any __pyx_mstate_global->__pyx_n_s_Any -#define __pyx_n_s_BACK __pyx_mstate_global->__pyx_n_s_BACK -#define __pyx_n_s_CUSTOM_AMOUNT __pyx_mstate_global->__pyx_n_s_CUSTOM_AMOUNT -#define __pyx_n_s_DEFAULT_PAYMENT_MESSAGE __pyx_mstate_global->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE -#define __pyx_n_s_ENTER_SUM __pyx_mstate_global->__pyx_n_s_ENTER_SUM -#define __pyx_n_s_F __pyx_mstate_global->__pyx_n_s_F -#define __pyx_n_s_FSMContext __pyx_mstate_global->__pyx_n_s_FSMContext -#define __pyx_n_u_HASHHASHYOOKASSA __pyx_mstate_global->__pyx_n_u_HASHHASHYOOKASSA -#define __pyx_n_s_InlineKeyboardBuilder __pyx_mstate_global->__pyx_n_s_InlineKeyboardBuilder -#define __pyx_n_s_InlineKeyboardButton __pyx_mstate_global->__pyx_n_s_InlineKeyboardButton -#define __pyx_n_s_InlineKeyboardMarkup __pyx_mstate_global->__pyx_n_s_InlineKeyboardMarkup -#define __pyx_n_s_PAY __pyx_mstate_global->__pyx_n_s_PAY -#define __pyx_n_s_PAYMENT_OPTIONS __pyx_mstate_global->__pyx_n_s_PAYMENT_OPTIONS -#define __pyx_kp_u_Payment_succeeded_for_user_id __pyx_mstate_global->__pyx_kp_u_Payment_succeeded_for_user_id -#define __pyx_n_s_ReplenishBalanceState __pyx_mstate_global->__pyx_n_s_ReplenishBalanceState -#define __pyx_n_s_Response __pyx_mstate_global->__pyx_n_s_Response -#define __pyx_n_s_Router __pyx_mstate_global->__pyx_n_s_Router -#define __pyx_n_s_State __pyx_mstate_global->__pyx_n_s_State -#define __pyx_n_s_StatesGroup __pyx_mstate_global->__pyx_n_s_StatesGroup -#define __pyx_n_s_ValueError __pyx_mstate_global->__pyx_n_s_ValueError -#define __pyx_n_s_WebAppInfo __pyx_mstate_global->__pyx_n_s_WebAppInfo -#define __pyx_kp_u_Webhook_event_received __pyx_mstate_global->__pyx_kp_u_Webhook_event_received -#define __pyx_n_s_YOOKASSA_HASH __pyx_mstate_global->__pyx_n_s_YOOKASSA_HASH -#define __pyx_n_s_YOOMONEY_ENABLE __pyx_mstate_global->__pyx_n_s_YOOMONEY_ENABLE -#define __pyx_n_s_YOOMONEY_ID __pyx_mstate_global->__pyx_n_s_YOOMONEY_ID -#define __pyx_n_s_YOOMONEY_SECRET_KEY __pyx_mstate_global->__pyx_n_s_YOOMONEY_SECRET_KEY -#define __pyx_kp_u__12 __pyx_mstate_global->__pyx_kp_u__12 -#define __pyx_kp_u__13 __pyx_mstate_global->__pyx_kp_u__13 -#define __pyx_n_s__14 __pyx_mstate_global->__pyx_n_s__14 -#define __pyx_kp_u__15 __pyx_mstate_global->__pyx_kp_u__15 -#define __pyx_kp_u__2 __pyx_mstate_global->__pyx_kp_u__2 -#define __pyx_n_s__22 __pyx_mstate_global->__pyx_n_s__22 -#define __pyx_kp_u__4 __pyx_mstate_global->__pyx_kp_u__4 -#define __pyx_n_u__6 __pyx_mstate_global->__pyx_n_u__6 -#define __pyx_kp_u__8 __pyx_mstate_global->__pyx_kp_u__8 -#define __pyx_kp_u__9 __pyx_mstate_global->__pyx_kp_u__9 -#define __pyx_n_s_account_id __pyx_mstate_global->__pyx_n_s_account_id -#define __pyx_n_s_add_connection __pyx_mstate_global->__pyx_n_s_add_connection -#define __pyx_n_s_add_payment __pyx_mstate_global->__pyx_n_s_add_payment -#define __pyx_n_s_aiogram __pyx_mstate_global->__pyx_n_s_aiogram -#define __pyx_n_s_aiogram_fsm_context __pyx_mstate_global->__pyx_n_s_aiogram_fsm_context -#define __pyx_n_s_aiogram_fsm_state __pyx_mstate_global->__pyx_n_s_aiogram_fsm_state -#define __pyx_n_s_aiogram_types __pyx_mstate_global->__pyx_n_s_aiogram_types -#define __pyx_n_s_aiogram_utils_keyboard __pyx_mstate_global->__pyx_n_s_aiogram_utils_keyboard -#define __pyx_n_s_aiohttp __pyx_mstate_global->__pyx_n_s_aiohttp -#define __pyx_n_s_amount __pyx_mstate_global->__pyx_n_s_amount -#define __pyx_n_u_amount __pyx_mstate_global->__pyx_n_u_amount -#define __pyx_kp_u_amount_2 __pyx_mstate_global->__pyx_kp_u_amount_2 -#define __pyx_n_s_amount_str __pyx_mstate_global->__pyx_n_s_amount_str -#define __pyx_n_s_answer __pyx_mstate_global->__pyx_n_s_answer -#define __pyx_n_s_args __pyx_mstate_global->__pyx_n_s_args -#define __pyx_n_s_as_markup __pyx_mstate_global->__pyx_n_s_as_markup -#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines -#define __pyx_n_s_await __pyx_mstate_global->__pyx_n_s_await -#define __pyx_n_s_balance __pyx_mstate_global->__pyx_n_s_balance -#define __pyx_n_s_builder __pyx_mstate_global->__pyx_n_s_builder -#define __pyx_n_s_calculated_hash __pyx_mstate_global->__pyx_n_s_calculated_hash -#define __pyx_n_s_callback_data __pyx_mstate_global->__pyx_n_s_callback_data -#define __pyx_n_u_callback_data __pyx_mstate_global->__pyx_n_u_callback_data -#define __pyx_n_s_callback_query __pyx_mstate_global->__pyx_n_s_callback_query -#define __pyx_n_s_chat __pyx_mstate_global->__pyx_n_s_chat -#define __pyx_n_s_check_connection_exists __pyx_mstate_global->__pyx_n_s_check_connection_exists -#define __pyx_n_s_choosing_amount_yoomoney __pyx_mstate_global->__pyx_n_s_choosing_amount_yoomoney -#define __pyx_n_s_class_getitem __pyx_mstate_global->__pyx_n_s_class_getitem -#define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback -#define __pyx_n_s_close __pyx_mstate_global->__pyx_n_s_close -#define __pyx_n_u_codepro __pyx_mstate_global->__pyx_n_u_codepro -#define __pyx_n_s_config __pyx_mstate_global->__pyx_n_s_config -#define __pyx_n_s_confirm_keyboard __pyx_mstate_global->__pyx_n_s_confirm_keyboard -#define __pyx_n_u_currency __pyx_mstate_global->__pyx_n_u_currency -#define __pyx_n_s_customer_id __pyx_mstate_global->__pyx_n_s_customer_id -#define __pyx_n_s_data __pyx_mstate_global->__pyx_n_s_data -#define __pyx_n_s_database __pyx_mstate_global->__pyx_n_s_database -#define __pyx_n_u_datetime __pyx_mstate_global->__pyx_n_u_datetime -#define __pyx_n_s_debug __pyx_mstate_global->__pyx_n_s_debug -#define __pyx_n_s_dict __pyx_mstate_global->__pyx_n_s_dict -#define __pyx_kp_u_disable __pyx_mstate_global->__pyx_kp_u_disable -#define __pyx_n_s_doc __pyx_mstate_global->__pyx_n_s_doc -#define __pyx_n_s_e __pyx_mstate_global->__pyx_n_s_e -#define __pyx_n_s_edit_or_send_message __pyx_mstate_global->__pyx_n_s_edit_or_send_message -#define __pyx_kp_u_enable __pyx_mstate_global->__pyx_kp_u_enable -#define __pyx_n_u_enter_custom_amount_yoomoney __pyx_mstate_global->__pyx_n_u_enter_custom_amount_yoomoney -#define __pyx_n_s_entering_custom_amount_yoomoney __pyx_mstate_global->__pyx_n_s_entering_custom_amount_yoomoney -#define __pyx_n_s_error __pyx_mstate_global->__pyx_n_s_error -#define __pyx_n_s_exists __pyx_mstate_global->__pyx_n_s_exists -#define __pyx_n_s_expected_hash __pyx_mstate_global->__pyx_n_s_expected_hash -#define __pyx_n_s_format __pyx_mstate_global->__pyx_n_s_format -#define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc -#define __pyx_n_s_get __pyx_mstate_global->__pyx_n_s_get -#define __pyx_n_s_get_key_count __pyx_mstate_global->__pyx_n_s_get_key_count -#define __pyx_n_s_handlers_buttons __pyx_mstate_global->__pyx_n_s_handlers_buttons -#define __pyx_n_s_handlers_payments_gift __pyx_mstate_global->__pyx_n_s_handlers_payments_gift -#define __pyx_n_s_handlers_payments_utils __pyx_mstate_global->__pyx_n_s_handlers_payments_utils -#define __pyx_n_s_handlers_payments_yoomoney_pay __pyx_mstate_global->__pyx_n_s_handlers_payments_yoomoney_pay -#define __pyx_kp_s_handlers_payments_yoomoney_pay_p __pyx_mstate_global->__pyx_kp_s_handlers_payments_yoomoney_pay_p -#define __pyx_n_s_handlers_texts __pyx_mstate_global->__pyx_n_s_handlers_texts -#define __pyx_n_s_handlers_utils __pyx_mstate_global->__pyx_n_s_handlers_utils -#define __pyx_n_s_hashlib __pyx_mstate_global->__pyx_n_s_hashlib -#define __pyx_n_s_hexdigest __pyx_mstate_global->__pyx_n_s_hexdigest -#define __pyx_kp_u_https_yoomoney_ru_quickpay_confi __pyx_mstate_global->__pyx_kp_u_https_yoomoney_ru_quickpay_confi -#define __pyx_n_s_i __pyx_mstate_global->__pyx_n_s_i -#define __pyx_n_s_id __pyx_mstate_global->__pyx_n_s_id -#define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import -#define __pyx_n_s_init_subclass __pyx_mstate_global->__pyx_n_s_init_subclass -#define __pyx_n_s_initializing __pyx_mstate_global->__pyx_n_s_initializing -#define __pyx_n_s_inline_keyboard __pyx_mstate_global->__pyx_n_s_inline_keyboard -#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine -#define __pyx_n_s_isdigit __pyx_mstate_global->__pyx_n_s_isdigit -#define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled -#define __pyx_n_s_key_count __pyx_mstate_global->__pyx_n_s_key_count -#define __pyx_n_u_label __pyx_mstate_global->__pyx_n_u_label -#define __pyx_n_s_logger __pyx_mstate_global->__pyx_n_s_logger -#define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main -#define __pyx_n_s_message __pyx_mstate_global->__pyx_n_s_message -#define __pyx_n_s_metaclass __pyx_mstate_global->__pyx_n_s_metaclass -#define __pyx_n_s_module __pyx_mstate_global->__pyx_n_s_module -#define __pyx_n_s_mro_entries __pyx_mstate_global->__pyx_n_s_mro_entries -#define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name -#define __pyx_n_s_notification_secret __pyx_mstate_global->__pyx_n_s_notification_secret -#define __pyx_n_u_notification_type __pyx_mstate_global->__pyx_n_u_notification_type -#define __pyx_n_u_operation_id __pyx_mstate_global->__pyx_n_u_operation_id -#define __pyx_n_u_pay __pyx_mstate_global->__pyx_n_u_pay -#define __pyx_n_u_pay_yoomoney __pyx_mstate_global->__pyx_n_u_pay_yoomoney -#define __pyx_kp_u_paymentType_PC_comment_label __pyx_mstate_global->__pyx_kp_u_paymentType_PC_comment_label -#define __pyx_n_s_payment_url __pyx_mstate_global->__pyx_n_s_payment_url -#define __pyx_n_s_post __pyx_mstate_global->__pyx_n_s_post -#define __pyx_n_s_prepare __pyx_mstate_global->__pyx_n_s_prepare -#define __pyx_n_s_process_amount_selection __pyx_mstate_global->__pyx_n_s_process_amount_selection -#define __pyx_n_s_process_callback_pay_yoomoney __pyx_mstate_global->__pyx_n_s_process_callback_pay_yoomoney -#define __pyx_n_s_process_custom_amount_input __pyx_mstate_global->__pyx_n_s_process_custom_amount_input -#define __pyx_n_s_process_enter_custom_amount __pyx_mstate_global->__pyx_n_s_process_enter_custom_amount -#define __pyx_n_s_qualname __pyx_mstate_global->__pyx_n_s_qualname -#define __pyx_kp_u_quickpay_form_shop_targets_sum __pyx_mstate_global->__pyx_kp_u_quickpay_form_shop_targets_sum -#define __pyx_n_s_range __pyx_mstate_global->__pyx_n_s_range -#define __pyx_n_s_reply_markup __pyx_mstate_global->__pyx_n_s_reply_markup -#define __pyx_n_s_request __pyx_mstate_global->__pyx_n_s_request -#define __pyx_n_s_router __pyx_mstate_global->__pyx_n_s_router -#define __pyx_n_s_row __pyx_mstate_global->__pyx_n_s_row -#define __pyx_n_s_send __pyx_mstate_global->__pyx_n_s_send -#define __pyx_n_s_send_payment_success_notificatio __pyx_mstate_global->__pyx_n_s_send_payment_success_notificatio -#define __pyx_n_u_sender __pyx_mstate_global->__pyx_n_u_sender -#define __pyx_n_s_session __pyx_mstate_global->__pyx_n_s_session -#define __pyx_n_s_set_name __pyx_mstate_global->__pyx_n_s_set_name -#define __pyx_n_s_set_state __pyx_mstate_global->__pyx_n_s_set_state -#define __pyx_n_s_sha1 __pyx_mstate_global->__pyx_n_s_sha1 -#define __pyx_n_s_sha1_hash __pyx_mstate_global->__pyx_n_s_sha1_hash -#define __pyx_n_u_sha1_hash __pyx_mstate_global->__pyx_n_u_sha1_hash -#define __pyx_kp_u_solonet_sup __pyx_mstate_global->__pyx_kp_u_solonet_sup -#define __pyx_n_s_spec __pyx_mstate_global->__pyx_n_s_spec -#define __pyx_n_s_split __pyx_mstate_global->__pyx_n_s_split -#define __pyx_n_s_startswith __pyx_mstate_global->__pyx_n_s_startswith -#define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state -#define __pyx_n_s_status __pyx_mstate_global->__pyx_n_s_status -#define __pyx_n_s_string_to_hash __pyx_mstate_global->__pyx_n_s_string_to_hash -#define __pyx_n_s_super __pyx_mstate_global->__pyx_n_s_super -#define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test -#define __pyx_n_s_text __pyx_mstate_global->__pyx_n_s_text -#define __pyx_n_u_text __pyx_mstate_global->__pyx_n_u_text -#define __pyx_n_s_tg_id __pyx_mstate_global->__pyx_n_s_tg_id -#define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw -#define __pyx_n_s_trial __pyx_mstate_global->__pyx_n_s_trial -#define __pyx_n_s_types __pyx_mstate_global->__pyx_n_s_types -#define __pyx_kp_s_types_CallbackQuery __pyx_mstate_global->__pyx_kp_s_types_CallbackQuery -#define __pyx_kp_s_types_Message __pyx_mstate_global->__pyx_kp_s_types_Message -#define __pyx_n_s_typing __pyx_mstate_global->__pyx_n_s_typing -#define __pyx_n_s_update_balance __pyx_mstate_global->__pyx_n_s_update_balance -#define __pyx_n_s_update_data __pyx_mstate_global->__pyx_n_s_update_data -#define __pyx_n_s_url __pyx_mstate_global->__pyx_n_s_url -#define __pyx_n_s_user_id __pyx_mstate_global->__pyx_n_s_user_id -#define __pyx_kp_u_user_id_amount __pyx_mstate_global->__pyx_kp_u_user_id_amount -#define __pyx_n_s_user_id_str __pyx_mstate_global->__pyx_n_s_user_id_str -#define __pyx_n_s_waiting_for_payment_confirmation __pyx_mstate_global->__pyx_n_s_waiting_for_payment_confirmation -#define __pyx_n_s_web __pyx_mstate_global->__pyx_n_s_web -#define __pyx_kp_s_web_Request __pyx_mstate_global->__pyx_kp_s_web_Request -#define __pyx_n_s_web_app __pyx_mstate_global->__pyx_n_s_web_app -#define __pyx_n_u_withdraw_amount __pyx_mstate_global->__pyx_n_u_withdraw_amount -#define __pyx_n_u_yoomoney __pyx_mstate_global->__pyx_n_u_yoomoney -#define __pyx_n_u_yoomoney_2 __pyx_mstate_global->__pyx_n_u_yoomoney_2 -#define __pyx_n_u_yoomoney_amount __pyx_mstate_global->__pyx_n_u_yoomoney_amount -#define __pyx_n_s_yoomoney_webhook __pyx_mstate_global->__pyx_n_s_yoomoney_webhook -#define __pyx_float_0_0 __pyx_mstate_global->__pyx_float_0_0 -#define __pyx_int_0 __pyx_mstate_global->__pyx_int_0 -#define __pyx_int_1 __pyx_mstate_global->__pyx_int_1 -#define __pyx_int_2 __pyx_mstate_global->__pyx_int_2 -#define __pyx_int_200 __pyx_mstate_global->__pyx_int_200 -#define __pyx_int_400 __pyx_mstate_global->__pyx_int_400 -#define __pyx_codeobj_ __pyx_mstate_global->__pyx_codeobj_ -#define __pyx_tuple__5 __pyx_mstate_global->__pyx_tuple__5 -#define __pyx_tuple__16 __pyx_mstate_global->__pyx_tuple__16 -#define __pyx_tuple__17 __pyx_mstate_global->__pyx_tuple__17 -#define __pyx_tuple__18 __pyx_mstate_global->__pyx_tuple__18 -#define __pyx_tuple__19 __pyx_mstate_global->__pyx_tuple__19 -#define __pyx_tuple__20 __pyx_mstate_global->__pyx_tuple__20 -#define __pyx_tuple__21 __pyx_mstate_global->__pyx_tuple__21 -#define __pyx_codeobj__3 __pyx_mstate_global->__pyx_codeobj__3 -#define __pyx_codeobj__7 __pyx_mstate_global->__pyx_codeobj__7 -#define __pyx_codeobj__10 __pyx_mstate_global->__pyx_codeobj__10 -#define __pyx_codeobj__11 __pyx_mstate_global->__pyx_codeobj__11 -/* #### Code section: module_code ### */ -static PyObject *__pyx_gb_8handlers_8payments_12yoomoney_pay_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yoomoney_pay_1process_callback_pay_yoomoney(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_12yoomoney_pay_1process_callback_pay_yoomoney = {"process_callback_pay_yoomoney", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yoomoney_pay_1process_callback_pay_yoomoney, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_12yoomoney_pay_1process_callback_pay_yoomoney(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_callback_pay_yoomoney (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 42, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 42, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_callback_pay_yoomoney", 1, 3, 3, 1); __PYX_ERR(0, 42, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 42, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_callback_pay_yoomoney", 1, 3, 3, 2); __PYX_ERR(0, 42, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_callback_pay_yoomoney") < 0)) __PYX_ERR(0, 42, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - __pyx_v_session = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_callback_pay_yoomoney", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 42, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.process_callback_pay_yoomoney", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_12yoomoney_pay_process_callback_pay_yoomoney(__pyx_self, __pyx_v_callback_query, __pyx_v_state, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yoomoney_pay_process_callback_pay_yoomoney(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_callback_pay_yoomoney", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney *)__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney(__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 42, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yoomoney_pay_2generator, __pyx_codeobj_, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_callback_pay_yoomoney, __pyx_n_s_process_callback_pay_yoomoney, __pyx_n_s_handlers_payments_yoomoney_pay); if (unlikely(!gen)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.process_callback_pay_yoomoney", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yoomoney_pay_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - unsigned int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - Py_ssize_t __pyx_t_7; - PyObject *(*__pyx_t_8)(PyObject *); - Py_ssize_t __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_callback_pay_yoomoney", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L5_resume_from_await; - case 2: goto __pyx_L10_resume_from_await; - case 3: goto __pyx_L12_resume_from_await; - case 4: goto __pyx_L14_resume_from_await; - case 5: goto __pyx_L15_resume_from_await; - case 6: goto __pyx_L16_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 42, __pyx_L1_error) - - __Pyx_INCREF(__pyx_n_u_HASHHASHYOOKASSA); - __Pyx_GIVEREF(__pyx_n_u_HASHHASHYOOKASSA); - __pyx_cur_scope->__pyx_v_expected_hash = __pyx_n_u_HASHHASHYOOKASSA; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_YOOKASSA_HASH); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_cur_scope->__pyx_v_expected_hash, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 48, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 49, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 49, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__2}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 49, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4)) __PYX_ERR(0, 50, __pyx_L1_error); - __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_text, __pyx_kp_u_solonet_sup) < 0) __PYX_ERR(0, 52, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_reply_markup, Py_None) < 0) __PYX_ERR(0, 52, __pyx_L1_error) - - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 50, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 50, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_chat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_id); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 57, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_tg_id = __pyx_t_6; - __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 59, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 59, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_GIVEREF(__pyx_t_6); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_6; - __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0)) __PYX_ERR(0, 61, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_6)) __PYX_ERR(0, 61, __pyx_L1_error); - __Pyx_INCREF(__pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2)) __PYX_ERR(0, 61, __pyx_L1_error); - __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { - __pyx_t_4 = __pyx_t_6; __Pyx_INCREF(__pyx_t_4); - __pyx_t_7 = 0; - __pyx_t_8 = NULL; - } else { - __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 61, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - for (;;) { - if (likely(!__pyx_t_8)) { - if (likely(PyList_CheckExact(__pyx_t_4))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 61, __pyx_L1_error) - #endif - if (__pyx_t_7 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 61, __pyx_L1_error) - #else - __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - #endif - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 61, __pyx_L1_error) - #endif - if (__pyx_t_7 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 61, __pyx_L1_error) - #else - __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - #endif - } - } else { - __pyx_t_6 = __pyx_t_8(__pyx_t_4); - if (unlikely(!__pyx_t_6)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 61, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_6); - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_i); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_i, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_9 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_6, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 63, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - - __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_text); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_n_u_yoomoney, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 66, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_callback_data, __pyx_t_11) < 0) __PYX_ERR(0, 65, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_Dict_GetItem(__pyx_t_14, __pyx_n_u_text); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_text, __pyx_t_13) < 0) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_14, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyUnicode_Concat(__pyx_n_u_yoomoney, __pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_data, __pyx_t_14) < 0) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 68, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_11, __pyx_t_14}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 63, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - goto __pyx_L8; - } - - /*else*/ { - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 75, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - - __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_text); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_t_6) < 0) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_t_6, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_n_u_yoomoney, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_callback_data, __pyx_t_6) < 0) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 75, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_6}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_L8:; - - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_CUSTOM_AMOUNT); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 82, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_data, __pyx_n_u_enter_custom_amount_yoomoney) < 0) __PYX_ERR(0, 82, __pyx_L1_error) - - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_11}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_BACK); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_text, __pyx_t_3) < 0) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 86, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_3}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_tg_id}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L10_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 88, __pyx_L1_error) - __pyx_t_4 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_4); - } else { - __pyx_t_4 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_4) < 0) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_key_count = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_2 = (__Pyx_PyInt_BoolEqObjC(__pyx_cur_scope->__pyx_v_key_count, __pyx_int_0, 0, 0)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 90, __pyx_L1_error) - if (__pyx_t_2) { - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_tg_id}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L12_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 91, __pyx_L1_error) - __pyx_t_4 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_4); - } else { - __pyx_t_4 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_4) < 0) __PYX_ERR(0, 91, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_exists = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_exists); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 92, __pyx_L1_error) - __pyx_t_15 = (!__pyx_t_2); - if (__pyx_t_15) { - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_tg_id); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_tg_id); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_cur_scope->__pyx_v_tg_id)) __PYX_ERR(0, 93, __pyx_L1_error); - __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_balance, __pyx_float_0_0) < 0) __PYX_ERR(0, 93, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_trial, __pyx_int_0) < 0) __PYX_ERR(0, 93, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_session, __pyx_cur_scope->__pyx_v_session) < 0) __PYX_ERR(0, 93, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L14_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 93, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 93, __pyx_L1_error) - } - } - - } - - } - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error); - __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_AMOUNT_TEXT); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_4) < 0) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 98, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_14 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_14)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_14); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_14, NULL}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 98, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_reply_markup, __pyx_t_4) < 0) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L15_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 95, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 95, __pyx_L1_error) - } - } - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_choosing_amount_yoomoney); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_6}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 6; - return __pyx_r; - __pyx_L16_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 101, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 101, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("process_callback_pay_yoomoney", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_12yoomoney_pay_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yoomoney_pay_4process_amount_selection(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_12yoomoney_pay_4process_amount_selection = {"process_amount_selection", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yoomoney_pay_4process_amount_selection, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_12yoomoney_pay_4process_amount_selection(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_amount_selection (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 106, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 106, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, 1); __PYX_ERR(0, 106, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_amount_selection") < 0)) __PYX_ERR(0, 106, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 106, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_12yoomoney_pay_3process_amount_selection(__pyx_self, __pyx_v_callback_query, __pyx_v_state); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yoomoney_pay_3process_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state) { - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_amount_selection", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection *)__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection(__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 106, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yoomoney_pay_5generator1, __pyx_codeobj__3, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_amount_selection, __pyx_n_s_process_amount_selection, __pyx_n_s_handlers_payments_yoomoney_pay); if (unlikely(!gen)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yoomoney_pay_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - unsigned int __pyx_t_11; - Py_UCS4 __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_amount_selection", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L13_resume_from_await; - case 2: goto __pyx_L14_resume_from_await; - case 3: goto __pyx_L15_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 106, __pyx_L1_error) - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_data = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = PyObject_Length(__pyx_cur_scope->__pyx_v_data); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 112, __pyx_L1_error) - __pyx_t_4 = (__pyx_t_3 != 2); - if (__pyx_t_4) { - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_data, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_amount_str = __pyx_t_1; - __pyx_t_1 = 0; - - { - __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - /*try:*/ { - - __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_amount = __pyx_t_1; - __pyx_t_1 = 0; - - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L10_try_end; - __pyx_L5_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError); - if (__pyx_t_8) { - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_9) < 0) __PYX_ERR(0, 118, __pyx_L7_except_error) - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_9); - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L8_except_return; - } - goto __pyx_L7_except_error; - - __pyx_L7_except_error:; - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); - goto __pyx_L1_error; - __pyx_L8_except_return:; - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); - goto __pyx_L0; - __pyx_L10_try_end:; - } - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 121, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L13_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 121, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 121, __pyx_L1_error) - } - } - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_10}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L14_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 122, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 122, __pyx_L1_error) - } - } - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_chat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_customer_id = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_YOOMONEY_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_account_id = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = 0; - __pyx_t_12 = 127; - __Pyx_INCREF(__pyx_kp_u_https_yoomoney_ru_quickpay_confi); - __pyx_t_3 += 50; - __Pyx_GIVEREF(__pyx_kp_u_https_yoomoney_ru_quickpay_confi); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_https_yoomoney_ru_quickpay_confi); - __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_account_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_12; - __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_INCREF(__pyx_kp_u_quickpay_form_shop_targets_sum); - __pyx_t_3 += 33; - __Pyx_GIVEREF(__pyx_kp_u_quickpay_form_shop_targets_sum); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u_quickpay_form_shop_targets_sum); - __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_12; - __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_INCREF(__pyx_kp_u_paymentType_PC_comment_label); - __pyx_t_12 = (65535 > __pyx_t_12) ? 65535 : __pyx_t_12; - __pyx_t_3 += 49; - __Pyx_GIVEREF(__pyx_kp_u_paymentType_PC_comment_label); - PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_kp_u_paymentType_PC_comment_label); - __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_customer_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_12; - __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_1, 6, __pyx_t_3, __pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_payment_url = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 130, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_text, __pyx_n_u__6) < 0) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_WebAppInfo); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_url, __pyx_cur_scope->__pyx_v_payment_url) < 0) __PYX_ERR(0, 132, __pyx_L1_error) - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_empty_tuple, __pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_web_app, __pyx_t_15) < 0) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyList_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GIVEREF(__pyx_t_15); - if (__Pyx_PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_15)) __PYX_ERR(0, 132, __pyx_L1_error); - __pyx_t_15 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_BACK); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_t_14) < 0) __PYX_ERR(0, 133, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 133, __pyx_L1_error) - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 133, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_14); - if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_14)) __PYX_ERR(0, 133, __pyx_L1_error); - __pyx_t_14 = 0; - - __pyx_t_14 = PyList_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_GIVEREF(__pyx_t_9); - if (__Pyx_PyList_SET_ITEM(__pyx_t_14, 0, __pyx_t_9)) __PYX_ERR(0, 131, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_10); - if (__Pyx_PyList_SET_ITEM(__pyx_t_14, 1, __pyx_t_10)) __PYX_ERR(0, 131, __pyx_L1_error); - __pyx_t_9 = 0; - __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_inline_keyboard, __pyx_t_14) < 0) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 130, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_v_confirm_keyboard = __pyx_t_14; - __pyx_t_14 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_1); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error); - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 139, __pyx_L1_error) - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_15) < 0) __PYX_ERR(0, 139, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_confirm_keyboard) < 0) __PYX_ERR(0, 139, __pyx_L1_error) - - __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_15); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L15_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 137, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 137, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_AddTraceback("process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_12yoomoney_pay_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yoomoney_pay_7yoomoney_webhook(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_12yoomoney_pay_7yoomoney_webhook = {"yoomoney_webhook", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yoomoney_pay_7yoomoney_webhook, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_12yoomoney_pay_7yoomoney_webhook(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_request = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("yoomoney_webhook (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_request,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_request)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 145, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "yoomoney_webhook") < 0)) __PYX_ERR(0, 145, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - } - __pyx_v_request = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("yoomoney_webhook", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 145, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.yoomoney_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_12yoomoney_pay_6yoomoney_webhook(__pyx_self, __pyx_v_request); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yoomoney_pay_6yoomoney_webhook(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_request) { - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("yoomoney_webhook", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook *)__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook(__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 145, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_request = __pyx_v_request; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_request); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_request); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yoomoney_pay_8generator2, __pyx_codeobj__7, (PyObject *) __pyx_cur_scope, __pyx_n_s_yoomoney_webhook, __pyx_n_s_yoomoney_webhook, __pyx_n_s_handlers_payments_yoomoney_pay); if (unlikely(!gen)) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.yoomoney_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yoomoney_pay_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - Py_ssize_t __pyx_t_6; - Py_UCS4 __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - double __pyx_t_13; - int __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - char const *__pyx_t_18; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("yoomoney_webhook", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - case 2: goto __pyx_L12_resume_from_await; - case 3: goto __pyx_L13_resume_from_await; - case 4: goto __pyx_L14_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 145, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_request, __pyx_n_s_post); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 146, __pyx_L1_error) - __pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1); - } else { - __pyx_t_1 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 146, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_data = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_data, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Webhook_event_received, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_label}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_user_id_str = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_withdraw_amount}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 150, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_amount_str = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_YOOMONEY_SECRET_KEY); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_notification_secret = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_sha1_hash}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_sha1_hash = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = 0; - __pyx_t_7 = 127; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_n_u_notification_type}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__8); - __pyx_t_6 += 1; - __Pyx_GIVEREF(__pyx_kp_u__8); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_kp_u__8); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_n_u_operation_id}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_3); - __pyx_t_3 = 0; - __Pyx_INCREF(__pyx_kp_u__8); - __pyx_t_6 += 1; - __Pyx_GIVEREF(__pyx_kp_u__8); - PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_kp_u__8); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_n_u_amount}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__8); - __pyx_t_6 += 1; - __Pyx_GIVEREF(__pyx_kp_u__8); - PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_kp_u__8); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_n_u_currency}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_1, 6, __pyx_t_3); - __pyx_t_3 = 0; - __Pyx_INCREF(__pyx_kp_u__8); - __pyx_t_6 += 1; - __Pyx_GIVEREF(__pyx_kp_u__8); - PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_kp_u__8); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_n_u_datetime}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_1, 8, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__8); - __pyx_t_6 += 1; - __Pyx_GIVEREF(__pyx_kp_u__8); - PyTuple_SET_ITEM(__pyx_t_1, 9, __pyx_kp_u__8); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_n_u_sender}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_1, 10, __pyx_t_3); - __pyx_t_3 = 0; - __Pyx_INCREF(__pyx_kp_u__8); - __pyx_t_6 += 1; - __Pyx_GIVEREF(__pyx_kp_u__8); - PyTuple_SET_ITEM(__pyx_t_1, 11, __pyx_kp_u__8); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_data, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_n_u_codepro}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_1, 12, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__8); - __pyx_t_6 += 1; - __Pyx_GIVEREF(__pyx_kp_u__8); - PyTuple_SET_ITEM(__pyx_t_1, 13, __pyx_kp_u__8); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_notification_secret, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_1, 14, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u__8); - __pyx_t_6 += 1; - __Pyx_GIVEREF(__pyx_kp_u__8); - PyTuple_SET_ITEM(__pyx_t_1, 15, __pyx_kp_u__8); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id_str, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_1, 16, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 17, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_string_to_hash = ((PyObject*)__pyx_t_5); - __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_hashlib); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sha1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyUnicode_AsUTF8String(__pyx_cur_scope->__pyx_v_string_to_hash); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_hexdigest); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 156, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_calculated_hash = __pyx_t_5; - __pyx_t_5 = 0; - - __pyx_t_5 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_calculated_hash, __pyx_cur_scope->__pyx_v_sha1_hash, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 158, __pyx_L1_error) - __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_9) { - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_error); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__9}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 159, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_web); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_Response); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 160, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L0; - - } - - { - __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - /*try:*/ { - - __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_user_id_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_user_id = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_13 = __Pyx_PyObject_AsDouble(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(__pyx_t_13 == ((double)((double)-1)) && PyErr_Occurred())) __PYX_ERR(0, 164, __pyx_L6_error) - __pyx_cur_scope->__pyx_v_amount = __pyx_t_13; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 165, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 165, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = 0; - __pyx_t_7 = 127; - __Pyx_INCREF(__pyx_kp_u_Payment_succeeded_for_user_id); - __pyx_t_6 += 31; - __Pyx_GIVEREF(__pyx_kp_u_Payment_succeeded_for_user_id); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_Payment_succeeded_for_user_id); - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); - __pyx_t_3 = 0; - __Pyx_INCREF(__pyx_kp_u_amount_2); - __pyx_t_6 += 10; - __Pyx_GIVEREF(__pyx_kp_u_amount_2); - PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u_amount_2); - __pyx_t_3 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 165, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) : __pyx_t_7; - __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8); - __Pyx_GIVEREF(__pyx_t_8); - PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_8); - __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_5, 4, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 165, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 165, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 166, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 166, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_5, __pyx_cur_scope->__pyx_v_user_id, __pyx_t_8, __pyx_n_u_yoomoney_2}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 166, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L12_resume_from_await:; - __pyx_t_10 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_12); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 166, __pyx_L6_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 166, __pyx_L6_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 167, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_cur_scope->__pyx_v_user_id, __pyx_t_8}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 167, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L13_resume_from_await:; - __pyx_t_10 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_12); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 167, __pyx_L6_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 167, __pyx_L6_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 168, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_cur_scope->__pyx_v_user_id, __pyx_t_8}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 168, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_12; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L14_resume_from_await:; - __pyx_t_10 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_11); - __pyx_t_12 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_12); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 168, __pyx_L6_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 168, __pyx_L6_error) - } - } - - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - goto __pyx_L11_try_end; - __pyx_L6_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - - __pyx_t_14 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError); - if (__pyx_t_14) { - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.yoomoney_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_1, &__pyx_t_8) < 0) __PYX_ERR(0, 169, __pyx_L8_except_error) - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_INCREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_e = __pyx_t_1; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 170, __pyx_L20_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 170, __pyx_L20_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 170, __pyx_L20_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_16 = __Pyx_PyUnicode_Concat(__pyx_kp_u_user_id_amount, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 170, __pyx_L20_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_15))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_15); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_15, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_16}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_15, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 170, __pyx_L20_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_web); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 171, __pyx_L20_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_Response); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 171, __pyx_L20_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 171, __pyx_L20_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 171, __pyx_L20_error) - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 171, __pyx_L20_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - goto __pyx_L19_return; - } - - /*finally:*/ { - __pyx_L20_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_22, &__pyx_t_23, &__pyx_t_24); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21) < 0)) __Pyx_ErrFetch(&__pyx_t_19, &__pyx_t_20, &__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __pyx_t_14 = __pyx_lineno; __pyx_t_17 = __pyx_clineno; __pyx_t_18 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_ExceptionReset(__pyx_t_22, __pyx_t_23, __pyx_t_24); - } - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_ErrRestore(__pyx_t_19, __pyx_t_20, __pyx_t_21); - __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; - __pyx_lineno = __pyx_t_14; __pyx_clineno = __pyx_t_17; __pyx_filename = __pyx_t_18; - goto __pyx_L8_except_error; - } - __pyx_L19_return: { - __Pyx_PyThreadState_assign - __pyx_t_24 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_20, &__pyx_t_19); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_24, &__pyx_t_23, &__pyx_t_22) < 0)) __Pyx_ErrFetch(&__pyx_t_24, &__pyx_t_23, &__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_19); - __pyx_t_25 = __pyx_r; - __pyx_r = 0; - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - __pyx_r = __pyx_t_25; - __pyx_t_25 = 0; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ExceptionReset(__pyx_t_21, __pyx_t_20, __pyx_t_19); - } - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ErrRestore(__pyx_t_24, __pyx_t_23, __pyx_t_22); - __pyx_t_24 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0; - goto __pyx_L9_except_return; - } - } - } - goto __pyx_L8_except_error; - - __pyx_L8_except_error:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L1_error; - __pyx_L9_except_return:; - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); - goto __pyx_L0; - __pyx_L11_try_end:; - } - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_web); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_Response); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_status, __pyx_int_200) < 0) __PYX_ERR(0, 173, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 173, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - goto __pyx_L0; - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_8); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_AddTraceback("yoomoney_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_12yoomoney_pay_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yoomoney_pay_10process_enter_custom_amount(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_12yoomoney_pay_10process_enter_custom_amount = {"process_enter_custom_amount", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yoomoney_pay_10process_enter_custom_amount, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_12yoomoney_pay_10process_enter_custom_amount(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_enter_custom_amount (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 176, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 176, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, 1); __PYX_ERR(0, 176, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_enter_custom_amount") < 0)) __PYX_ERR(0, 176, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 176, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_12yoomoney_pay_9process_enter_custom_amount(__pyx_self, __pyx_v_callback_query, __pyx_v_state); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yoomoney_pay_9process_enter_custom_amount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state) { - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_enter_custom_amount", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount *)__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount(__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 176, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yoomoney_pay_11generator3, __pyx_codeobj__10, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_handlers_payments_yoomoney_pay); if (unlikely(!gen)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yoomoney_pay_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_enter_custom_amount", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - case 2: goto __pyx_L5_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 176, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_BACK); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_text, __pyx_t_6) < 0) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_data, __pyx_n_u_pay_yoomoney) < 0) __PYX_ERR(0, 181, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 184, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2)) __PYX_ERR(0, 183, __pyx_L1_error); - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_ENTER_SUM); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 185, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_5) < 0) __PYX_ERR(0, 185, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_7 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_7)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_7); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 186, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_t_5) < 0) __PYX_ERR(0, 185, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 183, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 183, __pyx_L1_error) - } - } - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_entering_custom_amount_yoomoney); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_1}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 189, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 189, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 189, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_AddTraceback("process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_12yoomoney_pay_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yoomoney_pay_13process_custom_amount_input(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_12yoomoney_pay_13process_custom_amount_input = {"process_custom_amount_input", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yoomoney_pay_13process_custom_amount_input, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_12yoomoney_pay_13process_custom_amount_input(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_message = 0; - PyObject *__pyx_v_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_custom_amount_input (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_message,&__pyx_n_s_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_message)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 193, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 193, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, 1); __PYX_ERR(0, 193, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_custom_amount_input") < 0)) __PYX_ERR(0, 193, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_message = values[0]; - __pyx_v_state = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 193, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_12yoomoney_pay_12process_custom_amount_input(__pyx_self, __pyx_v_message, __pyx_v_state); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yoomoney_pay_12process_custom_amount_input(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_message, PyObject *__pyx_v_state) { - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_custom_amount_input", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input *)__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input(__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 193, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_message = __pyx_v_message; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_message); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_message); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yoomoney_pay_14generator4, __pyx_codeobj__11, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_custom_amount_input, __pyx_n_s_process_custom_amount_input, __pyx_n_s_handlers_payments_yoomoney_pay); if (unlikely(!gen)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yoomoney_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yoomoney_pay_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - int __pyx_t_5; - PyObject *__pyx_t_6 = NULL; - Py_ssize_t __pyx_t_7; - Py_UCS4 __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_custom_amount_input", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L6_resume_from_await; - case 2: goto __pyx_L7_resume_from_await; - case 3: goto __pyx_L8_resume_from_await; - case 4: goto __pyx_L9_resume_from_await; - case 5: goto __pyx_L10_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 193, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_isdigit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_5) { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 196, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_amount = __pyx_t_3; - __pyx_t_3 = 0; - - __pyx_t_3 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_amount, __pyx_int_0, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 197, __pyx_L1_error) - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_5) { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__12}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L6_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 198, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 198, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 203, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 203, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L7_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 203, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 203, __pyx_L1_error) - } - } - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L8_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 204, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 204, __pyx_L1_error) - } - } - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_chat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_customer_id = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_YOOMONEY_ID); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_account_id = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = PyTuple_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = 0; - __pyx_t_8 = 127; - __Pyx_INCREF(__pyx_kp_u_https_yoomoney_ru_quickpay_confi); - __pyx_t_7 += 50; - __Pyx_GIVEREF(__pyx_kp_u_https_yoomoney_ru_quickpay_confi); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_https_yoomoney_ru_quickpay_confi); - __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_account_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_INCREF(__pyx_kp_u_quickpay_form_shop_targets_sum); - __pyx_t_7 += 33; - __Pyx_GIVEREF(__pyx_kp_u_quickpay_form_shop_targets_sum); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u_quickpay_form_shop_targets_sum); - __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_amount, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_2); - __pyx_t_2 = 0; - __Pyx_INCREF(__pyx_kp_u_paymentType_PC_comment_label); - __pyx_t_8 = (65535 > __pyx_t_8) ? 65535 : __pyx_t_8; - __pyx_t_7 += 49; - __Pyx_GIVEREF(__pyx_kp_u_paymentType_PC_comment_label); - PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_kp_u_paymentType_PC_comment_label); - __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_customer_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) : __pyx_t_8; - __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_1, 6, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_payment_url = ((PyObject*)__pyx_t_2); - __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_PAY); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_WebAppInfo); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_url, __pyx_cur_scope->__pyx_v_payment_url) < 0) __PYX_ERR(0, 214, __pyx_L1_error) - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_web_app, __pyx_t_11) < 0) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_11); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_11)) __PYX_ERR(0, 214, __pyx_L1_error); - __pyx_t_11 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_BACK); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_text, __pyx_t_10) < 0) __PYX_ERR(0, 215, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 215, __pyx_L1_error) - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 215, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_10); - if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_10)) __PYX_ERR(0, 215, __pyx_L1_error); - __pyx_t_10 = 0; - - __pyx_t_10 = PyList_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 213, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_3)) __PYX_ERR(0, 213, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_6); - if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_6)) __PYX_ERR(0, 213, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_inline_keyboard, __pyx_t_10) < 0) __PYX_ERR(0, 213, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 212, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_v_confirm_keyboard = __pyx_t_10; - __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_message); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_message); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_cur_scope->__pyx_v_message)) __PYX_ERR(0, 219, __pyx_L1_error); - - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 221, __pyx_L1_error) - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 221, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 221, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_confirm_keyboard) < 0) __PYX_ERR(0, 221, __pyx_L1_error) - - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 219, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L9_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 219, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 219, __pyx_L1_error) - } - } - - goto __pyx_L4; - } - - /*else*/ { - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_message, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_kp_u__13}; - __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 226, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_11); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L10_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 226, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 226, __pyx_L1_error) - } - } - } - __pyx_L4:; - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_AddTraceback("process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney *__pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney[8]; -static int __pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney[--__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney *p = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_exists); - Py_CLEAR(p->__pyx_v_expected_hash); - Py_CLEAR(p->__pyx_v_i); - Py_CLEAR(p->__pyx_v_key_count); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_v_state); - Py_CLEAR(p->__pyx_v_tg_id); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney)))) { - __pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney[__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney++] = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney *p = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_exists) { - e = (*v)(p->__pyx_v_exists, a); if (e) return e; - } - if (p->__pyx_v_i) { - e = (*v)(p->__pyx_v_i, a); if (e) return e; - } - if (p->__pyx_v_key_count) { - e = (*v)(p->__pyx_v_key_count, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - if (p->__pyx_v_tg_id) { - e = (*v)(p->__pyx_v_tg_id, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney_spec = { - "handlers.payments.yoomoney_pay.__pyx_scope_struct__process_callback_pay_yoomoney", - sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yoomoney_pay.""__pyx_scope_struct__process_callback_pay_yoomoney", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection *__pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection[8]; -static int __pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection[--__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection *p = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_account_id); - Py_CLEAR(p->__pyx_v_amount); - Py_CLEAR(p->__pyx_v_amount_str); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_confirm_keyboard); - Py_CLEAR(p->__pyx_v_customer_id); - Py_CLEAR(p->__pyx_v_data); - Py_CLEAR(p->__pyx_v_payment_url); - Py_CLEAR(p->__pyx_v_state); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection)))) { - __pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection[__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection++] = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection *p = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection *)o; - if (p->__pyx_v_account_id) { - e = (*v)(p->__pyx_v_account_id, a); if (e) return e; - } - if (p->__pyx_v_amount) { - e = (*v)(p->__pyx_v_amount, a); if (e) return e; - } - if (p->__pyx_v_amount_str) { - e = (*v)(p->__pyx_v_amount_str, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_confirm_keyboard) { - e = (*v)(p->__pyx_v_confirm_keyboard, a); if (e) return e; - } - if (p->__pyx_v_customer_id) { - e = (*v)(p->__pyx_v_customer_id, a); if (e) return e; - } - if (p->__pyx_v_data) { - e = (*v)(p->__pyx_v_data, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection_spec = { - "handlers.payments.yoomoney_pay.__pyx_scope_struct_1_process_amount_selection", - sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yoomoney_pay.""__pyx_scope_struct_1_process_amount_selection", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook *__pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook[8]; -static int __pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook[--__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook *p = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_amount_str); - Py_CLEAR(p->__pyx_v_calculated_hash); - Py_CLEAR(p->__pyx_v_data); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_notification_secret); - Py_CLEAR(p->__pyx_v_request); - Py_CLEAR(p->__pyx_v_sha1_hash); - Py_CLEAR(p->__pyx_v_string_to_hash); - Py_CLEAR(p->__pyx_v_user_id); - Py_CLEAR(p->__pyx_v_user_id_str); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook)))) { - __pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook[__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook++] = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook *p = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook *)o; - if (p->__pyx_v_amount_str) { - e = (*v)(p->__pyx_v_amount_str, a); if (e) return e; - } - if (p->__pyx_v_calculated_hash) { - e = (*v)(p->__pyx_v_calculated_hash, a); if (e) return e; - } - if (p->__pyx_v_data) { - e = (*v)(p->__pyx_v_data, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_notification_secret) { - e = (*v)(p->__pyx_v_notification_secret, a); if (e) return e; - } - if (p->__pyx_v_request) { - e = (*v)(p->__pyx_v_request, a); if (e) return e; - } - if (p->__pyx_v_sha1_hash) { - e = (*v)(p->__pyx_v_sha1_hash, a); if (e) return e; - } - if (p->__pyx_v_user_id) { - e = (*v)(p->__pyx_v_user_id, a); if (e) return e; - } - if (p->__pyx_v_user_id_str) { - e = (*v)(p->__pyx_v_user_id_str, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook_spec = { - "handlers.payments.yoomoney_pay.__pyx_scope_struct_2_yoomoney_webhook", - sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yoomoney_pay.""__pyx_scope_struct_2_yoomoney_webhook", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount *__pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount[8]; -static int __pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount[--__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount *p = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_state); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount)))) { - __pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount[__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount++] = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount *p = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount_spec = { - "handlers.payments.yoomoney_pay.__pyx_scope_struct_3_process_enter_custom_amount", - sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yoomoney_pay.""__pyx_scope_struct_3_process_enter_custom_amount", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input *__pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input[8]; -static int __pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input[--__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input *p = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_account_id); - Py_CLEAR(p->__pyx_v_amount); - Py_CLEAR(p->__pyx_v_confirm_keyboard); - Py_CLEAR(p->__pyx_v_customer_id); - Py_CLEAR(p->__pyx_v_message); - Py_CLEAR(p->__pyx_v_payment_url); - Py_CLEAR(p->__pyx_v_state); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input)))) { - __pyx_freelist_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input[__pyx_freecount_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input++] = ((struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input *p = (struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input *)o; - if (p->__pyx_v_account_id) { - e = (*v)(p->__pyx_v_account_id, a); if (e) return e; - } - if (p->__pyx_v_amount) { - e = (*v)(p->__pyx_v_amount, a); if (e) return e; - } - if (p->__pyx_v_confirm_keyboard) { - e = (*v)(p->__pyx_v_confirm_keyboard, a); if (e) return e; - } - if (p->__pyx_v_customer_id) { - e = (*v)(p->__pyx_v_customer_id, a); if (e) return e; - } - if (p->__pyx_v_message) { - e = (*v)(p->__pyx_v_message, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input_spec = { - "handlers.payments.yoomoney_pay.__pyx_scope_struct_4_process_custom_amount_input", - sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yoomoney_pay.""__pyx_scope_struct_4_process_custom_amount_input", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif -/* #### Code section: pystring_table ### */ - -static int __Pyx_CreateStringTabAndInitStrings(void) { - __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_n_s_AMOUNT_TEXT, __pyx_k_AMOUNT_TEXT, sizeof(__pyx_k_AMOUNT_TEXT), 0, 0, 1, 1}, - {&__pyx_kp_u_Account_ID, __pyx_k_Account_ID, sizeof(__pyx_k_Account_ID), 0, 1, 0, 0}, - {&__pyx_n_s_Any, __pyx_k_Any, sizeof(__pyx_k_Any), 0, 0, 1, 1}, - {&__pyx_n_s_BACK, __pyx_k_BACK, sizeof(__pyx_k_BACK), 0, 0, 1, 1}, - {&__pyx_n_s_CUSTOM_AMOUNT, __pyx_k_CUSTOM_AMOUNT, sizeof(__pyx_k_CUSTOM_AMOUNT), 0, 0, 1, 1}, - {&__pyx_n_s_DEFAULT_PAYMENT_MESSAGE, __pyx_k_DEFAULT_PAYMENT_MESSAGE, sizeof(__pyx_k_DEFAULT_PAYMENT_MESSAGE), 0, 0, 1, 1}, - {&__pyx_n_s_ENTER_SUM, __pyx_k_ENTER_SUM, sizeof(__pyx_k_ENTER_SUM), 0, 0, 1, 1}, - {&__pyx_n_s_F, __pyx_k_F, sizeof(__pyx_k_F), 0, 0, 1, 1}, - {&__pyx_n_s_FSMContext, __pyx_k_FSMContext, sizeof(__pyx_k_FSMContext), 0, 0, 1, 1}, - {&__pyx_n_u_HASHHASHYOOKASSA, __pyx_k_HASHHASHYOOKASSA, sizeof(__pyx_k_HASHHASHYOOKASSA), 0, 1, 0, 1}, - {&__pyx_n_s_InlineKeyboardBuilder, __pyx_k_InlineKeyboardBuilder, sizeof(__pyx_k_InlineKeyboardBuilder), 0, 0, 1, 1}, - {&__pyx_n_s_InlineKeyboardButton, __pyx_k_InlineKeyboardButton, sizeof(__pyx_k_InlineKeyboardButton), 0, 0, 1, 1}, - {&__pyx_n_s_InlineKeyboardMarkup, __pyx_k_InlineKeyboardMarkup, sizeof(__pyx_k_InlineKeyboardMarkup), 0, 0, 1, 1}, - {&__pyx_n_s_PAY, __pyx_k_PAY, sizeof(__pyx_k_PAY), 0, 0, 1, 1}, - {&__pyx_n_s_PAYMENT_OPTIONS, __pyx_k_PAYMENT_OPTIONS, sizeof(__pyx_k_PAYMENT_OPTIONS), 0, 0, 1, 1}, - {&__pyx_kp_u_Payment_succeeded_for_user_id, __pyx_k_Payment_succeeded_for_user_id, sizeof(__pyx_k_Payment_succeeded_for_user_id), 0, 1, 0, 0}, - {&__pyx_n_s_ReplenishBalanceState, __pyx_k_ReplenishBalanceState, sizeof(__pyx_k_ReplenishBalanceState), 0, 0, 1, 1}, - {&__pyx_n_s_Response, __pyx_k_Response, sizeof(__pyx_k_Response), 0, 0, 1, 1}, - {&__pyx_n_s_Router, __pyx_k_Router, sizeof(__pyx_k_Router), 0, 0, 1, 1}, - {&__pyx_n_s_State, __pyx_k_State, sizeof(__pyx_k_State), 0, 0, 1, 1}, - {&__pyx_n_s_StatesGroup, __pyx_k_StatesGroup, sizeof(__pyx_k_StatesGroup), 0, 0, 1, 1}, - {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_n_s_WebAppInfo, __pyx_k_WebAppInfo, sizeof(__pyx_k_WebAppInfo), 0, 0, 1, 1}, - {&__pyx_kp_u_Webhook_event_received, __pyx_k_Webhook_event_received, sizeof(__pyx_k_Webhook_event_received), 0, 1, 0, 0}, - {&__pyx_n_s_YOOKASSA_HASH, __pyx_k_YOOKASSA_HASH, sizeof(__pyx_k_YOOKASSA_HASH), 0, 0, 1, 1}, - {&__pyx_n_s_YOOMONEY_ENABLE, __pyx_k_YOOMONEY_ENABLE, sizeof(__pyx_k_YOOMONEY_ENABLE), 0, 0, 1, 1}, - {&__pyx_n_s_YOOMONEY_ID, __pyx_k_YOOMONEY_ID, sizeof(__pyx_k_YOOMONEY_ID), 0, 0, 1, 1}, - {&__pyx_n_s_YOOMONEY_SECRET_KEY, __pyx_k_YOOMONEY_SECRET_KEY, sizeof(__pyx_k_YOOMONEY_SECRET_KEY), 0, 0, 1, 1}, - {&__pyx_kp_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0}, - {&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0}, - {&__pyx_n_s__14, __pyx_k__14, sizeof(__pyx_k__14), 0, 0, 1, 1}, - {&__pyx_kp_u__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0}, - {&__pyx_kp_u__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0, 0}, - {&__pyx_n_s__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 0, 1, 1}, - {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0}, - {&__pyx_n_u__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0, 1}, - {&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0}, - {&__pyx_kp_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0}, - {&__pyx_n_s_account_id, __pyx_k_account_id, sizeof(__pyx_k_account_id), 0, 0, 1, 1}, - {&__pyx_n_s_add_connection, __pyx_k_add_connection, sizeof(__pyx_k_add_connection), 0, 0, 1, 1}, - {&__pyx_n_s_add_payment, __pyx_k_add_payment, sizeof(__pyx_k_add_payment), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram, __pyx_k_aiogram, sizeof(__pyx_k_aiogram), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_fsm_context, __pyx_k_aiogram_fsm_context, sizeof(__pyx_k_aiogram_fsm_context), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_fsm_state, __pyx_k_aiogram_fsm_state, sizeof(__pyx_k_aiogram_fsm_state), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_types, __pyx_k_aiogram_types, sizeof(__pyx_k_aiogram_types), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_utils_keyboard, __pyx_k_aiogram_utils_keyboard, sizeof(__pyx_k_aiogram_utils_keyboard), 0, 0, 1, 1}, - {&__pyx_n_s_aiohttp, __pyx_k_aiohttp, sizeof(__pyx_k_aiohttp), 0, 0, 1, 1}, - {&__pyx_n_s_amount, __pyx_k_amount, sizeof(__pyx_k_amount), 0, 0, 1, 1}, - {&__pyx_n_u_amount, __pyx_k_amount, sizeof(__pyx_k_amount), 0, 1, 0, 1}, - {&__pyx_kp_u_amount_2, __pyx_k_amount_2, sizeof(__pyx_k_amount_2), 0, 1, 0, 0}, - {&__pyx_n_s_amount_str, __pyx_k_amount_str, sizeof(__pyx_k_amount_str), 0, 0, 1, 1}, - {&__pyx_n_s_answer, __pyx_k_answer, sizeof(__pyx_k_answer), 0, 0, 1, 1}, - {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, - {&__pyx_n_s_as_markup, __pyx_k_as_markup, sizeof(__pyx_k_as_markup), 0, 0, 1, 1}, - {&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1}, - {&__pyx_n_s_await, __pyx_k_await, sizeof(__pyx_k_await), 0, 0, 1, 1}, - {&__pyx_n_s_balance, __pyx_k_balance, sizeof(__pyx_k_balance), 0, 0, 1, 1}, - {&__pyx_n_s_builder, __pyx_k_builder, sizeof(__pyx_k_builder), 0, 0, 1, 1}, - {&__pyx_n_s_calculated_hash, __pyx_k_calculated_hash, sizeof(__pyx_k_calculated_hash), 0, 0, 1, 1}, - {&__pyx_n_s_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 0, 1, 1}, - {&__pyx_n_u_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 1, 0, 1}, - {&__pyx_n_s_callback_query, __pyx_k_callback_query, sizeof(__pyx_k_callback_query), 0, 0, 1, 1}, - {&__pyx_n_s_chat, __pyx_k_chat, sizeof(__pyx_k_chat), 0, 0, 1, 1}, - {&__pyx_n_s_check_connection_exists, __pyx_k_check_connection_exists, sizeof(__pyx_k_check_connection_exists), 0, 0, 1, 1}, - {&__pyx_n_s_choosing_amount_yoomoney, __pyx_k_choosing_amount_yoomoney, sizeof(__pyx_k_choosing_amount_yoomoney), 0, 0, 1, 1}, - {&__pyx_n_s_class_getitem, __pyx_k_class_getitem, sizeof(__pyx_k_class_getitem), 0, 0, 1, 1}, - {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, - {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, - {&__pyx_n_u_codepro, __pyx_k_codepro, sizeof(__pyx_k_codepro), 0, 1, 0, 1}, - {&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1}, - {&__pyx_n_s_confirm_keyboard, __pyx_k_confirm_keyboard, sizeof(__pyx_k_confirm_keyboard), 0, 0, 1, 1}, - {&__pyx_n_u_currency, __pyx_k_currency, sizeof(__pyx_k_currency), 0, 1, 0, 1}, - {&__pyx_n_s_customer_id, __pyx_k_customer_id, sizeof(__pyx_k_customer_id), 0, 0, 1, 1}, - {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, - {&__pyx_n_s_database, __pyx_k_database, sizeof(__pyx_k_database), 0, 0, 1, 1}, - {&__pyx_n_u_datetime, __pyx_k_datetime, sizeof(__pyx_k_datetime), 0, 1, 0, 1}, - {&__pyx_n_s_debug, __pyx_k_debug, sizeof(__pyx_k_debug), 0, 0, 1, 1}, - {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, - {&__pyx_kp_u_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0, 0}, - {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1}, - {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1}, - {&__pyx_n_s_edit_or_send_message, __pyx_k_edit_or_send_message, sizeof(__pyx_k_edit_or_send_message), 0, 0, 1, 1}, - {&__pyx_kp_u_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0, 0}, - {&__pyx_n_u_enter_custom_amount_yoomoney, __pyx_k_enter_custom_amount_yoomoney, sizeof(__pyx_k_enter_custom_amount_yoomoney), 0, 1, 0, 1}, - {&__pyx_n_s_entering_custom_amount_yoomoney, __pyx_k_entering_custom_amount_yoomoney, sizeof(__pyx_k_entering_custom_amount_yoomoney), 0, 0, 1, 1}, - {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1}, - {&__pyx_n_s_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 0, 0, 1, 1}, - {&__pyx_n_s_expected_hash, __pyx_k_expected_hash, sizeof(__pyx_k_expected_hash), 0, 0, 1, 1}, - {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, - {&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0}, - {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1}, - {&__pyx_n_s_get_key_count, __pyx_k_get_key_count, sizeof(__pyx_k_get_key_count), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_buttons, __pyx_k_handlers_buttons, sizeof(__pyx_k_handlers_buttons), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_gift, __pyx_k_handlers_payments_gift, sizeof(__pyx_k_handlers_payments_gift), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_utils, __pyx_k_handlers_payments_utils, sizeof(__pyx_k_handlers_payments_utils), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_yoomoney_pay, __pyx_k_handlers_payments_yoomoney_pay, sizeof(__pyx_k_handlers_payments_yoomoney_pay), 0, 0, 1, 1}, - {&__pyx_kp_s_handlers_payments_yoomoney_pay_p, __pyx_k_handlers_payments_yoomoney_pay_p, sizeof(__pyx_k_handlers_payments_yoomoney_pay_p), 0, 0, 1, 0}, - {&__pyx_n_s_handlers_texts, __pyx_k_handlers_texts, sizeof(__pyx_k_handlers_texts), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_utils, __pyx_k_handlers_utils, sizeof(__pyx_k_handlers_utils), 0, 0, 1, 1}, - {&__pyx_n_s_hashlib, __pyx_k_hashlib, sizeof(__pyx_k_hashlib), 0, 0, 1, 1}, - {&__pyx_n_s_hexdigest, __pyx_k_hexdigest, sizeof(__pyx_k_hexdigest), 0, 0, 1, 1}, - {&__pyx_kp_u_https_yoomoney_ru_quickpay_confi, __pyx_k_https_yoomoney_ru_quickpay_confi, sizeof(__pyx_k_https_yoomoney_ru_quickpay_confi), 0, 1, 0, 0}, - {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, - {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1}, - {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, - {&__pyx_n_s_init_subclass, __pyx_k_init_subclass, sizeof(__pyx_k_init_subclass), 0, 0, 1, 1}, - {&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1}, - {&__pyx_n_s_inline_keyboard, __pyx_k_inline_keyboard, sizeof(__pyx_k_inline_keyboard), 0, 0, 1, 1}, - {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1}, - {&__pyx_n_s_isdigit, __pyx_k_isdigit, sizeof(__pyx_k_isdigit), 0, 0, 1, 1}, - {&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0}, - {&__pyx_n_s_key_count, __pyx_k_key_count, sizeof(__pyx_k_key_count), 0, 0, 1, 1}, - {&__pyx_n_u_label, __pyx_k_label, sizeof(__pyx_k_label), 0, 1, 0, 1}, - {&__pyx_n_s_logger, __pyx_k_logger, sizeof(__pyx_k_logger), 0, 0, 1, 1}, - {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, - {&__pyx_n_s_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 0, 1, 1}, - {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1}, - {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1}, - {&__pyx_n_s_mro_entries, __pyx_k_mro_entries, sizeof(__pyx_k_mro_entries), 0, 0, 1, 1}, - {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, - {&__pyx_n_s_notification_secret, __pyx_k_notification_secret, sizeof(__pyx_k_notification_secret), 0, 0, 1, 1}, - {&__pyx_n_u_notification_type, __pyx_k_notification_type, sizeof(__pyx_k_notification_type), 0, 1, 0, 1}, - {&__pyx_n_u_operation_id, __pyx_k_operation_id, sizeof(__pyx_k_operation_id), 0, 1, 0, 1}, - {&__pyx_n_u_pay, __pyx_k_pay, sizeof(__pyx_k_pay), 0, 1, 0, 1}, - {&__pyx_n_u_pay_yoomoney, __pyx_k_pay_yoomoney, sizeof(__pyx_k_pay_yoomoney), 0, 1, 0, 1}, - {&__pyx_kp_u_paymentType_PC_comment_label, __pyx_k_paymentType_PC_comment_label, sizeof(__pyx_k_paymentType_PC_comment_label), 0, 1, 0, 0}, - {&__pyx_n_s_payment_url, __pyx_k_payment_url, sizeof(__pyx_k_payment_url), 0, 0, 1, 1}, - {&__pyx_n_s_post, __pyx_k_post, sizeof(__pyx_k_post), 0, 0, 1, 1}, - {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1}, - {&__pyx_n_s_process_amount_selection, __pyx_k_process_amount_selection, sizeof(__pyx_k_process_amount_selection), 0, 0, 1, 1}, - {&__pyx_n_s_process_callback_pay_yoomoney, __pyx_k_process_callback_pay_yoomoney, sizeof(__pyx_k_process_callback_pay_yoomoney), 0, 0, 1, 1}, - {&__pyx_n_s_process_custom_amount_input, __pyx_k_process_custom_amount_input, sizeof(__pyx_k_process_custom_amount_input), 0, 0, 1, 1}, - {&__pyx_n_s_process_enter_custom_amount, __pyx_k_process_enter_custom_amount, sizeof(__pyx_k_process_enter_custom_amount), 0, 0, 1, 1}, - {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1}, - {&__pyx_kp_u_quickpay_form_shop_targets_sum, __pyx_k_quickpay_form_shop_targets_sum, sizeof(__pyx_k_quickpay_form_shop_targets_sum), 0, 1, 0, 0}, - {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, - {&__pyx_n_s_reply_markup, __pyx_k_reply_markup, sizeof(__pyx_k_reply_markup), 0, 0, 1, 1}, - {&__pyx_n_s_request, __pyx_k_request, sizeof(__pyx_k_request), 0, 0, 1, 1}, - {&__pyx_n_s_router, __pyx_k_router, sizeof(__pyx_k_router), 0, 0, 1, 1}, - {&__pyx_n_s_row, __pyx_k_row, sizeof(__pyx_k_row), 0, 0, 1, 1}, - {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1}, - {&__pyx_n_s_send_payment_success_notificatio, __pyx_k_send_payment_success_notificatio, sizeof(__pyx_k_send_payment_success_notificatio), 0, 0, 1, 1}, - {&__pyx_n_u_sender, __pyx_k_sender, sizeof(__pyx_k_sender), 0, 1, 0, 1}, - {&__pyx_n_s_session, __pyx_k_session, sizeof(__pyx_k_session), 0, 0, 1, 1}, - {&__pyx_n_s_set_name, __pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 0, 1, 1}, - {&__pyx_n_s_set_state, __pyx_k_set_state, sizeof(__pyx_k_set_state), 0, 0, 1, 1}, - {&__pyx_n_s_sha1, __pyx_k_sha1, sizeof(__pyx_k_sha1), 0, 0, 1, 1}, - {&__pyx_n_s_sha1_hash, __pyx_k_sha1_hash, sizeof(__pyx_k_sha1_hash), 0, 0, 1, 1}, - {&__pyx_n_u_sha1_hash, __pyx_k_sha1_hash, sizeof(__pyx_k_sha1_hash), 0, 1, 0, 1}, - {&__pyx_kp_u_solonet_sup, __pyx_k_solonet_sup, sizeof(__pyx_k_solonet_sup), 0, 1, 0, 0}, - {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1}, - {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1}, - {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1}, - {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1}, - {&__pyx_n_s_status, __pyx_k_status, sizeof(__pyx_k_status), 0, 0, 1, 1}, - {&__pyx_n_s_string_to_hash, __pyx_k_string_to_hash, sizeof(__pyx_k_string_to_hash), 0, 0, 1, 1}, - {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1}, - {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, - {&__pyx_n_s_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 0, 1, 1}, - {&__pyx_n_u_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 1, 0, 1}, - {&__pyx_n_s_tg_id, __pyx_k_tg_id, sizeof(__pyx_k_tg_id), 0, 0, 1, 1}, - {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1}, - {&__pyx_n_s_trial, __pyx_k_trial, sizeof(__pyx_k_trial), 0, 0, 1, 1}, - {&__pyx_n_s_types, __pyx_k_types, sizeof(__pyx_k_types), 0, 0, 1, 1}, - {&__pyx_kp_s_types_CallbackQuery, __pyx_k_types_CallbackQuery, sizeof(__pyx_k_types_CallbackQuery), 0, 0, 1, 0}, - {&__pyx_kp_s_types_Message, __pyx_k_types_Message, sizeof(__pyx_k_types_Message), 0, 0, 1, 0}, - {&__pyx_n_s_typing, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1}, - {&__pyx_n_s_update_balance, __pyx_k_update_balance, sizeof(__pyx_k_update_balance), 0, 0, 1, 1}, - {&__pyx_n_s_update_data, __pyx_k_update_data, sizeof(__pyx_k_update_data), 0, 0, 1, 1}, - {&__pyx_n_s_url, __pyx_k_url, sizeof(__pyx_k_url), 0, 0, 1, 1}, - {&__pyx_n_s_user_id, __pyx_k_user_id, sizeof(__pyx_k_user_id), 0, 0, 1, 1}, - {&__pyx_kp_u_user_id_amount, __pyx_k_user_id_amount, sizeof(__pyx_k_user_id_amount), 0, 1, 0, 0}, - {&__pyx_n_s_user_id_str, __pyx_k_user_id_str, sizeof(__pyx_k_user_id_str), 0, 0, 1, 1}, - {&__pyx_n_s_waiting_for_payment_confirmation, __pyx_k_waiting_for_payment_confirmation, sizeof(__pyx_k_waiting_for_payment_confirmation), 0, 0, 1, 1}, - {&__pyx_n_s_web, __pyx_k_web, sizeof(__pyx_k_web), 0, 0, 1, 1}, - {&__pyx_kp_s_web_Request, __pyx_k_web_Request, sizeof(__pyx_k_web_Request), 0, 0, 1, 0}, - {&__pyx_n_s_web_app, __pyx_k_web_app, sizeof(__pyx_k_web_app), 0, 0, 1, 1}, - {&__pyx_n_u_withdraw_amount, __pyx_k_withdraw_amount, sizeof(__pyx_k_withdraw_amount), 0, 1, 0, 1}, - {&__pyx_n_u_yoomoney, __pyx_k_yoomoney, sizeof(__pyx_k_yoomoney), 0, 1, 0, 1}, - {&__pyx_n_u_yoomoney_2, __pyx_k_yoomoney_2, sizeof(__pyx_k_yoomoney_2), 0, 1, 0, 1}, - {&__pyx_n_u_yoomoney_amount, __pyx_k_yoomoney_amount, sizeof(__pyx_k_yoomoney_amount), 0, 1, 0, 1}, - {&__pyx_n_s_yoomoney_webhook, __pyx_k_yoomoney_webhook, sizeof(__pyx_k_yoomoney_webhook), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} - }; - return __Pyx_InitStrings(__pyx_string_tab); -} -/* #### Code section: cached_builtins ### */ -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 61, __pyx_L1_error) - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 118, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: cached_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - __pyx_tuple__5 = PyTuple_Pack(2, __pyx_kp_u__4, __pyx_int_1); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__5); - __Pyx_GIVEREF(__pyx_tuple__5); - - __pyx_tuple__16 = PyTuple_Pack(9, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session, __pyx_n_s_expected_hash, __pyx_n_s_tg_id, __pyx_n_s_builder, __pyx_n_s_i, __pyx_n_s_key_count, __pyx_n_s_exists); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__16); - __Pyx_GIVEREF(__pyx_tuple__16); - __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yoomoney_pay_p, __pyx_n_s_process_callback_pay_yoomoney, 42, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 42, __pyx_L1_error) - - __pyx_tuple__17 = PyTuple_Pack(1, __pyx_n_u_yoomoney_amount); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__17); - __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_tuple__18 = PyTuple_Pack(9, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_data, __pyx_n_s_amount_str, __pyx_n_s_amount, __pyx_n_s_customer_id, __pyx_n_s_account_id, __pyx_n_s_payment_url, __pyx_n_s_confirm_keyboard); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__18); - __Pyx_GIVEREF(__pyx_tuple__18); - __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yoomoney_pay_p, __pyx_n_s_process_amount_selection, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 106, __pyx_L1_error) - - __pyx_tuple__19 = PyTuple_Pack(11, __pyx_n_s_request, __pyx_n_s_data, __pyx_n_s_user_id_str, __pyx_n_s_amount_str, __pyx_n_s_notification_secret, __pyx_n_s_sha1_hash, __pyx_n_s_string_to_hash, __pyx_n_s_calculated_hash, __pyx_n_s_user_id, __pyx_n_s_amount, __pyx_n_s_e); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__19); - __Pyx_GIVEREF(__pyx_tuple__19); - __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yoomoney_pay_p, __pyx_n_s_yoomoney_webhook, 145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 145, __pyx_L1_error) - - __pyx_tuple__20 = PyTuple_Pack(3, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__20); - __Pyx_GIVEREF(__pyx_tuple__20); - __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yoomoney_pay_p, __pyx_n_s_process_enter_custom_amount, 176, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 176, __pyx_L1_error) - - __pyx_tuple__21 = PyTuple_Pack(7, __pyx_n_s_message, __pyx_n_s_state, __pyx_n_s_amount, __pyx_n_s_customer_id, __pyx_n_s_account_id, __pyx_n_s_payment_url, __pyx_n_s_confirm_keyboard); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__21); - __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yoomoney_pay_p, __pyx_n_s_process_custom_amount_input, 193, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} -/* #### Code section: init_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) { - if (__Pyx_CreateStringTabAndInitStrings() < 0) __PYX_ERR(0, 1, __pyx_L1_error); - __pyx_float_0_0 = PyFloat_FromDouble(0.0); if (unlikely(!__pyx_float_0_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_200 = PyInt_FromLong(200); if (unlikely(!__pyx_int_200)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_400 = PyInt_FromLong(400); if (unlikely(!__pyx_int_400)) __PYX_ERR(0, 1, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: init_globals ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { - return 0; -} -/* #### Code section: init_module ### */ - -static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ - -static int __Pyx_modinit_global_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_init_code(void) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); - /*--- Type init code ---*/ - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney)) __PYX_ERR(0, 42, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney_spec, __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney) < 0) __PYX_ERR(0, 42, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney = &__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney) < 0) __PYX_ERR(0, 42, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct__process_callback_pay_yoomoney->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection)) __PYX_ERR(0, 106, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection_spec, __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 106, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection = &__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 106, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_1_process_amount_selection->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook)) __PYX_ERR(0, 145, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook_spec, __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook) < 0) __PYX_ERR(0, 145, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook = &__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook) < 0) __PYX_ERR(0, 145, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_2_yoomoney_webhook->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount)) __PYX_ERR(0, 176, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount_spec, __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount) < 0) __PYX_ERR(0, 176, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount = &__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount) < 0) __PYX_ERR(0, 176, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_3_process_enter_custom_amount->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input)) __PYX_ERR(0, 193, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input_spec, __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input) < 0) __PYX_ERR(0, 193, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input = &__pyx_type_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input) < 0) __PYX_ERR(0, 193, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yoomoney_pay___pyx_scope_struct_4_process_custom_amount_input->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_type_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); - /*--- Type import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - - -#if PY_MAJOR_VERSION >= 3 -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec_yoomoney_pay(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec_yoomoney_pay}, - {0, NULL} -}; -#endif - -#ifdef __cplusplus -namespace { - struct PyModuleDef __pyx_moduledef = - #else - static struct PyModuleDef __pyx_moduledef = - #endif - { - PyModuleDef_HEAD_INIT, - "yoomoney_pay", - 0, /* m_doc */ - #if CYTHON_PEP489_MULTI_PHASE_INIT - 0, /* m_size */ - #elif CYTHON_USE_MODULE_STATE - sizeof(__pyx_mstate), /* m_size */ - #else - -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - #if CYTHON_USE_MODULE_STATE - __pyx_m_traverse, /* m_traverse */ - __pyx_m_clear, /* m_clear */ - NULL /* m_free */ - #else - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ - #endif - }; - #ifdef __cplusplus -} /* anonymous namespace */ -#endif -#endif - -#ifndef CYTHON_NO_PYINIT_EXPORT -#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#elif PY_MAJOR_VERSION < 3 -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" void -#else -#define __Pyx_PyMODINIT_FUNC void -#endif -#else -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * -#else -#define __Pyx_PyMODINIT_FUNC PyObject * -#endif -#endif - - -#if PY_MAJOR_VERSION < 3 -__Pyx_PyMODINIT_FUNC inityoomoney_pay(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC inityoomoney_pay(void) -#else -__Pyx_PyMODINIT_FUNC PyInit_yoomoney_pay(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit_yoomoney_pay(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - #if PY_VERSION_HEX >= 0x030700A1 - static PY_INT64_T main_interpreter_id = -1; - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return (unlikely(current_id == -1)) ? -1 : 0; - } else if (unlikely(main_interpreter_id != current_id)) - #else - static PyInterpreterState *main_interpreter = NULL; - PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; - if (!main_interpreter) { - main_interpreter = current_interpreter; - } else if (unlikely(main_interpreter != current_interpreter)) - #endif - { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *module, const char* from_name, const char* to_name, int allow_none) -#else -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) -#endif -{ - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { -#if CYTHON_COMPILING_IN_LIMITED_API - result = PyModule_AddObject(module, to_name, value); -#else - result = PyDict_SetItemString(moddict, to_name, value); -#endif - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - CYTHON_UNUSED_VAR(def); - if (__Pyx_check_single_interpreter()) - return NULL; - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; -#if CYTHON_COMPILING_IN_LIMITED_API - moddict = module; -#else - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; -#endif - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec_yoomoney_pay(PyObject *__pyx_pyinit_module) -#endif -#endif -{ - int stringtab_initialized = 0; - #if CYTHON_USE_MODULE_STATE - int pystate_addmodule_run = 0; - #endif - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - unsigned int __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module 'yoomoney_pay' has already been imported. Re-initialisation is not supported."); - return -1; - } - #elif PY_MAJOR_VERSION >= 3 - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_m = __pyx_pyinit_module; - Py_INCREF(__pyx_m); - #else - #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4("yoomoney_pay", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #elif CYTHON_USE_MODULE_STATE - __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) - { - int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef); - __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "yoomoney_pay" pseudovariable */ - if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - pystate_addmodule_run = 1; - } - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #endif - CYTHON_UNUSED_VAR(__pyx_t_1); - __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_d); - __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if CYTHON_REFNANNY -__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); -if (!__Pyx_RefNanny) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); -} -#endif - __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_yoomoney_pay(void)", 0); - if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pxy_PyFrame_Initialize_Offsets - __Pxy_PyFrame_Initialize_Offsets(); - #endif - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pyx_CyFunction_USED - if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_FusedFunction_USED - if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Coroutine_USED - if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Generator_USED - if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_StopAsyncIteration_USED - if (__pyx_StopAsyncIteration_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ - #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS - PyEval_InitThreads(); - #endif - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - stringtab_initialized = 1; - if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) - if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - if (__pyx_module_is_main_handlers__payments__yoomoney_pay) { - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - } - #if PY_MAJOR_VERSION >= 3 - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "handlers.payments.yoomoney_pay")) { - if (unlikely((PyDict_SetItemString(modules, "handlers.payments.yoomoney_pay", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #endif - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_global_init_code(); - (void)__Pyx_modinit_variable_export_code(); - (void)__Pyx_modinit_function_export_code(); - if (unlikely((__Pyx_modinit_type_init_code() < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_type_import_code(); - (void)__Pyx_modinit_variable_import_code(); - (void)__Pyx_modinit_function_import_code(); - /*--- Execution code ---*/ - #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - - __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_hashlib, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_hashlib, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_Any); - __Pyx_GIVEREF(__pyx_n_s_Any); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Any)) __PYX_ERR(0, 2, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Any); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Any, __pyx_t_2) < 0) __PYX_ERR(0, 2, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_F); - __Pyx_GIVEREF(__pyx_n_s_F); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_F)) __PYX_ERR(0, 4, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_Router); - __Pyx_GIVEREF(__pyx_n_s_Router); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_Router)) __PYX_ERR(0, 4, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_types); - __Pyx_GIVEREF(__pyx_n_s_types); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_types)) __PYX_ERR(0, 4, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_F, __pyx_t_3) < 0) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Router, __pyx_t_3) < 0) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_FSMContext); - __Pyx_GIVEREF(__pyx_n_s_FSMContext); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_FSMContext)) __PYX_ERR(0, 5, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_fsm_context, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_FSMContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_FSMContext, __pyx_t_2) < 0) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_State); - __Pyx_GIVEREF(__pyx_n_s_State); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_State)) __PYX_ERR(0, 6, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_StatesGroup); - __Pyx_GIVEREF(__pyx_n_s_StatesGroup); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_StatesGroup)) __PYX_ERR(0, 6, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_fsm_state, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_State); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_State, __pyx_t_3) < 0) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_StatesGroup, __pyx_t_3) < 0) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardButton); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardButton); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_InlineKeyboardButton)) __PYX_ERR(0, 7, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardMarkup); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardMarkup); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_InlineKeyboardMarkup)) __PYX_ERR(0, 7, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_WebAppInfo); - __Pyx_GIVEREF(__pyx_n_s_WebAppInfo); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_WebAppInfo)) __PYX_ERR(0, 7, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_types, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardButton, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardMarkup, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_WebAppInfo); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_WebAppInfo, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardBuilder); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardBuilder); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_InlineKeyboardBuilder)) __PYX_ERR(0, 8, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_utils_keyboard, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardBuilder, __pyx_t_3) < 0) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_web); - __Pyx_GIVEREF(__pyx_n_s_web); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_web)) __PYX_ERR(0, 9, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiohttp, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_web); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_web, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_YOOMONEY_ENABLE); - __Pyx_GIVEREF(__pyx_n_s_YOOMONEY_ENABLE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_YOOMONEY_ENABLE)) __PYX_ERR(0, 11, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_YOOMONEY_ID); - __Pyx_GIVEREF(__pyx_n_s_YOOMONEY_ID); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_YOOMONEY_ID)) __PYX_ERR(0, 11, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_YOOMONEY_SECRET_KEY); - __Pyx_GIVEREF(__pyx_n_s_YOOMONEY_SECRET_KEY); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_YOOMONEY_SECRET_KEY)) __PYX_ERR(0, 11, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_config, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_YOOMONEY_ENABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_YOOMONEY_ENABLE, __pyx_t_3) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_YOOMONEY_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_YOOMONEY_ID, __pyx_t_3) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_YOOMONEY_SECRET_KEY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_YOOMONEY_SECRET_KEY, __pyx_t_3) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_add_connection); - __Pyx_GIVEREF(__pyx_n_s_add_connection); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_add_connection)) __PYX_ERR(0, 13, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_add_payment); - __Pyx_GIVEREF(__pyx_n_s_add_payment); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_add_payment)) __PYX_ERR(0, 13, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_check_connection_exists); - __Pyx_GIVEREF(__pyx_n_s_check_connection_exists); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_check_connection_exists)) __PYX_ERR(0, 13, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_get_key_count); - __Pyx_GIVEREF(__pyx_n_s_get_key_count); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_get_key_count)) __PYX_ERR(0, 13, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_update_balance); - __Pyx_GIVEREF(__pyx_n_s_update_balance); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_s_update_balance)) __PYX_ERR(0, 13, __pyx_L1_error); - - __pyx_t_3 = __Pyx_Import(__pyx_n_s_database, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_connection, __pyx_t_2) < 0) __PYX_ERR(0, 13, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_payment, __pyx_t_2) < 0) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_connection_exists, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_key_count, __pyx_t_2) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_update_balance, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_YOOKASSA_HASH); - __Pyx_GIVEREF(__pyx_n_s_YOOKASSA_HASH); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_YOOKASSA_HASH)) __PYX_ERR(0, 19, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_payments_gift, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_YOOKASSA_HASH); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_YOOKASSA_HASH, __pyx_t_3) < 0) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_send_payment_success_notificatio); - __Pyx_GIVEREF(__pyx_n_s_send_payment_success_notificatio); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_send_payment_success_notificatio)) __PYX_ERR(0, 20, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_payments_utils, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_send_payment_success_notificatio, __pyx_t_2) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_PAYMENT_OPTIONS); - __Pyx_GIVEREF(__pyx_n_s_PAYMENT_OPTIONS); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_PAYMENT_OPTIONS)) __PYX_ERR(0, 21, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_AMOUNT_TEXT); - __Pyx_GIVEREF(__pyx_n_s_AMOUNT_TEXT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_AMOUNT_TEXT)) __PYX_ERR(0, 21, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_ENTER_SUM); - __Pyx_GIVEREF(__pyx_n_s_ENTER_SUM); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_ENTER_SUM)) __PYX_ERR(0, 21, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - __Pyx_GIVEREF(__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE)) __PYX_ERR(0, 21, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_texts, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAYMENT_OPTIONS, __pyx_t_3) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_AMOUNT_TEXT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMOUNT_TEXT, __pyx_t_3) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ENTER_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ENTER_SUM, __pyx_t_3) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE, __pyx_t_3) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_logger); - __Pyx_GIVEREF(__pyx_n_s_logger); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_logger)) __PYX_ERR(0, 22, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_logger, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(0, 22, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_BACK); - __Pyx_GIVEREF(__pyx_n_s_BACK); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_BACK)) __PYX_ERR(0, 24, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_CUSTOM_AMOUNT); - __Pyx_GIVEREF(__pyx_n_s_CUSTOM_AMOUNT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_CUSTOM_AMOUNT)) __PYX_ERR(0, 24, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_PAY); - __Pyx_GIVEREF(__pyx_n_s_PAY); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_PAY)) __PYX_ERR(0, 24, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_buttons, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_BACK); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_BACK, __pyx_t_3) < 0) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_CUSTOM_AMOUNT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUSTOM_AMOUNT, __pyx_t_3) < 0) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_PAY); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAY, __pyx_t_3) < 0) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_edit_or_send_message); - __Pyx_GIVEREF(__pyx_n_s_edit_or_send_message); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_edit_or_send_message)) __PYX_ERR(0, 26, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_utils, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_edit_or_send_message, __pyx_t_2) < 0) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_router, __pyx_t_2) < 0) __PYX_ERR(0, 28, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_YOOMONEY_ENABLE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_4) { - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_YOOMONEY_ID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_2, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Account_ID, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_5); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5)) __PYX_ERR(0, 36, __pyx_L1_error); - __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PEP560_update_bases(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_5, __pyx_n_s_ReplenishBalanceState, __pyx_n_s_ReplenishBalanceState, (PyObject *) NULL, __pyx_n_s_handlers_payments_yoomoney_pay, (PyObject *) NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__pyx_t_5 != __pyx_t_2) { - if (unlikely((PyDict_SetItemString(__pyx_t_6, "__orig_bases__", __pyx_t_2) < 0))) __PYX_ERR(0, 36, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_choosing_amount_yoomoney, __pyx_t_2) < 0) __PYX_ERR(0, 37, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 38, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_waiting_for_payment_confirmation, __pyx_t_2) < 0) __PYX_ERR(0, 38, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_entering_custom_amount_yoomoney, __pyx_t_2) < 0) __PYX_ERR(0, 39, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_ReplenishBalanceState, __pyx_t_5, __pyx_t_6, NULL, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ReplenishBalanceState, __pyx_t_2) < 0) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_router); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_F); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_data); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_n_u_pay_yoomoney, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 42, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 42, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 42, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yoomoney_pay_1process_callback_pay_yoomoney, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_callback_pay_yoomoney, NULL, __pyx_n_s_handlers_payments_yoomoney_pay, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_callback_pay_yoomoney, __pyx_t_5) < 0) __PYX_ERR(0, 42, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_router); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_F); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_data); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_startswith); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 106, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 106, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yoomoney_pay_4process_amount_selection, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_amount_selection, NULL, __pyx_n_s_handlers_payments_yoomoney_pay, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_amount_selection, __pyx_t_6) < 0) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_request, __pyx_kp_s_web_Request) < 0) __PYX_ERR(0, 145, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yoomoney_pay_7yoomoney_webhook, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_yoomoney_webhook, NULL, __pyx_n_s_handlers_payments_yoomoney_pay, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_yoomoney_webhook, __pyx_t_3) < 0) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_data); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_n_u_enter_custom_amount_yoomoney, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 176, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 176, __pyx_L1_error) - __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yoomoney_pay_10process_enter_custom_amount, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_enter_custom_amount, NULL, __pyx_n_s_handlers_payments_yoomoney_pay, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_enter_custom_amount, __pyx_t_3) < 0) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_message); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_entering_custom_amount_yoomoney); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_message, __pyx_kp_s_types_Message) < 0) __PYX_ERR(0, 193, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 193, __pyx_L1_error) - __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yoomoney_pay_13process_custom_amount_input, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_custom_amount_input, NULL, __pyx_n_s_handlers_payments_yoomoney_pay, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_custom_amount_input, __pyx_t_5) < 0) __PYX_ERR(0, 193, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_5) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - if (__pyx_m) { - if (__pyx_d && stringtab_initialized) { - __Pyx_AddTraceback("init handlers.payments.yoomoney_pay", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - #if !CYTHON_USE_MODULE_STATE - Py_CLEAR(__pyx_m); - #else - Py_DECREF(__pyx_m); - if (pystate_addmodule_run) { - PyObject *tp, *value, *tb; - PyErr_Fetch(&tp, &value, &tb); - PyState_RemoveModule(&__pyx_moduledef); - PyErr_Restore(tp, value, tb); - } - #endif - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init handlers.payments.yoomoney_pay"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #elif PY_MAJOR_VERSION >= 3 - return __pyx_m; - #else - return; - #endif -} -/* #### Code section: cleanup_globals ### */ -/* #### Code section: cleanup_module ### */ -/* #### Code section: main_method ### */ -/* #### Code section: utility_code_pragmas ### */ -#ifdef _MSC_VER -#pragma warning( push ) -/* Warning 4127: conditional expression is constant - * Cython uses constant conditional expressions to allow in inline functions to be optimized at - * compile-time, so this warning is not useful - */ -#pragma warning( disable : 4127 ) -#endif - - - -/* #### Code section: utility_code_def ### */ - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* PyErrExceptionMatches */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i= 0x030C00A6 - PyObject *current_exception = tstate->current_exception; - if (unlikely(!current_exception)) return 0; - exc_type = (PyObject*) Py_TYPE(current_exception); - if (exc_type == err) return 1; -#else - exc_type = tstate->curexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; -#endif - #if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(exc_type); - #endif - if (unlikely(PyTuple_Check(err))) { - result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - } else { - result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err); - } - #if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(exc_type); - #endif - return result; -} -#endif - -/* PyErrFetchRestore */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject *tmp_value; - assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value))); - if (value) { - #if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb)) - #endif - PyException_SetTraceback(value, tb); - } - tmp_value = tstate->current_exception; - tstate->current_exception = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#endif -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject* exc_value; - exc_value = tstate->current_exception; - tstate->current_exception = 0; - *value = exc_value; - *type = NULL; - *tb = NULL; - if (exc_value) { - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - #if CYTHON_COMPILING_IN_CPYTHON - *tb = ((PyBaseExceptionObject*) exc_value)->traceback; - Py_XINCREF(*tb); - #else - *tb = PyException_GetTraceback(exc_value); - #endif - } -#else - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#endif -} -#endif - -/* PyObjectGetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_getattr)) - return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); -#endif - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* PyObjectGetAttrStrNoError */ -#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1 -static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) - __Pyx_PyErr_Clear(); -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { - PyObject *result; -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - (void) PyObject_GetOptionalAttr(obj, attr_name, &result); - return result; -#else -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { - return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); - } -#endif - result = __Pyx_PyObject_GetAttrStr(obj, attr_name); - if (unlikely(!result)) { - __Pyx_PyObject_GetAttrStr_ClearAttributeError(); - } - return result; -#endif -} - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_b, name); - if (unlikely(!result) && !PyErr_Occurred()) { - PyErr_Format(PyExc_NameError, -#if PY_MAJOR_VERSION >= 3 - "name '%U' is not defined", name); -#else - "name '%.200s' is not defined", PyString_AS_STRING(name)); -#endif - } - return result; -} - -/* TupleAndListFromArray */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) { - PyObject *v; - Py_ssize_t i; - for (i = 0; i < length; i++) { - v = dest[i] = src[i]; - Py_INCREF(v); - } -} -static CYTHON_INLINE PyObject * -__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - Py_INCREF(__pyx_empty_tuple); - return __pyx_empty_tuple; - } - res = PyTuple_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n); - return res; -} -static CYTHON_INLINE PyObject * -__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - return PyList_New(0); - } - res = PyList_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n); - return res; -} -#endif - -/* BytesEquals */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else - if (s1 == s2) { - return (equals == Py_EQ); - } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { - const char *ps1, *ps2; - Py_ssize_t length = PyBytes_GET_SIZE(s1); - if (length != PyBytes_GET_SIZE(s2)) - return (equals == Py_NE); - ps1 = PyBytes_AS_STRING(s1); - ps2 = PyBytes_AS_STRING(s2); - if (ps1[0] != ps2[0]) { - return (equals == Py_NE); - } else if (length == 1) { - return (equals == Py_EQ); - } else { - int result; -#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) - Py_hash_t hash1, hash2; - hash1 = ((PyBytesObject*)s1)->ob_shash; - hash2 = ((PyBytesObject*)s2)->ob_shash; - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - return (equals == Py_NE); - } -#endif - result = memcmp(ps1, ps2, (size_t)length); - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { - return (equals == Py_NE); - } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { - return (equals == Py_NE); - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -#endif -} - -/* UnicodeEquals */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else -#if PY_MAJOR_VERSION < 3 - PyObject* owned_ref = NULL; -#endif - int s1_is_unicode, s2_is_unicode; - if (s1 == s2) { - goto return_eq; - } - s1_is_unicode = PyUnicode_CheckExact(s1); - s2_is_unicode = PyUnicode_CheckExact(s2); -#if PY_MAJOR_VERSION < 3 - if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { - owned_ref = PyUnicode_FromObject(s2); - if (unlikely(!owned_ref)) - return -1; - s2 = owned_ref; - s2_is_unicode = 1; - } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { - owned_ref = PyUnicode_FromObject(s1); - if (unlikely(!owned_ref)) - return -1; - s1 = owned_ref; - s1_is_unicode = 1; - } else if (((!s2_is_unicode) & (!s1_is_unicode))) { - return __Pyx_PyBytes_Equals(s1, s2, equals); - } -#endif - if (s1_is_unicode & s2_is_unicode) { - Py_ssize_t length; - int kind; - void *data1, *data2; - if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) - return -1; - length = __Pyx_PyUnicode_GET_LENGTH(s1); - if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { - goto return_ne; - } -#if CYTHON_USE_UNICODE_INTERNALS - { - Py_hash_t hash1, hash2; - #if CYTHON_PEP393_ENABLED - hash1 = ((PyASCIIObject*)s1)->hash; - hash2 = ((PyASCIIObject*)s2)->hash; - #else - hash1 = ((PyUnicodeObject*)s1)->hash; - hash2 = ((PyUnicodeObject*)s2)->hash; - #endif - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - goto return_ne; - } - } -#endif - kind = __Pyx_PyUnicode_KIND(s1); - if (kind != __Pyx_PyUnicode_KIND(s2)) { - goto return_ne; - } - data1 = __Pyx_PyUnicode_DATA(s1); - data2 = __Pyx_PyUnicode_DATA(s2); - if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { - goto return_ne; - } else if (length == 1) { - goto return_eq; - } else { - int result = memcmp(data1, data2, (size_t)(length * kind)); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & s2_is_unicode) { - goto return_ne; - } else if ((s2 == Py_None) & s1_is_unicode) { - goto return_ne; - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -return_eq: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ); -return_ne: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_NE); -#endif -} - -/* fastcall */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s) -{ - Py_ssize_t i, n = PyTuple_GET_SIZE(kwnames); - for (i = 0; i < n; i++) - { - if (s == PyTuple_GET_ITEM(kwnames, i)) return kwvalues[i]; - } - for (i = 0; i < n; i++) - { - int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ); - if (unlikely(eq != 0)) { - if (unlikely(eq < 0)) return NULL; - return kwvalues[i]; - } - } - return NULL; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 -CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) { - Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames); - PyObject *dict; - dict = PyDict_New(); - if (unlikely(!dict)) - return NULL; - for (i=0; i= 3 - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, - PyString_AsString(kw_name)); - #endif -} - -/* ParseKeywords */ -static int __Pyx_ParseOptionalKeywords( - PyObject *kwds, - PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject *key = 0, *value = 0; - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; - int kwds_is_tuple = CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds)); - while (1) { - Py_XDECREF(key); key = NULL; - Py_XDECREF(value); value = NULL; - if (kwds_is_tuple) { - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(kwds); -#else - size = PyTuple_Size(kwds); - if (size < 0) goto bad; -#endif - if (pos >= size) break; -#if CYTHON_AVOID_BORROWED_REFS - key = __Pyx_PySequence_ITEM(kwds, pos); - if (!key) goto bad; -#elif CYTHON_ASSUME_SAFE_MACROS - key = PyTuple_GET_ITEM(kwds, pos); -#else - key = PyTuple_GetItem(kwds, pos); - if (!key) goto bad; -#endif - value = kwvalues[pos]; - pos++; - } - else - { - if (!PyDict_Next(kwds, &pos, &key, &value)) break; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - } - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(value); - Py_DECREF(key); -#endif - key = NULL; - value = NULL; - continue; - } -#if !CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - Py_INCREF(value); - name = first_kw_arg; - #if PY_MAJOR_VERSION < 3 - if (likely(PyString_Check(key))) { - while (*name) { - if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) - && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - if ((**argname == key) || ( - (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) - && _PyString_Eq(**argname, key))) { - goto arg_passed_twice; - } - argname++; - } - } - } else - #endif - if (likely(PyUnicode_Check(key))) { - while (*name) { - int cmp = ( - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**name, key) - ); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - int cmp = (**argname == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**argname, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - argname++; - } - } - } else - goto invalid_keyword_type; - if (kwds2) { - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else { - goto invalid_keyword; - } - } - Py_XDECREF(key); - Py_XDECREF(value); - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -invalid_keyword: - #if PY_MAJOR_VERSION < 3 - PyErr_Format(PyExc_TypeError, - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - PyErr_Format(PyExc_TypeError, - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif -bad: - Py_XDECREF(key); - Py_XDECREF(value); - return -1; -} - -/* PyDictVersioning */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ -#if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if !CYTHON_AVOID_BORROWED_REFS -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000 - result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } else if (unlikely(PyErr_Occurred())) { - return NULL; - } -#elif CYTHON_COMPILING_IN_LIMITED_API - if (unlikely(!__pyx_m)) { - return NULL; - } - result = PyObject_GetAttr(__pyx_m, name); - if (likely(result)) { - return result; - } -#else - result = PyDict_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } -#endif -#else - result = PyObject_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyErr_Clear(); -#endif - return __Pyx_GetBuiltinName(name); -} - -/* PyFunctionFastCall */ -#if CYTHON_FAST_PYCALL && !CYTHON_VECTORCALL -static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, - PyObject *globals) { - PyFrameObject *f; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject **fastlocals; - Py_ssize_t i; - PyObject *result; - assert(globals != NULL); - /* XXX Perhaps we should create a specialized - PyFrame_New() that doesn't take locals, but does - take builtins without sanity checking them. - */ - assert(tstate != NULL); - f = PyFrame_New(tstate, co, globals, NULL); - if (f == NULL) { - return NULL; - } - fastlocals = __Pyx_PyFrame_GetLocalsplus(f); - for (i = 0; i < na; i++) { - Py_INCREF(*args); - fastlocals[i] = *args++; - } - result = PyEval_EvalFrameEx(f,0); - ++tstate->recursion_depth; - Py_DECREF(f); - --tstate->recursion_depth; - return result; -} -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { - PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); - PyObject *globals = PyFunction_GET_GLOBALS(func); - PyObject *argdefs = PyFunction_GET_DEFAULTS(func); - PyObject *closure; -#if PY_MAJOR_VERSION >= 3 - PyObject *kwdefs; -#endif - PyObject *kwtuple, **k; - PyObject **d; - Py_ssize_t nd; - Py_ssize_t nk; - PyObject *result; - assert(kwargs == NULL || PyDict_Check(kwargs)); - nk = kwargs ? PyDict_Size(kwargs) : 0; - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) { - return NULL; - } - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) { - return NULL; - } - #endif - if ( -#if PY_MAJOR_VERSION >= 3 - co->co_kwonlyargcount == 0 && -#endif - likely(kwargs == NULL || nk == 0) && - co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { - if (argdefs == NULL && co->co_argcount == nargs) { - result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); - goto done; - } - else if (nargs == 0 && argdefs != NULL - && co->co_argcount == Py_SIZE(argdefs)) { - /* function called with no arguments, but all parameters have - a default value: use default values as arguments .*/ - args = &PyTuple_GET_ITEM(argdefs, 0); - result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); - goto done; - } - } - if (kwargs != NULL) { - Py_ssize_t pos, i; - kwtuple = PyTuple_New(2 * nk); - if (kwtuple == NULL) { - result = NULL; - goto done; - } - k = &PyTuple_GET_ITEM(kwtuple, 0); - pos = i = 0; - while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { - Py_INCREF(k[i]); - Py_INCREF(k[i+1]); - i += 2; - } - nk = i / 2; - } - else { - kwtuple = NULL; - k = NULL; - } - closure = PyFunction_GET_CLOSURE(func); -#if PY_MAJOR_VERSION >= 3 - kwdefs = PyFunction_GET_KW_DEFAULTS(func); -#endif - if (argdefs != NULL) { - d = &PyTuple_GET_ITEM(argdefs, 0); - nd = Py_SIZE(argdefs); - } - else { - d = NULL; - nd = 0; - } -#if PY_MAJOR_VERSION >= 3 - result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, kwdefs, closure); -#else - result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, closure); -#endif - Py_XDECREF(kwtuple); -done: - Py_LeaveRecursiveCall(); - return result; -} -#endif - -/* PyObjectCall */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = Py_TYPE(func)->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallMethO */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func); - self = __Pyx_CyOrPyCFunction_GET_SELF(func); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectFastCall */ -#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API -static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) { - PyObject *argstuple; - PyObject *result = 0; - size_t i; - argstuple = PyTuple_New((Py_ssize_t)nargs); - if (unlikely(!argstuple)) return NULL; - for (i = 0; i < nargs; i++) { - Py_INCREF(args[i]); - if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad; - } - result = __Pyx_PyObject_Call(func, argstuple, kwargs); - bad: - Py_DECREF(argstuple); - return result; -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) { - Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs); -#if CYTHON_COMPILING_IN_CPYTHON - if (nargs == 0 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS)) - return __Pyx_PyObject_CallMethO(func, NULL); - } - else if (nargs == 1 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O)) - return __Pyx_PyObject_CallMethO(func, args[0]); - } -#endif - #if PY_VERSION_HEX < 0x030800B1 - #if CYTHON_FAST_PYCCALL - if (PyCFunction_Check(func)) { - if (kwargs) { - return _PyCFunction_FastCallDict(func, args, nargs, kwargs); - } else { - return _PyCFunction_FastCallKeywords(func, args, nargs, NULL); - } - } - #if PY_VERSION_HEX >= 0x030700A1 - if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) { - return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL); - } - #endif - #endif - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs); - } - #endif - #endif - if (kwargs == NULL) { - #if CYTHON_VECTORCALL - #if PY_VERSION_HEX < 0x03090000 - vectorcallfunc f = _PyVectorcall_Function(func); - #else - vectorcallfunc f = PyVectorcall_Function(func); - #endif - if (f) { - return f(func, args, (size_t)nargs, NULL); - } - #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL - if (__Pyx_CyFunction_CheckExact(func)) { - __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func); - if (f) return f(func, args, (size_t)nargs, NULL); - } - #endif - } - if (nargs == 0) { - return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs); - } - #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API - return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs); - #else - return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs); - #endif -} - -/* FixUpExtensionType */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) { -#if PY_VERSION_HEX > 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - CYTHON_UNUSED_VAR(spec); - CYTHON_UNUSED_VAR(type); -#else - const PyType_Slot *slot = spec->slots; - while (slot && slot->slot && slot->slot != Py_tp_members) - slot++; - if (slot && slot->slot == Py_tp_members) { - int changed = 0; -#if !(PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON) - const -#endif - PyMemberDef *memb = (PyMemberDef*) slot->pfunc; - while (memb && memb->name) { - if (memb->name[0] == '_' && memb->name[1] == '_') { -#if PY_VERSION_HEX < 0x030900b1 - if (strcmp(memb->name, "__weaklistoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_weaklistoffset = memb->offset; - changed = 1; - } - else if (strcmp(memb->name, "__dictoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_dictoffset = memb->offset; - changed = 1; - } -#if CYTHON_METH_FASTCALL - else if (strcmp(memb->name, "__vectorcalloffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); -#if PY_VERSION_HEX >= 0x030800b4 - type->tp_vectorcall_offset = memb->offset; -#else - type->tp_print = (printfunc) memb->offset; -#endif - changed = 1; - } -#endif -#else - if ((0)); -#endif -#if PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON - else if (strcmp(memb->name, "__module__") == 0) { - PyObject *descr; - assert(memb->type == T_OBJECT); - assert(memb->flags == 0 || memb->flags == READONLY); - descr = PyDescr_NewMember(type, memb); - if (unlikely(!descr)) - return -1; - if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) { - Py_DECREF(descr); - return -1; - } - Py_DECREF(descr); - changed = 1; - } -#endif - } - memb++; - } - if (changed) - PyType_Modified(type); - } -#endif - return 0; -} -#endif - -/* FetchSharedCythonModule */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void) { - return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME); -} - -/* FetchCommonType */ -static int __Pyx_VerifyCachedType(PyObject *cached_type, - const char *name, - Py_ssize_t basicsize, - Py_ssize_t expected_basicsize) { - if (!PyType_Check(cached_type)) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s is not a type object", name); - return -1; - } - if (basicsize != expected_basicsize) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s has the wrong size, try recompiling", - name); - return -1; - } - return 0; -} -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { - PyObject* abi_module; - const char* object_name; - PyTypeObject *cached_type = NULL; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - object_name = strrchr(type->tp_name, '.'); - object_name = object_name ? object_name+1 : type->tp_name; - cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - if (__Pyx_VerifyCachedType( - (PyObject *)cached_type, - object_name, - cached_type->tp_basicsize, - type->tp_basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - if (PyType_Ready(type) < 0) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0) - goto bad; - Py_INCREF(type); - cached_type = type; -done: - Py_DECREF(abi_module); - return cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#else -static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) { - PyObject *abi_module, *cached_type = NULL; - const char* object_name = strrchr(spec->name, '.'); - object_name = object_name ? object_name+1 : spec->name; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - cached_type = PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - Py_ssize_t basicsize; -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *py_basicsize; - py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__"); - if (unlikely(!py_basicsize)) goto bad; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = 0; - if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; -#else - basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1; -#endif - if (__Pyx_VerifyCachedType( - cached_type, - object_name, - basicsize, - spec->basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - CYTHON_UNUSED_VAR(module); - cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases); - if (unlikely(!cached_type)) goto bad; - if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad; -done: - Py_DECREF(abi_module); - assert(cached_type == NULL || PyType_Check(cached_type)); - return (PyTypeObject *) cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#endif - -/* RaiseException */ -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - __Pyx_PyThreadState_declare - CYTHON_UNUSED_VAR(cause); - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_PyThreadState_assign - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; -} -#else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { - #if PY_VERSION_HEX >= 0x030C00A6 - PyException_SetTraceback(value, tb); - #elif CYTHON_FAST_THREAD_STATE - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} -#endif - -/* GetTopmostException */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - PyObject *exc_value = exc_info->exc_value; - if (exc_value == NULL || exc_value == Py_None) { - *value = NULL; - *type = NULL; - *tb = NULL; - } else { - *value = exc_value; - Py_INCREF(*value); - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - *tb = PyException_GetTraceback(exc_value); - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #endif -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - PyObject *tmp_value = exc_info->exc_value; - exc_info->exc_value = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); - #else - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); - #endif -} -#endif - -/* SwapException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_value = exc_info->exc_value; - exc_info->exc_value = *value; - if (tmp_value == NULL || tmp_value == Py_None) { - Py_XDECREF(tmp_value); - tmp_value = NULL; - tmp_type = NULL; - tmp_tb = NULL; - } else { - tmp_type = (PyObject*) Py_TYPE(tmp_value); - Py_INCREF(tmp_type); - #if CYTHON_COMPILING_IN_CPYTHON - tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback; - Py_XINCREF(tmp_tb); - #else - tmp_tb = PyException_GetTraceback(tmp_value); - #endif - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = *type; - exc_info->exc_value = *value; - exc_info->exc_traceback = *tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = *type; - tstate->exc_value = *value; - tstate->exc_traceback = *tb; - #endif - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); - PyErr_SetExcInfo(*type, *value, *tb); - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#endif - -/* PyObjectCall2Args */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args[3] = {NULL, arg1, arg2}; - return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectCallOneArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *args[2] = {NULL, arg}; - return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectGetMethod */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { - PyObject *attr; -#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP - __Pyx_TypeName type_name; - PyTypeObject *tp = Py_TYPE(obj); - PyObject *descr; - descrgetfunc f = NULL; - PyObject **dictptr, *dict; - int meth_found = 0; - assert (*method == NULL); - if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; - } - if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { - return 0; - } - descr = _PyType_Lookup(tp, name); - if (likely(descr != NULL)) { - Py_INCREF(descr); -#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR - if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR)) -#elif PY_MAJOR_VERSION >= 3 - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type))) - #endif -#else - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr))) - #endif -#endif - { - meth_found = 1; - } else { - f = Py_TYPE(descr)->tp_descr_get; - if (f != NULL && PyDescr_IsData(descr)) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - } - } - dictptr = _PyObject_GetDictPtr(obj); - if (dictptr != NULL && (dict = *dictptr) != NULL) { - Py_INCREF(dict); - attr = __Pyx_PyDict_GetItemStr(dict, name); - if (attr != NULL) { - Py_INCREF(attr); - Py_DECREF(dict); - Py_XDECREF(descr); - goto try_unpack; - } - Py_DECREF(dict); - } - if (meth_found) { - *method = descr; - return 1; - } - if (f != NULL) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - if (likely(descr != NULL)) { - *method = descr; - return 0; - } - type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return 0; -#else - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; -#endif -try_unpack: -#if CYTHON_UNPACK_METHODS - if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { - PyObject *function = PyMethod_GET_FUNCTION(attr); - Py_INCREF(function); - Py_DECREF(attr); - *method = function; - return 1; - } -#endif - *method = attr; - return 0; -} - -/* PyObjectCallMethod1 */ -#if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2) -static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { - PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); - Py_DECREF(method); - return result; -} -#endif -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { -#if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2 - PyObject *args[2] = {obj, arg}; - (void) __Pyx_PyObject_GetMethod; - (void) __Pyx_PyObject_CallOneArg; - (void) __Pyx_PyObject_Call2Args; - return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); -#else - PyObject *method = NULL, *result; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_Call2Args(method, obj, arg); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) return NULL; - return __Pyx__PyObject_CallMethod1(method, arg); -#endif -} - -/* PyObjectCallNoArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { - PyObject *arg[2] = {NULL, NULL}; - return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* CoroutineBase */ -#include -#if PY_VERSION_HEX >= 0x030b00a6 && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom) -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) { - PyObject *et, *ev, *tb; - PyObject *value = NULL; - CYTHON_UNUSED_VAR(__pyx_tstate); - __Pyx_ErrFetch(&et, &ev, &tb); - if (!et) { - Py_XDECREF(tb); - Py_XDECREF(ev); - Py_INCREF(Py_None); - *pvalue = Py_None; - return 0; - } - if (likely(et == PyExc_StopIteration)) { - if (!ev) { - Py_INCREF(Py_None); - value = Py_None; - } -#if PY_VERSION_HEX >= 0x030300A0 - else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) { - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); - } -#endif - else if (unlikely(PyTuple_Check(ev))) { - if (PyTuple_GET_SIZE(ev) >= 1) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - value = PyTuple_GET_ITEM(ev, 0); - Py_INCREF(value); -#else - value = PySequence_ITEM(ev, 0); -#endif - } else { - Py_INCREF(Py_None); - value = Py_None; - } - Py_DECREF(ev); - } - else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) { - value = ev; - } - if (likely(value)) { - Py_XDECREF(tb); - Py_DECREF(et); - *pvalue = value; - return 0; - } - } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - PyErr_NormalizeException(&et, &ev, &tb); - if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - Py_XDECREF(tb); - Py_DECREF(et); -#if PY_VERSION_HEX >= 0x030300A0 - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); -#else - { - PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args); - Py_DECREF(ev); - if (likely(args)) { - value = PySequence_GetItem(args, 0); - Py_DECREF(args); - } - if (unlikely(!value)) { - __Pyx_ErrRestore(NULL, NULL, NULL); - Py_INCREF(Py_None); - value = Py_None; - } - } -#endif - *pvalue = value; - return 0; -} -static CYTHON_INLINE -void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_CLEAR(exc_state->exc_value); -#else - PyObject *t, *v, *tb; - t = exc_state->exc_type; - v = exc_state->exc_value; - tb = exc_state->exc_traceback; - exc_state->exc_type = NULL; - exc_state->exc_value = NULL; - exc_state->exc_traceback = NULL; - Py_XDECREF(t); - Py_XDECREF(v); - Py_XDECREF(tb); -#endif -} -#define __Pyx_Coroutine_AlreadyRunningError(gen) (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check((PyObject*)gen)) { - msg = "coroutine already executing"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) { - msg = "async generator already executing"; - #endif - } else { - msg = "generator already executing"; - } - PyErr_SetString(PyExc_ValueError, msg); -} -#define __Pyx_Coroutine_NotStartedError(gen) (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_NotStartedError(PyObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(gen)) { - msg = "can't send non-None value to a just-started coroutine"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(gen)) { - msg = "can't send non-None value to a just-started async generator"; - #endif - } else { - msg = "can't send non-None value to a just-started generator"; - } - PyErr_SetString(PyExc_TypeError, msg); -} -#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing) (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) { - CYTHON_MAYBE_UNUSED_VAR(gen); - CYTHON_MAYBE_UNUSED_VAR(closing); - #ifdef __Pyx_Coroutine_USED - if (!closing && __Pyx_Coroutine_Check(gen)) { - PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine"); - } else - #endif - if (value) { - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration); - else - #endif - PyErr_SetNone(PyExc_StopIteration); - } -} -static -PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) { - __Pyx_PyThreadState_declare - PyThreadState *tstate; - __Pyx_ExcInfoStruct *exc_state; - PyObject *retval; - assert(!self->is_running); - if (unlikely(self->resume_label == 0)) { - if (unlikely(value && value != Py_None)) { - return __Pyx_Coroutine_NotStartedError((PyObject*)self); - } - } - if (unlikely(self->resume_label == -1)) { - return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing); - } -#if CYTHON_FAST_THREAD_STATE - __Pyx_PyThreadState_assign - tstate = __pyx_tstate; -#else - tstate = __Pyx_PyThreadState_Current; -#endif - exc_state = &self->gi_exc_state; - if (exc_state->exc_value) { - #if CYTHON_COMPILING_IN_PYPY - #else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #elif PY_VERSION_HEX >= 0x030B00a4 - exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback; - #else - exc_tb = exc_state->exc_traceback; - #endif - if (exc_tb) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - assert(f->f_back == NULL); - #if PY_VERSION_HEX >= 0x030B00A1 - f->f_back = PyThreadState_GetFrame(tstate); - #else - Py_XINCREF(tstate->frame); - f->f_back = tstate->frame; - #endif - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - Py_DECREF(exc_tb); - #endif - } - #endif - } -#if CYTHON_USE_EXC_INFO_STACK - exc_state->previous_item = tstate->exc_info; - tstate->exc_info = exc_state; -#else - if (exc_state->exc_type) { - __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } else { - __Pyx_Coroutine_ExceptionClear(exc_state); - __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } -#endif - self->is_running = 1; - retval = self->body(self, tstate, value); - self->is_running = 0; -#if CYTHON_USE_EXC_INFO_STACK - exc_state = &self->gi_exc_state; - tstate->exc_info = exc_state->previous_item; - exc_state->previous_item = NULL; - __Pyx_Coroutine_ResetFrameBackpointer(exc_state); -#endif - return retval; -} -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) { -#if CYTHON_COMPILING_IN_PYPY - CYTHON_UNUSED_VAR(exc_state); -#else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 - if (!exc_state->exc_value) return; - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #else - exc_tb = exc_state->exc_traceback; - #endif - if (likely(exc_tb)) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - Py_CLEAR(f->f_back); - #if PY_VERSION_HEX >= 0x030B00a4 - Py_DECREF(exc_tb); - #endif - } -#endif -} -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_MethodReturn(PyObject* gen, PyObject *retval) { - CYTHON_MAYBE_UNUSED_VAR(gen); - if (unlikely(!retval)) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (!__Pyx_PyErr_Occurred()) { - PyObject *exc = PyExc_StopIteration; - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - exc = __Pyx_PyExc_StopAsyncIteration; - #endif - __Pyx_PyErr_SetNone(exc); - } - } - return retval; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) -static CYTHON_INLINE -PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) { -#if PY_VERSION_HEX <= 0x030A00A1 - return _PyGen_Send(gen, arg); -#else - PyObject *result; - if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) { - if (PyAsyncGen_CheckExact(gen)) { - assert(result == Py_None); - PyErr_SetNone(PyExc_StopAsyncIteration); - } - else if (result == Py_None) { - PyErr_SetNone(PyExc_StopIteration); - } - else { -#if PY_VERSION_HEX < 0x030d00A1 - _PyGen_SetStopIterationValue(result); -#else - if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) { - PyErr_SetObject(PyExc_StopIteration, result); - } else { - PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result); - if (likely(exc != NULL)) { - PyErr_SetObject(PyExc_StopIteration, exc); - Py_DECREF(exc); - } - } -#endif - } - Py_DECREF(result); - result = NULL; - } - return result; -#endif -} -#endif -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) { - PyObject *ret; - PyObject *val = NULL; - __Pyx_Coroutine_Undelegate(gen); - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val); - ret = __Pyx_Coroutine_SendEx(gen, val, 0); - Py_XDECREF(val); - return ret; -} -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) { - PyObject *retval; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - ret = __Pyx_async_gen_asend_send(yf, value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyCoro_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - { - if (value == Py_None) - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - else - ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value); - } - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - retval = __Pyx_Coroutine_FinishDelegation(gen); - } else { - retval = __Pyx_Coroutine_SendEx(gen, value, 0); - } - return __Pyx_Coroutine_MethodReturn(self, retval); -} -static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) { - PyObject *retval = NULL; - int err = 0; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - if (__Pyx_CoroutineAwait_CheckExact(yf)) { - retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - retval = __Pyx_async_gen_asend_close(yf, NULL); - } else - if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) { - retval = __Pyx_async_gen_athrow_close(yf, NULL); - } else - #endif - { - PyObject *meth; - gen->is_running = 1; - meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_close); - if (unlikely(!meth)) { - if (unlikely(PyErr_Occurred())) { - PyErr_WriteUnraisable(yf); - } - } else { - retval = __Pyx_PyObject_CallNoArg(meth); - Py_DECREF(meth); - if (unlikely(!retval)) - err = -1; - } - gen->is_running = 0; - } - Py_XDECREF(retval); - return err; -} -static PyObject *__Pyx_Generator_Next(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Generator_Next(yf); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, Py_None); - } else - #endif - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - return __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_SendEx(gen, Py_None, 0); -} -static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self); -} -static PyObject *__Pyx_Coroutine_Close(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *retval, *raised_exception; - PyObject *yf = gen->yieldfrom; - int err = 0; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - Py_INCREF(yf); - err = __Pyx_Coroutine_CloseIter(gen, yf); - __Pyx_Coroutine_Undelegate(gen); - Py_DECREF(yf); - } - if (err == 0) - PyErr_SetNone(PyExc_GeneratorExit); - retval = __Pyx_Coroutine_SendEx(gen, NULL, 1); - if (unlikely(retval)) { - const char *msg; - Py_DECREF(retval); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(self)) { - msg = "coroutine ignored GeneratorExit"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(self)) { -#if PY_VERSION_HEX < 0x03060000 - msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)"; -#else - msg = "async generator ignored GeneratorExit"; -#endif - #endif - } else { - msg = "generator ignored GeneratorExit"; - } - PyErr_SetString(PyExc_RuntimeError, msg); - return NULL; - } - raised_exception = PyErr_Occurred(); - if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) { - if (raised_exception) PyErr_Clear(); - Py_INCREF(Py_None); - return Py_None; - } - return NULL; -} -static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb, - PyObject *args, int close_on_genexit) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - Py_INCREF(yf); - if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) { - int err = __Pyx_Coroutine_CloseIter(gen, yf); - Py_DECREF(yf); - __Pyx_Coroutine_Undelegate(gen); - if (err < 0) - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); - goto throw_here; - } - gen->is_running = 1; - if (0 - #ifdef __Pyx_Generator_USED - || __Pyx_Generator_CheckExact(yf) - #endif - #ifdef __Pyx_Coroutine_USED - || __Pyx_Coroutine_Check(yf) - #endif - ) { - ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit); - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_CoroutineAwait_CheckExact(yf)) { - ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit); - #endif - } else { - PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_throw); - if (unlikely(!meth)) { - Py_DECREF(yf); - if (unlikely(PyErr_Occurred())) { - gen->is_running = 0; - return NULL; - } - __Pyx_Coroutine_Undelegate(gen); - gen->is_running = 0; - goto throw_here; - } - if (likely(args)) { - ret = __Pyx_PyObject_Call(meth, args, NULL); - } else { - PyObject *cargs[4] = {NULL, typ, val, tb}; - ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); - } - Py_DECREF(meth); - } - gen->is_running = 0; - Py_DECREF(yf); - if (!ret) { - ret = __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_MethodReturn(self, ret); - } -throw_here: - __Pyx_Raise(typ, val, tb, NULL); - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); -} -static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) { - PyObject *typ; - PyObject *val = NULL; - PyObject *tb = NULL; - if (unlikely(!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb))) - return NULL; - return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1); -} -static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_VISIT(exc_state->exc_value); -#else - Py_VISIT(exc_state->exc_type); - Py_VISIT(exc_state->exc_value); - Py_VISIT(exc_state->exc_traceback); -#endif - return 0; -} -static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) { - Py_VISIT(gen->closure); - Py_VISIT(gen->classobj); - Py_VISIT(gen->yieldfrom); - return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg); -} -static int __Pyx_Coroutine_clear(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - Py_CLEAR(gen->closure); - Py_CLEAR(gen->classobj); - Py_CLEAR(gen->yieldfrom); - __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer); - } -#endif - Py_CLEAR(gen->gi_code); - Py_CLEAR(gen->gi_frame); - Py_CLEAR(gen->gi_name); - Py_CLEAR(gen->gi_qualname); - Py_CLEAR(gen->gi_modulename); - return 0; -} -static void __Pyx_Coroutine_dealloc(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject_GC_UnTrack(gen); - if (gen->gi_weakreflist != NULL) - PyObject_ClearWeakRefs(self); - if (gen->resume_label >= 0) { - PyObject_GC_Track(self); -#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE - if (unlikely(PyObject_CallFinalizerFromDealloc(self))) -#else - Py_TYPE(gen)->tp_del(self); - if (unlikely(Py_REFCNT(self) > 0)) -#endif - { - return; - } - PyObject_GC_UnTrack(self); - } -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - /* We have to handle this case for asynchronous generators - right here, because this code has to be between UNTRACK - and GC_Del. */ - Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer); - } -#endif - __Pyx_Coroutine_clear(self); - __Pyx_PyHeapTypeObject_GC_Del(gen); -} -static void __Pyx_Coroutine_del(PyObject *self) { - PyObject *error_type, *error_value, *error_traceback; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - __Pyx_PyThreadState_declare - if (gen->resume_label < 0) { - return; - } -#if !CYTHON_USE_TP_FINALIZE - assert(self->ob_refcnt == 0); - __Pyx_SET_REFCNT(self, 1); -#endif - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&error_type, &error_value, &error_traceback); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self; - PyObject *finalizer = agen->ag_finalizer; - if (finalizer && !agen->ag_closed) { - PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self); - if (unlikely(!res)) { - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); - return; - } - } -#endif - if (unlikely(gen->resume_label == 0 && !error_value)) { -#ifdef __Pyx_Coroutine_USED -#ifdef __Pyx_Generator_USED - if (!__Pyx_Generator_CheckExact(self)) -#endif - { - PyObject_GC_UnTrack(self); -#if PY_MAJOR_VERSION >= 3 || defined(PyErr_WarnFormat) - if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0)) - PyErr_WriteUnraisable(self); -#else - {PyObject *msg; - char *cmsg; - #if CYTHON_COMPILING_IN_PYPY - msg = NULL; - cmsg = (char*) "coroutine was never awaited"; - #else - char *cname; - PyObject *qualname; - qualname = gen->gi_qualname; - cname = PyString_AS_STRING(qualname); - msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname); - if (unlikely(!msg)) { - PyErr_Clear(); - cmsg = (char*) "coroutine was never awaited"; - } else { - cmsg = PyString_AS_STRING(msg); - } - #endif - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0)) - PyErr_WriteUnraisable(self); - Py_XDECREF(msg);} -#endif - PyObject_GC_Track(self); - } -#endif - } else { - PyObject *res = __Pyx_Coroutine_Close(self); - if (unlikely(!res)) { - if (PyErr_Occurred()) - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); -#if !CYTHON_USE_TP_FINALIZE - assert(Py_REFCNT(self) > 0); - if (likely(--self->ob_refcnt == 0)) { - return; - } - { - Py_ssize_t refcnt = Py_REFCNT(self); - _Py_NewReference(self); - __Pyx_SET_REFCNT(self, refcnt); - } -#if CYTHON_COMPILING_IN_CPYTHON - assert(PyType_IS_GC(Py_TYPE(self)) && - _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED); - _Py_DEC_REFTOTAL; -#endif -#ifdef COUNT_ALLOCS - --Py_TYPE(self)->tp_frees; - --Py_TYPE(self)->tp_allocs; -#endif -#endif -} -static PyObject * -__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_name; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_name, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_qualname; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_qualname, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context) -{ - PyObject *frame = self->gi_frame; - CYTHON_UNUSED_VAR(context); - if (!frame) { - if (unlikely(!self->gi_code)) { - Py_RETURN_NONE; - } - frame = (PyObject *) PyFrame_New( - PyThreadState_Get(), /*PyThreadState *tstate,*/ - (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (unlikely(!frame)) - return NULL; - self->gi_frame = frame; - } - Py_INCREF(frame); - return frame; -} -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type); - if (unlikely(!gen)) - return NULL; - return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name); -} -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - gen->body = body; - gen->closure = closure; - Py_XINCREF(closure); - gen->is_running = 0; - gen->resume_label = 0; - gen->classobj = NULL; - gen->yieldfrom = NULL; - #if PY_VERSION_HEX >= 0x030B00a4 - gen->gi_exc_state.exc_value = NULL; - #else - gen->gi_exc_state.exc_type = NULL; - gen->gi_exc_state.exc_value = NULL; - gen->gi_exc_state.exc_traceback = NULL; - #endif -#if CYTHON_USE_EXC_INFO_STACK - gen->gi_exc_state.previous_item = NULL; -#endif - gen->gi_weakreflist = NULL; - Py_XINCREF(qualname); - gen->gi_qualname = qualname; - Py_XINCREF(name); - gen->gi_name = name; - Py_XINCREF(module_name); - gen->gi_modulename = module_name; - Py_XINCREF(code); - gen->gi_code = code; - gen->gi_frame = NULL; - PyObject_GC_Track(gen); - return gen; -} - -/* PyObject_GenericGetAttrNoDict */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { - __Pyx_TypeName type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, attr_name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(attr_name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { - PyObject *descr; - PyTypeObject *tp = Py_TYPE(obj); - if (unlikely(!PyString_Check(attr_name))) { - return PyObject_GenericGetAttr(obj, attr_name); - } - assert(!tp->tp_dictoffset); - descr = _PyType_Lookup(tp, attr_name); - if (unlikely(!descr)) { - return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); - } - Py_INCREF(descr); - #if PY_MAJOR_VERSION < 3 - if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) - #endif - { - descrgetfunc f = Py_TYPE(descr)->tp_descr_get; - if (unlikely(f)) { - PyObject *res = f(descr, obj, (PyObject *)tp); - Py_DECREF(descr); - return res; - } - } - return descr; -} -#endif - -/* PatchModuleWithCoroutine */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - int result; - PyObject *globals, *result_obj; - globals = PyDict_New(); if (unlikely(!globals)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_coroutine_type", - #ifdef __Pyx_Coroutine_USED - (PyObject*)__pyx_CoroutineType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_generator_type", - #ifdef __Pyx_Generator_USED - (PyObject*)__pyx_GeneratorType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore; - result_obj = PyRun_String(py_code, Py_file_input, globals, globals); - if (unlikely(!result_obj)) goto ignore; - Py_DECREF(result_obj); - Py_DECREF(globals); - return module; -ignore: - Py_XDECREF(globals); - PyErr_WriteUnraisable(module); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) { - Py_DECREF(module); - module = NULL; - } -#else - py_code++; -#endif - return module; -} - -/* PatchGeneratorABC */ -#ifndef CYTHON_REGISTER_ABCS -#define CYTHON_REGISTER_ABCS 1 -#endif -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) -static PyObject* __Pyx_patch_abc_module(PyObject *module); -static PyObject* __Pyx_patch_abc_module(PyObject *module) { - module = __Pyx_Coroutine_patch_module( - module, "" -"if _cython_generator_type is not None:\n" -" try: Generator = _module.Generator\n" -" except AttributeError: pass\n" -" else: Generator.register(_cython_generator_type)\n" -"if _cython_coroutine_type is not None:\n" -" try: Coroutine = _module.Coroutine\n" -" except AttributeError: pass\n" -" else: Coroutine.register(_cython_coroutine_type)\n" - ); - return module; -} -#endif -static int __Pyx_patch_abc(void) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - static int abc_patched = 0; - if (CYTHON_REGISTER_ABCS && !abc_patched) { - PyObject *module; - module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections"); - if (unlikely(!module)) { - PyErr_WriteUnraisable(NULL); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, - ((PY_MAJOR_VERSION >= 3) ? - "Cython module failed to register with collections.abc module" : - "Cython module failed to register with collections module"), 1) < 0)) { - return -1; - } - } else { - module = __Pyx_patch_abc_module(module); - abc_patched = 1; - if (unlikely(!module)) - return -1; - Py_DECREF(module); - } - module = PyImport_ImportModule("backports_abc"); - if (module) { - module = __Pyx_patch_abc_module(module); - Py_XDECREF(module); - } - if (!module) { - PyErr_Clear(); - } - } -#else - if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL); -#endif - return 0; -} - -/* Coroutine */ -static void __Pyx_CoroutineAwait_dealloc(PyObject *self) { - PyObject_GC_UnTrack(self); - Py_CLEAR(((__pyx_CoroutineAwaitObject*)self)->coroutine); - __Pyx_PyHeapTypeObject_GC_Del(self); -} -static int __Pyx_CoroutineAwait_traverse(__pyx_CoroutineAwaitObject *self, visitproc visit, void *arg) { - Py_VISIT(self->coroutine); - return 0; -} -static int __Pyx_CoroutineAwait_clear(__pyx_CoroutineAwaitObject *self) { - Py_CLEAR(self->coroutine); - return 0; -} -static PyObject *__Pyx_CoroutineAwait_Next(__pyx_CoroutineAwaitObject *self) { - return __Pyx_Generator_Next(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_Send(__pyx_CoroutineAwaitObject *self, PyObject *value) { - return __Pyx_Coroutine_Send(self->coroutine, value); -} -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args) { - return __Pyx_Coroutine_Throw(self->coroutine, args); -} -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_self(PyObject *self) { - Py_INCREF(self); - return self; -} -#if !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_CoroutineAwait_no_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { - CYTHON_UNUSED_VAR(type); - CYTHON_UNUSED_VAR(args); - CYTHON_UNUSED_VAR(kwargs); - PyErr_SetString(PyExc_TypeError, "cannot instantiate type, use 'await coroutine' instead"); - return NULL; -} -#endif -static PyObject *__Pyx_CoroutineAwait_reduce_ex(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - PyErr_Format(PyExc_TypeError, "cannot pickle '%.200s' object", - Py_TYPE(self)->tp_name); - return NULL; -} -static PyMethodDef __pyx_CoroutineAwait_methods[] = { - {"send", (PyCFunction) __Pyx_CoroutineAwait_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_CoroutineAwait_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_CoroutineAwait_Close, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, - {"__reduce_ex__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_O, 0}, - {"__reduce__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_NOARGS, 0}, - {0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineAwaitType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CoroutineAwait_dealloc}, - {Py_tp_traverse, (void *)__Pyx_CoroutineAwait_traverse}, - {Py_tp_clear, (void *)__Pyx_CoroutineAwait_clear}, -#if !CYTHON_COMPILING_IN_PYPY - {Py_tp_new, (void *)__Pyx_CoroutineAwait_no_new}, -#endif - {Py_tp_methods, (void *)__pyx_CoroutineAwait_methods}, - {Py_tp_iter, (void *)__Pyx_CoroutineAwait_self}, - {Py_tp_iternext, (void *)__Pyx_CoroutineAwait_Next}, - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineAwaitType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - __pyx_CoroutineAwaitType_slots -}; -#else -static PyTypeObject __pyx_CoroutineAwaitType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - (destructor) __Pyx_CoroutineAwait_dealloc, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - PyDoc_STR("A wrapper object implementing __await__ for coroutines."), - (traverseproc) __Pyx_CoroutineAwait_traverse, - (inquiry) __Pyx_CoroutineAwait_clear, - 0, - 0, - __Pyx_CoroutineAwait_self, - (iternextfunc) __Pyx_CoroutineAwait_Next, - __pyx_CoroutineAwait_methods, - 0 , - 0 , - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if !CYTHON_COMPILING_IN_PYPY - __Pyx_CoroutineAwait_no_new, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -#if PY_VERSION_HEX < 0x030500B1 || defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static CYTHON_INLINE PyObject *__Pyx__Coroutine_await(PyObject *coroutine) { - __pyx_CoroutineAwaitObject *await = PyObject_GC_New(__pyx_CoroutineAwaitObject, __pyx_CoroutineAwaitType); - if (unlikely(!await)) return NULL; - Py_INCREF(coroutine); - await->coroutine = coroutine; - PyObject_GC_Track(await); - return (PyObject*)await; -} -#endif -#if PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_await_method(PyObject *coroutine, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static PyObject *__Pyx_Coroutine_await(PyObject *coroutine) { - if (unlikely(!coroutine || !__Pyx_Coroutine_Check(coroutine))) { - PyErr_SetString(PyExc_TypeError, "invalid input, expected coroutine"); - return NULL; - } - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_compare(PyObject *obj, PyObject *other, int op) { - PyObject* result; - switch (op) { - case Py_EQ: result = (other == obj) ? Py_True : Py_False; break; - case Py_NE: result = (other != obj) ? Py_True : Py_False; break; - default: - result = Py_NotImplemented; - } - Py_INCREF(result); - return result; -} -#endif -static PyMethodDef __pyx_Coroutine_methods[] = { - {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, -#if PY_VERSION_HEX < 0x030500B1 - {"__await__", (PyCFunction) __Pyx_Coroutine_await_method, METH_NOARGS, - (char*) PyDoc_STR("__await__() -> return an iterator to be used in await expression.")}, -#endif - {0, 0, 0, 0} -}; -static PyMemberDef __pyx_Coroutine_memberlist[] = { - {(char *) "cr_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL}, - {(char*) "cr_await", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY, - (char*) PyDoc_STR("object being awaited, or None")}, - {(char*) "cr_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL}, - {(char *) "__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0}, -#if CYTHON_USE_TYPE_SPECS - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyGetSetDef __pyx_Coroutine_getsets[] = { - {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name, - (char*) PyDoc_STR("name of the coroutine"), 0}, - {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname, - (char*) PyDoc_STR("qualified name of the coroutine"), 0}, - {(char *) "cr_frame", (getter)__Pyx_Coroutine_get_frame, NULL, - (char*) PyDoc_STR("Frame of the coroutine"), 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc}, - {Py_am_await, (void *)&__Pyx_Coroutine_await}, - {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse}, - {Py_tp_methods, (void *)__pyx_Coroutine_methods}, - {Py_tp_members, (void *)__pyx_Coroutine_memberlist}, - {Py_tp_getset, (void *)__pyx_Coroutine_getsets}, - {Py_tp_getattro, (void *) __Pyx_PyObject_GenericGetAttrNoDict}, -#if CYTHON_USE_TP_FINALIZE - {Py_tp_finalize, (void *)__Pyx_Coroutine_del}, -#endif - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - __pyx_CoroutineType_slots -}; -#else -#if CYTHON_USE_ASYNC_SLOTS -static __Pyx_PyAsyncMethodsStruct __pyx_Coroutine_as_async = { - __Pyx_Coroutine_await, - 0, - 0, -#if PY_VERSION_HEX >= 0x030A00A3 - 0, -#endif -}; -#endif -static PyTypeObject __pyx_CoroutineType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - (destructor) __Pyx_Coroutine_dealloc, - 0, - 0, - 0, -#if CYTHON_USE_ASYNC_SLOTS - &__pyx_Coroutine_as_async, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - 0, - (traverseproc) __Pyx_Coroutine_traverse, - 0, -#if CYTHON_USE_ASYNC_SLOTS && CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 - __Pyx_Coroutine_compare, -#else - 0, -#endif - offsetof(__pyx_CoroutineObject, gi_weakreflist), - 0, - 0, - __pyx_Coroutine_methods, - __pyx_Coroutine_memberlist, - __pyx_Coroutine_getsets, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if CYTHON_USE_TP_FINALIZE - 0, -#else - __Pyx_Coroutine_del, -#endif - 0, -#if CYTHON_USE_TP_FINALIZE - __Pyx_Coroutine_del, -#elif PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_Coroutine_init(PyObject *module) { - CYTHON_MAYBE_UNUSED_VAR(module); -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineType_spec, NULL); -#else - __pyx_CoroutineType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - __pyx_CoroutineType = __Pyx_FetchCommonType(&__pyx_CoroutineType_type); -#endif - if (unlikely(!__pyx_CoroutineType)) - return -1; -#ifdef __Pyx_IterableCoroutine_USED - if (unlikely(__pyx_IterableCoroutine_init(module) == -1)) - return -1; -#endif -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineAwaitType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineAwaitType_spec, NULL); -#else - __pyx_CoroutineAwaitType = __Pyx_FetchCommonType(&__pyx_CoroutineAwaitType_type); -#endif - if (unlikely(!__pyx_CoroutineAwaitType)) - return -1; - return 0; -} - -/* GetAwaitIter */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o) { -#ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(o)) { - return __Pyx_NewRef(o); - } -#endif - return __Pyx__Coroutine_GetAwaitableIter(o); -} -static void __Pyx_Coroutine_AwaitableIterError(PyObject *source) { -#if PY_VERSION_HEX >= 0x030600B3 && PY_VERSION_HEX < 0x030d0000 || defined(_PyErr_FormatFromCause) - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - _PyErr_FormatFromCause(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); -#elif PY_MAJOR_VERSION >= 3 - PyObject *exc, *val, *val2, *tb; - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - assert(PyErr_Occurred()); - PyErr_Fetch(&exc, &val, &tb); - PyErr_NormalizeException(&exc, &val, &tb); - if (tb != NULL) { - PyException_SetTraceback(val, tb); - Py_DECREF(tb); - } - Py_DECREF(exc); - assert(!PyErr_Occurred()); - PyErr_Format(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); - PyErr_Fetch(&exc, &val2, &tb); - PyErr_NormalizeException(&exc, &val2, &tb); - Py_INCREF(val); - PyException_SetCause(val2, val); - PyException_SetContext(val2, val); - PyErr_Restore(exc, val2, tb); -#else - CYTHON_UNUSED_VAR(source); -#endif -} -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *obj) { - PyObject *res; -#if CYTHON_USE_ASYNC_SLOTS - __Pyx_PyAsyncMethodsStruct* am = __Pyx_PyType_AsAsync(obj); - if (likely(am && am->am_await)) { - res = (*am->am_await)(obj); - } else -#endif -#if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - if (PyCoro_CheckExact(obj)) { - return __Pyx_NewRef(obj); - } else -#endif -#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE) -#if PY_VERSION_HEX >= 0x030C00A6 - if (PyGen_CheckExact(obj) && (PyGen_GetCode((PyGenObject*)obj)->co_flags & CO_ITERABLE_COROUTINE)) { -#else - if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) { -#endif - return __Pyx_NewRef(obj); - } else -#endif - { - PyObject *method = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, __pyx_n_s_await, &method); - if (likely(is_method)) { - res = __Pyx_PyObject_CallOneArg(method, obj); - } else if (likely(method)) { - res = __Pyx_PyObject_CallNoArg(method); - } else - goto slot_error; - Py_DECREF(method); - } - if (unlikely(!res)) { - __Pyx_Coroutine_AwaitableIterError(obj); - goto bad; - } - if (unlikely(!PyIter_Check(res))) { - __Pyx_TypeName res_type_name = __Pyx_PyType_GetName(Py_TYPE(res)); - PyErr_Format(PyExc_TypeError, - "__await__() returned non-iterator of type '" __Pyx_FMT_TYPENAME "'", res_type_name); - __Pyx_DECREF_TypeName(res_type_name); - Py_CLEAR(res); - } else { - int is_coroutine = 0; - #ifdef __Pyx_Coroutine_USED - is_coroutine |= __Pyx_Coroutine_Check(res); - #endif - #if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - is_coroutine |= PyCoro_CheckExact(res); - #endif - if (unlikely(is_coroutine)) { - /* __await__ must return an *iterator*, not - a coroutine or another awaitable (see PEP 492) */ - PyErr_SetString(PyExc_TypeError, - "__await__() returned a coroutine"); - Py_CLEAR(res); - } - } - return res; -slot_error: - { - __Pyx_TypeName obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "object " __Pyx_FMT_TYPENAME " can't be used in 'await' expression", obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); - } -bad: - return NULL; -} - -/* CoroutineYieldFrom */ - static PyObject* __Pyx__Coroutine_Yield_From_Generic(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - PyObject *source_gen = __Pyx__Coroutine_GetAwaitableIter(source); - if (unlikely(!source_gen)) { - return NULL; - } - if (__Pyx_Coroutine_Check(source_gen)) { - retval = __Pyx_Generator_Next(source_gen); - } else { - retval = __Pyx_PyObject_GetIterNextFunc(source_gen)(source_gen); - } - if (retval) { - gen->yieldfrom = source_gen; - return retval; - } - Py_DECREF(source_gen); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - if (__Pyx_Coroutine_Check(source)) { - if (unlikely(((__pyx_CoroutineObject*)source)->yieldfrom)) { - PyErr_SetString( - PyExc_RuntimeError, - "coroutine is being awaited already"); - return NULL; - } - retval = __Pyx_Generator_Next(source); -#ifdef __Pyx_AsyncGen_USED - } else if (__pyx_PyAsyncGenASend_CheckExact(source)) { - retval = __Pyx_async_gen_asend_iternext(source); -#endif - } else { - return __Pyx__Coroutine_Yield_From_Generic(gen, source); - } - if (retval) { - Py_INCREF(source); - gen->yieldfrom = source; - } - return retval; -} - -/* PyIntBinop */ - #if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_MAYBE_UNUSED_VAR(inplace); - CYTHON_UNUSED_VAR(zerodivision_check); - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - - x = (long)((unsigned long)a + (unsigned long)b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - if (unlikely(__Pyx_PyLong_IsZero(op1))) { - return __Pyx_NewRef(op2); - } - if (likely(__Pyx_PyLong_IsCompact(op1))) { - a = __Pyx_PyLong_CompactValue(op1); - } else { - const digit* digits = __Pyx_PyLong_Digits(op1); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1); - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - double result; - - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* GetItemInt */ - static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (unlikely(!j)) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyList_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyTuple_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping; - PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence; - if (mm && mm->mp_subscript) { - PyObject *r, *key = PyInt_FromSsize_t(i); - if (unlikely(!key)) return NULL; - r = mm->mp_subscript(o, key); - Py_DECREF(key); - return r; - } - if (likely(sm && sm->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) { - Py_ssize_t l = sm->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return NULL; - PyErr_Clear(); - } - } - return sm->sq_item(o, i); - } - } -#else - if (is_list || !PyMapping_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - -/* ObjectGetItem */ - #if CYTHON_USE_TYPE_SLOTS -static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) { - PyObject *runerr = NULL; - Py_ssize_t key_value; - key_value = __Pyx_PyIndex_AsSsize_t(index); - if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { - return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); - } - if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { - __Pyx_TypeName index_type_name = __Pyx_PyType_GetName(Py_TYPE(index)); - PyErr_Clear(); - PyErr_Format(PyExc_IndexError, - "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", index_type_name); - __Pyx_DECREF_TypeName(index_type_name); - } - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) { - __Pyx_TypeName obj_type_name; - if (likely(PyType_Check(obj))) { - PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_n_s_class_getitem); - if (!meth) { - PyErr_Clear(); - } else { - PyObject *result = __Pyx_PyObject_CallOneArg(meth, key); - Py_DECREF(meth); - return result; - } - } - obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) { - PyTypeObject *tp = Py_TYPE(obj); - PyMappingMethods *mm = tp->tp_as_mapping; - PySequenceMethods *sm = tp->tp_as_sequence; - if (likely(mm && mm->mp_subscript)) { - return mm->mp_subscript(obj, key); - } - if (likely(sm && sm->sq_item)) { - return __Pyx_PyObject_GetIndex(obj, key); - } - return __Pyx_PyObject_GetItem_Slow(obj, key); -} -#endif - -/* DictGetItem */ - #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { - PyObject *value; - value = PyDict_GetItemWithError(d, key); - if (unlikely(!value)) { - if (!PyErr_Occurred()) { - if (unlikely(PyTuple_Check(key))) { - PyObject* args = PyTuple_Pack(1, key); - if (likely(args)) { - PyErr_SetObject(PyExc_KeyError, args); - Py_DECREF(args); - } - } else { - PyErr_SetObject(PyExc_KeyError, key); - } - } - return NULL; - } - Py_INCREF(value); - return value; -} -#endif - -/* PyIntCompare */ - static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_UNUSED_VAR(inplace); - if (op1 == op2) { - return 1; - } - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long a = PyInt_AS_LONG(op1); - return (a == b); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - int unequal; - unsigned long uintval; - Py_ssize_t size = __Pyx_PyLong_DigitCount(op1); - const digit* digits = __Pyx_PyLong_Digits(op1); - if (intval == 0) { - return (__Pyx_PyLong_IsZero(op1) == 1); - } else if (intval < 0) { - if (__Pyx_PyLong_IsNonNeg(op1)) - return 0; - intval = -intval; - } else { - if (__Pyx_PyLong_IsNeg(op1)) - return 0; - } - uintval = (unsigned long) intval; -#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 4)) { - unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 3)) { - unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 2)) { - unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 1)) { - unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif - unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); - return (unequal == 0); - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - return ((double)a == (double)b); - } - return __Pyx_PyObject_IsTrueAndDecref( - PyObject_RichCompare(op1, op2, Py_EQ)); -} - -/* GetException */ - #if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type = NULL, *local_value, *local_tb = NULL; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if PY_VERSION_HEX >= 0x030C00A6 - local_value = tstate->current_exception; - tstate->current_exception = 0; - if (likely(local_value)) { - local_type = (PyObject*) Py_TYPE(local_value); - Py_INCREF(local_type); - local_tb = PyException_GetTraceback(local_value); - } - #else - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; - #endif -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE && PY_VERSION_HEX >= 0x030C00A6 - if (unlikely(tstate->current_exception)) -#elif CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - #if PY_VERSION_HEX >= 0x030B00a4 - tmp_value = exc_info->exc_value; - exc_info->exc_value = local_value; - tmp_type = NULL; - tmp_tb = NULL; - Py_XDECREF(local_type); - Py_XDECREF(local_tb); - #else - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - #endif - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -/* pep479 */ - static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) { - PyObject *exc, *val, *tb, *cur_exc; - __Pyx_PyThreadState_declare - #ifdef __Pyx_StopAsyncIteration_USED - int is_async_stopiteration = 0; - #endif - CYTHON_MAYBE_UNUSED_VAR(in_async_gen); - cur_exc = PyErr_Occurred(); - if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) { - #ifdef __Pyx_StopAsyncIteration_USED - if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, __Pyx_PyExc_StopAsyncIteration))) { - is_async_stopiteration = 1; - } else - #endif - return; - } - __Pyx_PyThreadState_assign - __Pyx_GetException(&exc, &val, &tb); - Py_XDECREF(exc); - Py_XDECREF(val); - Py_XDECREF(tb); - PyErr_SetString(PyExc_RuntimeError, - #ifdef __Pyx_StopAsyncIteration_USED - is_async_stopiteration ? "async generator raised StopAsyncIteration" : - in_async_gen ? "async generator raised StopIteration" : - #endif - "generator raised StopIteration"); -} - -/* JoinPyUnicode */ - static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char) { -#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - PyObject *result_uval; - int result_ukind, kind_shift; - Py_ssize_t i, char_pos; - void *result_udata; - CYTHON_MAYBE_UNUSED_VAR(max_char); -#if CYTHON_PEP393_ENABLED - result_uval = PyUnicode_New(result_ulength, max_char); - if (unlikely(!result_uval)) return NULL; - result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND; - kind_shift = (result_ukind == PyUnicode_4BYTE_KIND) ? 2 : result_ukind - 1; - result_udata = PyUnicode_DATA(result_uval); -#else - result_uval = PyUnicode_FromUnicode(NULL, result_ulength); - if (unlikely(!result_uval)) return NULL; - result_ukind = sizeof(Py_UNICODE); - kind_shift = (result_ukind == 4) ? 2 : result_ukind - 1; - result_udata = PyUnicode_AS_UNICODE(result_uval); -#endif - assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0); - char_pos = 0; - for (i=0; i < value_count; i++) { - int ukind; - Py_ssize_t ulength; - void *udata; - PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); - if (unlikely(__Pyx_PyUnicode_READY(uval))) - goto bad; - ulength = __Pyx_PyUnicode_GET_LENGTH(uval); - if (unlikely(!ulength)) - continue; - if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos)) - goto overflow; - ukind = __Pyx_PyUnicode_KIND(uval); - udata = __Pyx_PyUnicode_DATA(uval); - if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) { - memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift)); - } else { - #if PY_VERSION_HEX >= 0x030d0000 - if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad; - #elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters) - _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength); - #else - Py_ssize_t j; - for (j=0; j < ulength; j++) { - Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j); - __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar); - } - #endif - } - char_pos += ulength; - } - return result_uval; -overflow: - PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string"); -bad: - Py_DECREF(result_uval); - return NULL; -#else - CYTHON_UNUSED_VAR(max_char); - CYTHON_UNUSED_VAR(result_ulength); - CYTHON_UNUSED_VAR(value_count); - return PyUnicode_Join(__pyx_empty_unicode, value_tuple); -#endif -} - -/* ReturnWithStopIteration */ - static void __Pyx__ReturnWithStopIteration(PyObject* value) { - PyObject *exc, *args; -#if CYTHON_COMPILING_IN_CPYTHON - __Pyx_PyThreadState_declare - if (PY_VERSION_HEX >= 0x030C00A6 - || unlikely(PyTuple_Check(value) || PyExceptionInstance_Check(value))) { - args = PyTuple_New(1); - if (unlikely(!args)) return; - Py_INCREF(value); - PyTuple_SET_ITEM(args, 0, value); - exc = PyType_Type.tp_call(PyExc_StopIteration, args, NULL); - Py_DECREF(args); - if (!exc) return; - } else { - Py_INCREF(value); - exc = value; - } - #if CYTHON_FAST_THREAD_STATE - __Pyx_PyThreadState_assign - #if CYTHON_USE_EXC_INFO_STACK - if (!__pyx_tstate->exc_info->exc_value) - #else - if (!__pyx_tstate->exc_type) - #endif - { - Py_INCREF(PyExc_StopIteration); - __Pyx_ErrRestore(PyExc_StopIteration, exc, NULL); - return; - } - #endif -#else - args = PyTuple_Pack(1, value); - if (unlikely(!args)) return; - exc = PyObject_Call(PyExc_StopIteration, args, NULL); - Py_DECREF(args); - if (unlikely(!exc)) return; -#endif - PyErr_SetObject(PyExc_StopIteration, exc); - Py_DECREF(exc); -} - -/* pybytes_as_double */ - static double __Pyx_SlowPyString_AsDouble(PyObject *obj) { - PyObject *float_value; -#if PY_MAJOR_VERSION >= 3 - float_value = PyFloat_FromString(obj); -#else - float_value = PyFloat_FromString(obj, 0); -#endif - if (likely(float_value)) { -#if CYTHON_ASSUME_SAFE_MACROS - double value = PyFloat_AS_DOUBLE(float_value); -#else - double value = PyFloat_AsDouble(float_value); -#endif - Py_DECREF(float_value); - return value; - } - return (double)-1; -} -static const char* __Pyx__PyBytes_AsDouble_Copy(const char* start, char* buffer, Py_ssize_t length) { - int last_was_punctuation = 1; - Py_ssize_t i; - for (i=0; i < length; i++) { - char chr = start[i]; - int is_punctuation = (chr == '_') | (chr == '.') | (chr == 'e') | (chr == 'E'); - *buffer = chr; - buffer += (chr != '_'); - if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure; - last_was_punctuation = is_punctuation; - } - if (unlikely(last_was_punctuation)) goto parse_failure; - *buffer = '\0'; - return buffer; -parse_failure: - return NULL; -} -static double __Pyx__PyBytes_AsDouble_inf_nan(const char* start, Py_ssize_t length) { - int matches = 1; - char sign = start[0]; - int is_signed = (sign == '+') | (sign == '-'); - start += is_signed; - length -= is_signed; - switch (start[0]) { - #ifdef Py_NAN - case 'n': - case 'N': - if (unlikely(length != 3)) goto parse_failure; - matches &= (start[1] == 'a' || start[1] == 'A'); - matches &= (start[2] == 'n' || start[2] == 'N'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_NAN : Py_NAN; - #endif - case 'i': - case 'I': - if (unlikely(length < 3)) goto parse_failure; - matches &= (start[1] == 'n' || start[1] == 'N'); - matches &= (start[2] == 'f' || start[2] == 'F'); - if (likely(length == 3 && matches)) - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - if (unlikely(length != 8)) goto parse_failure; - matches &= (start[3] == 'i' || start[3] == 'I'); - matches &= (start[4] == 'n' || start[4] == 'N'); - matches &= (start[5] == 'i' || start[5] == 'I'); - matches &= (start[6] == 't' || start[6] == 'T'); - matches &= (start[7] == 'y' || start[7] == 'Y'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - break; - default: - goto parse_failure; - } - return 0.0; -parse_failure: - return -1.0; -} -static CYTHON_INLINE int __Pyx__PyBytes_AsDouble_IsSpace(char ch) { - return (ch == 0x20) | !((ch < 0x9) | (ch > 0xd)); -} -CYTHON_UNUSED static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length) { - double value; - Py_ssize_t i, digits; - const char *last = start + length; - char *end; - while (__Pyx__PyBytes_AsDouble_IsSpace(*start)) - start++; - while (start < last - 1 && __Pyx__PyBytes_AsDouble_IsSpace(last[-1])) - last--; - length = last - start; - if (unlikely(length <= 0)) goto fallback; - value = __Pyx__PyBytes_AsDouble_inf_nan(start, length); - if (unlikely(value == -1.0)) goto fallback; - if (value != 0.0) return value; - digits = 0; - for (i=0; i < length; digits += start[i++] != '_'); - if (likely(digits == length)) { - value = PyOS_string_to_double(start, &end, NULL); - } else if (digits < 40) { - char number[40]; - last = __Pyx__PyBytes_AsDouble_Copy(start, number, length); - if (unlikely(!last)) goto fallback; - value = PyOS_string_to_double(number, &end, NULL); - } else { - char *number = (char*) PyMem_Malloc((digits + 1) * sizeof(char)); - if (unlikely(!number)) goto fallback; - last = __Pyx__PyBytes_AsDouble_Copy(start, number, length); - if (unlikely(!last)) { - PyMem_Free(number); - goto fallback; - } - value = PyOS_string_to_double(number, &end, NULL); - PyMem_Free(number); - } - if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) { - return value; - } -fallback: - return __Pyx_SlowPyString_AsDouble(obj); -} - -/* pyobject_as_double */ - static double __Pyx__PyObject_AsDouble(PyObject* obj) { - if (PyUnicode_CheckExact(obj)) { - return __Pyx_PyUnicode_AsDouble(obj); - } else if (PyBytes_CheckExact(obj)) { - return __Pyx_PyBytes_AsDouble(obj); - } else if (PyByteArray_CheckExact(obj)) { - return __Pyx_PyByteArray_AsDouble(obj); - } else { - PyObject* float_value; -#if !CYTHON_USE_TYPE_SLOTS - float_value = PyNumber_Float(obj); if ((0)) goto bad; - (void)__Pyx_PyObject_CallOneArg; -#else - PyNumberMethods *nb = Py_TYPE(obj)->tp_as_number; - if (likely(nb) && likely(nb->nb_float)) { - float_value = nb->nb_float(obj); - if (likely(float_value) && unlikely(!PyFloat_Check(float_value))) { - __Pyx_TypeName float_value_type_name = __Pyx_PyType_GetName(Py_TYPE(float_value)); - PyErr_Format(PyExc_TypeError, - "__float__ returned non-float (type " __Pyx_FMT_TYPENAME ")", - float_value_type_name); - __Pyx_DECREF_TypeName(float_value_type_name); - Py_DECREF(float_value); - goto bad; - } - } else { - float_value = __Pyx_PyObject_CallOneArg((PyObject*)&PyFloat_Type, obj); - } -#endif - if (likely(float_value)) { - double value = PyFloat_AS_DOUBLE(float_value); - Py_DECREF(float_value); - return value; - } - } -bad: - return (double)-1; -} - -/* PyObjectCallMethod0 */ - static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) { - PyObject *method = NULL, *result = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_CallOneArg(method, obj); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) goto bad; - result = __Pyx_PyObject_CallNoArg(method); - Py_DECREF(method); -bad: - return result; -} - -/* ValidateBasesTuple */ - #if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) { - Py_ssize_t i, n; -#if CYTHON_ASSUME_SAFE_MACROS - n = PyTuple_GET_SIZE(bases); -#else - n = PyTuple_Size(bases); - if (n < 0) return -1; -#endif - for (i = 1; i < n; i++) - { -#if CYTHON_AVOID_BORROWED_REFS - PyObject *b0 = PySequence_GetItem(bases, i); - if (!b0) return -1; -#elif CYTHON_ASSUME_SAFE_MACROS - PyObject *b0 = PyTuple_GET_ITEM(bases, i); -#else - PyObject *b0 = PyTuple_GetItem(bases, i); - if (!b0) return -1; -#endif - PyTypeObject *b; -#if PY_MAJOR_VERSION < 3 - if (PyClass_Check(b0)) - { - PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class", - PyString_AS_STRING(((PyClassObject*)b0)->cl_name)); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } -#endif - b = (PyTypeObject*) b0; - if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE)) - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name); - __Pyx_DECREF_TypeName(b_name); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - if (dictoffset == 0) - { - Py_ssize_t b_dictoffset = 0; -#if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - b_dictoffset = b->tp_dictoffset; -#else - PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__"); - if (!py_b_dictoffset) goto dictoffset_return; - b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset); - Py_DECREF(py_b_dictoffset); - if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return; -#endif - if (b_dictoffset) { - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "extension type '%.200s' has no __dict__ slot, " - "but base type '" __Pyx_FMT_TYPENAME "' has: " - "either add 'cdef dict __dict__' to the extension type " - "or add '__slots__ = [...]' to the base type", - type_name, b_name); - __Pyx_DECREF_TypeName(b_name); - } -#if !(CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY) - dictoffset_return: -#endif -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - } -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - } - return 0; -} -#endif - -/* PyType_Ready */ - static int __Pyx_PyType_Ready(PyTypeObject *t) { -#if CYTHON_USE_TYPE_SPECS || !(CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API) || defined(PYSTON_MAJOR_VERSION) - (void)__Pyx_PyObject_CallMethod0; -#if CYTHON_USE_TYPE_SPECS - (void)__Pyx_validate_bases_tuple; -#endif - return PyType_Ready(t); -#else - int r; - PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*); - if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1)) - return -1; -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - { - int gc_was_enabled; - #if PY_VERSION_HEX >= 0x030A00b1 - gc_was_enabled = PyGC_Disable(); - (void)__Pyx_PyObject_CallMethod0; - #else - PyObject *ret, *py_status; - PyObject *gc = NULL; - #if PY_VERSION_HEX >= 0x030700a1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400) - gc = PyImport_GetModule(__pyx_kp_u_gc); - #endif - if (unlikely(!gc)) gc = PyImport_Import(__pyx_kp_u_gc); - if (unlikely(!gc)) return -1; - py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_isenabled); - if (unlikely(!py_status)) { - Py_DECREF(gc); - return -1; - } - gc_was_enabled = __Pyx_PyObject_IsTrue(py_status); - Py_DECREF(py_status); - if (gc_was_enabled > 0) { - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_disable); - if (unlikely(!ret)) { - Py_DECREF(gc); - return -1; - } - Py_DECREF(ret); - } else if (unlikely(gc_was_enabled == -1)) { - Py_DECREF(gc); - return -1; - } - #endif - t->tp_flags |= Py_TPFLAGS_HEAPTYPE; -#if PY_VERSION_HEX >= 0x030A0000 - t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE; -#endif -#else - (void)__Pyx_PyObject_CallMethod0; -#endif - r = PyType_Ready(t); -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE; - #if PY_VERSION_HEX >= 0x030A00b1 - if (gc_was_enabled) - PyGC_Enable(); - #else - if (gc_was_enabled) { - PyObject *tp, *v, *tb; - PyErr_Fetch(&tp, &v, &tb); - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_enable); - if (likely(ret || r == -1)) { - Py_XDECREF(ret); - PyErr_Restore(tp, v, tb); - } else { - Py_XDECREF(tp); - Py_XDECREF(v); - Py_XDECREF(tb); - r = -1; - } - } - Py_DECREF(gc); - #endif - } -#endif - return r; -#endif -} - -/* Import */ - static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { - PyObject *module = 0; - PyObject *empty_dict = 0; - PyObject *empty_list = 0; - #if PY_MAJOR_VERSION < 3 - PyObject *py_import; - py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); - if (unlikely(!py_import)) - goto bad; - if (!from_list) { - empty_list = PyList_New(0); - if (unlikely(!empty_list)) - goto bad; - from_list = empty_list; - } - #endif - empty_dict = PyDict_New(); - if (unlikely(!empty_dict)) - goto bad; - { - #if PY_MAJOR_VERSION >= 3 - if (level == -1) { - if (strchr(__Pyx_MODULE_NAME, '.') != NULL) { - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, 1); - if (unlikely(!module)) { - if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError))) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - #endif - if (!module) { - #if PY_MAJOR_VERSION < 3 - PyObject *py_level = PyInt_FromLong(level); - if (unlikely(!py_level)) - goto bad; - module = PyObject_CallFunctionObjArgs(py_import, - name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL); - Py_DECREF(py_level); - #else - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, level); - #endif - } - } -bad: - Py_XDECREF(empty_dict); - Py_XDECREF(empty_list); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_import); - #endif - return module; -} - -/* ImportDottedModule */ - #if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx__ImportDottedModule_Error(PyObject *name, PyObject *parts_tuple, Py_ssize_t count) { - PyObject *partial_name = NULL, *slice = NULL, *sep = NULL; - if (unlikely(PyErr_Occurred())) { - PyErr_Clear(); - } - if (likely(PyTuple_GET_SIZE(parts_tuple) == count)) { - partial_name = name; - } else { - slice = PySequence_GetSlice(parts_tuple, 0, count); - if (unlikely(!slice)) - goto bad; - sep = PyUnicode_FromStringAndSize(".", 1); - if (unlikely(!sep)) - goto bad; - partial_name = PyUnicode_Join(sep, slice); - } - PyErr_Format( -#if PY_MAJOR_VERSION < 3 - PyExc_ImportError, - "No module named '%s'", PyString_AS_STRING(partial_name)); -#else -#if PY_VERSION_HEX >= 0x030600B1 - PyExc_ModuleNotFoundError, -#else - PyExc_ImportError, -#endif - "No module named '%U'", partial_name); -#endif -bad: - Py_XDECREF(sep); - Py_XDECREF(slice); - Py_XDECREF(partial_name); - return NULL; -} -#endif -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx__ImportDottedModule_Lookup(PyObject *name) { - PyObject *imported_module; -#if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400) - PyObject *modules = PyImport_GetModuleDict(); - if (unlikely(!modules)) - return NULL; - imported_module = __Pyx_PyDict_GetItemStr(modules, name); - Py_XINCREF(imported_module); -#else - imported_module = PyImport_GetModule(name); -#endif - return imported_module; -} -#endif -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple) { - Py_ssize_t i, nparts; - nparts = PyTuple_GET_SIZE(parts_tuple); - for (i=1; i < nparts && module; i++) { - PyObject *part, *submodule; -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - part = PyTuple_GET_ITEM(parts_tuple, i); -#else - part = PySequence_ITEM(parts_tuple, i); -#endif - submodule = __Pyx_PyObject_GetAttrStrNoError(module, part); -#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(part); -#endif - Py_DECREF(module); - module = submodule; - } - if (unlikely(!module)) { - return __Pyx__ImportDottedModule_Error(name, parts_tuple, i); - } - return module; -} -#endif -static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) { -#if PY_MAJOR_VERSION < 3 - PyObject *module, *from_list, *star = __pyx_n_s__14; - CYTHON_UNUSED_VAR(parts_tuple); - from_list = PyList_New(1); - if (unlikely(!from_list)) - return NULL; - Py_INCREF(star); - PyList_SET_ITEM(from_list, 0, star); - module = __Pyx_Import(name, from_list, 0); - Py_DECREF(from_list); - return module; -#else - PyObject *imported_module; - PyObject *module = __Pyx_Import(name, NULL, 0); - if (!parts_tuple || unlikely(!module)) - return module; - imported_module = __Pyx__ImportDottedModule_Lookup(name); - if (likely(imported_module)) { - Py_DECREF(module); - return imported_module; - } - PyErr_Clear(); - return __Pyx_ImportDottedModule_WalkParts(module, name, parts_tuple); -#endif -} -static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) { -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030400B1 - PyObject *module = __Pyx__ImportDottedModule_Lookup(name); - if (likely(module)) { - PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_n_s_spec); - if (likely(spec)) { - PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_n_s_initializing); - if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) { - Py_DECREF(spec); - spec = NULL; - } - Py_XDECREF(unsafe); - } - if (likely(!spec)) { - PyErr_Clear(); - return module; - } - Py_DECREF(spec); - Py_DECREF(module); - } else if (PyErr_Occurred()) { - PyErr_Clear(); - } -#endif - return __Pyx__ImportDottedModule(name, parts_tuple); -} - -/* ImportFrom */ - static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { - PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); - if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { - const char* module_name_str = 0; - PyObject* module_name = 0; - PyObject* module_dot = 0; - PyObject* full_name = 0; - PyErr_Clear(); - module_name_str = PyModule_GetName(module); - if (unlikely(!module_name_str)) { goto modbad; } - module_name = PyUnicode_FromString(module_name_str); - if (unlikely(!module_name)) { goto modbad; } - module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__15); - if (unlikely(!module_dot)) { goto modbad; } - full_name = PyUnicode_Concat(module_dot, name); - if (unlikely(!full_name)) { goto modbad; } - #if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400) - { - PyObject *modules = PyImport_GetModuleDict(); - if (unlikely(!modules)) - goto modbad; - value = PyObject_GetItem(modules, full_name); - } - #else - value = PyImport_GetModule(full_name); - #endif - modbad: - Py_XDECREF(full_name); - Py_XDECREF(module_dot); - Py_XDECREF(module_name); - } - if (unlikely(!value)) { - PyErr_Format(PyExc_ImportError, - #if PY_MAJOR_VERSION < 3 - "cannot import name %.230s", PyString_AS_STRING(name)); - #else - "cannot import name %S", name); - #endif - } - return value; -} - -/* Py3UpdateBases */ - static PyObject* -__Pyx_PEP560_update_bases(PyObject *bases) -{ - Py_ssize_t i, j, size_bases; - PyObject *base, *meth, *new_base, *result, *new_bases = NULL; - size_bases = PyTuple_GET_SIZE(bases); - for (i = 0; i < size_bases; i++) { - base = PyTuple_GET_ITEM(bases, i); - if (PyType_Check(base)) { - if (new_bases) { - if (PyList_Append(new_bases, base) < 0) { - goto error; - } - } - continue; - } - meth = __Pyx_PyObject_GetAttrStrNoError(base, __pyx_n_s_mro_entries); - if (!meth && PyErr_Occurred()) { - goto error; - } - if (!meth) { - if (new_bases) { - if (PyList_Append(new_bases, base) < 0) { - goto error; - } - } - continue; - } - new_base = __Pyx_PyObject_CallOneArg(meth, bases); - Py_DECREF(meth); - if (!new_base) { - goto error; - } - if (!PyTuple_Check(new_base)) { - PyErr_SetString(PyExc_TypeError, - "__mro_entries__ must return a tuple"); - Py_DECREF(new_base); - goto error; - } - if (!new_bases) { - if (!(new_bases = PyList_New(i))) { - goto error; - } - for (j = 0; j < i; j++) { - base = PyTuple_GET_ITEM(bases, j); - PyList_SET_ITEM(new_bases, j, base); - Py_INCREF(base); - } - } - j = PyList_GET_SIZE(new_bases); - if (PyList_SetSlice(new_bases, j, j, new_base) < 0) { - goto error; - } - Py_DECREF(new_base); - } - if (!new_bases) { - Py_INCREF(bases); - return bases; - } - result = PyList_AsTuple(new_bases); - Py_DECREF(new_bases); - return result; -error: - Py_XDECREF(new_bases); - return NULL; -} - -/* CalculateMetaclass */ - static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) { - Py_ssize_t i, nbases; -#if CYTHON_ASSUME_SAFE_MACROS - nbases = PyTuple_GET_SIZE(bases); -#else - nbases = PyTuple_Size(bases); - if (nbases < 0) return NULL; -#endif - for (i=0; i < nbases; i++) { - PyTypeObject *tmptype; -#if CYTHON_ASSUME_SAFE_MACROS - PyObject *tmp = PyTuple_GET_ITEM(bases, i); -#else - PyObject *tmp = PyTuple_GetItem(bases, i); - if (!tmp) return NULL; -#endif - tmptype = Py_TYPE(tmp); -#if PY_MAJOR_VERSION < 3 - if (tmptype == &PyClass_Type) - continue; -#endif - if (!metaclass) { - metaclass = tmptype; - continue; - } - if (PyType_IsSubtype(metaclass, tmptype)) - continue; - if (PyType_IsSubtype(tmptype, metaclass)) { - metaclass = tmptype; - continue; - } - PyErr_SetString(PyExc_TypeError, - "metaclass conflict: " - "the metaclass of a derived class " - "must be a (non-strict) subclass " - "of the metaclasses of all its bases"); - return NULL; - } - if (!metaclass) { -#if PY_MAJOR_VERSION < 3 - metaclass = &PyClass_Type; -#else - metaclass = &PyType_Type; -#endif - } - Py_INCREF((PyObject*) metaclass); - return (PyObject*) metaclass; -} - -/* PyObjectLookupSpecial */ - #if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) { - PyObject *res; - PyTypeObject *tp = Py_TYPE(obj); -#if PY_MAJOR_VERSION < 3 - if (unlikely(PyInstance_Check(obj))) - return with_error ? __Pyx_PyObject_GetAttrStr(obj, attr_name) : __Pyx_PyObject_GetAttrStrNoError(obj, attr_name); -#endif - res = _PyType_Lookup(tp, attr_name); - if (likely(res)) { - descrgetfunc f = Py_TYPE(res)->tp_descr_get; - if (!f) { - Py_INCREF(res); - } else { - res = f(res, obj, (PyObject *)tp); - } - } else if (with_error) { - PyErr_SetObject(PyExc_AttributeError, attr_name); - } - return res; -} -#endif - -/* Py3ClassCreate */ - static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, - PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) { - PyObject *ns; - if (metaclass) { - PyObject *prep = __Pyx_PyObject_GetAttrStrNoError(metaclass, __pyx_n_s_prepare); - if (prep) { - PyObject *pargs[3] = {NULL, name, bases}; - ns = __Pyx_PyObject_FastCallDict(prep, pargs+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw); - Py_DECREF(prep); - } else { - if (unlikely(PyErr_Occurred())) - return NULL; - ns = PyDict_New(); - } - } else { - ns = PyDict_New(); - } - if (unlikely(!ns)) - return NULL; - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad; -#if PY_VERSION_HEX >= 0x03030000 - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad; -#else - CYTHON_MAYBE_UNUSED_VAR(qualname); -#endif - if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad; - return ns; -bad: - Py_DECREF(ns); - return NULL; -} -#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS -static int __Pyx_SetNamesPEP487(PyObject *type_obj) { - PyTypeObject *type = (PyTypeObject*) type_obj; - PyObject *names_to_set, *key, *value, *set_name, *tmp; - Py_ssize_t i = 0; -#if CYTHON_USE_TYPE_SLOTS - names_to_set = PyDict_Copy(type->tp_dict); -#else - { - PyObject *d = PyObject_GetAttr(type_obj, __pyx_n_s_dict); - names_to_set = NULL; - if (likely(d)) { - PyObject *names_to_set = PyDict_New(); - int ret = likely(names_to_set) ? PyDict_Update(names_to_set, d) : -1; - Py_DECREF(d); - if (unlikely(ret < 0)) - Py_CLEAR(names_to_set); - } - } -#endif - if (unlikely(names_to_set == NULL)) - goto bad; - while (PyDict_Next(names_to_set, &i, &key, &value)) { - set_name = __Pyx_PyObject_LookupSpecialNoError(value, __pyx_n_s_set_name); - if (unlikely(set_name != NULL)) { - tmp = __Pyx_PyObject_Call2Args(set_name, type_obj, key); - Py_DECREF(set_name); - if (unlikely(tmp == NULL)) { - __Pyx_TypeName value_type_name = - __Pyx_PyType_GetName(Py_TYPE(value)); - __Pyx_TypeName type_name = __Pyx_PyType_GetName(type); - PyErr_Format(PyExc_RuntimeError, -#if PY_MAJOR_VERSION >= 3 - "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %R " "in '" __Pyx_FMT_TYPENAME "'", - value_type_name, key, type_name); -#else - "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %.100s in '" __Pyx_FMT_TYPENAME "'", - value_type_name, - PyString_Check(key) ? PyString_AS_STRING(key) : "?", - type_name); -#endif - goto bad; - } else { - Py_DECREF(tmp); - } - } - else if (unlikely(PyErr_Occurred())) { - goto bad; - } - } - Py_DECREF(names_to_set); - return 0; -bad: - Py_XDECREF(names_to_set); - return -1; -} -static PyObject *__Pyx_InitSubclassPEP487(PyObject *type_obj, PyObject *mkw) { -#if CYTHON_USE_TYPE_SLOTS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - PyTypeObject *type = (PyTypeObject*) type_obj; - PyObject *mro = type->tp_mro; - Py_ssize_t i, nbases; - if (unlikely(!mro)) goto done; - (void) &__Pyx_GetBuiltinName; - Py_INCREF(mro); - nbases = PyTuple_GET_SIZE(mro); - assert(PyTuple_GET_ITEM(mro, 0) == type_obj); - for (i = 1; i < nbases-1; i++) { - PyObject *base, *dict, *meth; - base = PyTuple_GET_ITEM(mro, i); - dict = ((PyTypeObject *)base)->tp_dict; - meth = __Pyx_PyDict_GetItemStrWithError(dict, __pyx_n_s_init_subclass); - if (unlikely(meth)) { - descrgetfunc f = Py_TYPE(meth)->tp_descr_get; - PyObject *res; - Py_INCREF(meth); - if (likely(f)) { - res = f(meth, NULL, type_obj); - Py_DECREF(meth); - if (unlikely(!res)) goto bad; - meth = res; - } - res = __Pyx_PyObject_FastCallDict(meth, NULL, 0, mkw); - Py_DECREF(meth); - if (unlikely(!res)) goto bad; - Py_DECREF(res); - goto done; - } else if (unlikely(PyErr_Occurred())) { - goto bad; - } - } -done: - Py_XDECREF(mro); - return type_obj; -bad: - Py_XDECREF(mro); - Py_DECREF(type_obj); - return NULL; -#else - PyObject *super_type, *super, *func, *res; -#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type) - super_type = __Pyx_GetBuiltinName(__pyx_n_s_super); -#else - super_type = (PyObject*) &PySuper_Type; - (void) &__Pyx_GetBuiltinName; -#endif - super = likely(super_type) ? __Pyx_PyObject_Call2Args(super_type, type_obj, type_obj) : NULL; -#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type) - Py_XDECREF(super_type); -#endif - if (unlikely(!super)) { - Py_CLEAR(type_obj); - goto done; - } - func = __Pyx_PyObject_GetAttrStrNoError(super, __pyx_n_s_init_subclass); - Py_DECREF(super); - if (likely(!func)) { - if (unlikely(PyErr_Occurred())) - Py_CLEAR(type_obj); - goto done; - } - res = __Pyx_PyObject_FastCallDict(func, NULL, 0, mkw); - Py_DECREF(func); - if (unlikely(!res)) - Py_CLEAR(type_obj); - Py_XDECREF(res); -done: - return type_obj; -#endif -} -#endif -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, - PyObject *dict, PyObject *mkw, - int calculate_metaclass, int allow_py2_metaclass) { - PyObject *result; - PyObject *owned_metaclass = NULL; - PyObject *margs[4] = {NULL, name, bases, dict}; - if (allow_py2_metaclass) { - owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass); - if (owned_metaclass) { - metaclass = owned_metaclass; - } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) { - PyErr_Clear(); - } else { - return NULL; - } - } - if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) { - metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases); - Py_XDECREF(owned_metaclass); - if (unlikely(!metaclass)) - return NULL; - owned_metaclass = metaclass; - } - result = __Pyx_PyObject_FastCallDict(metaclass, margs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, -#if PY_VERSION_HEX < 0x030600A4 - (metaclass == (PyObject*)&PyType_Type) ? NULL : mkw -#else - mkw -#endif - ); - Py_XDECREF(owned_metaclass); -#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS - if (likely(result) && likely(PyType_Check(result))) { - if (unlikely(__Pyx_SetNamesPEP487(result) < 0)) { - Py_CLEAR(result); - } else { - result = __Pyx_InitSubclassPEP487(result, mkw); - } - } -#else - (void) &__Pyx_GetBuiltinName; -#endif - return result; -} - -/* PyVectorcallFastCallDict */ - #if CYTHON_METH_FASTCALL -static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - PyObject *res = NULL; - PyObject *kwnames; - PyObject **newargs; - PyObject **kwvalues; - Py_ssize_t i, pos; - size_t j; - PyObject *key, *value; - unsigned long keys_are_strings; - Py_ssize_t nkw = PyDict_GET_SIZE(kw); - newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0])); - if (unlikely(newargs == NULL)) { - PyErr_NoMemory(); - return NULL; - } - for (j = 0; j < nargs; j++) newargs[j] = args[j]; - kwnames = PyTuple_New(nkw); - if (unlikely(kwnames == NULL)) { - PyMem_Free(newargs); - return NULL; - } - kwvalues = newargs + nargs; - pos = i = 0; - keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS; - while (PyDict_Next(kw, &pos, &key, &value)) { - keys_are_strings &= Py_TYPE(key)->tp_flags; - Py_INCREF(key); - Py_INCREF(value); - PyTuple_SET_ITEM(kwnames, i, key); - kwvalues[i] = value; - i++; - } - if (unlikely(!keys_are_strings)) { - PyErr_SetString(PyExc_TypeError, "keywords must be strings"); - goto cleanup; - } - res = vc(func, newargs, nargs, kwnames); -cleanup: - Py_DECREF(kwnames); - for (i = 0; i < nkw; i++) - Py_DECREF(kwvalues[i]); - PyMem_Free(newargs); - return res; -} -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) { - return vc(func, args, nargs, NULL); - } - return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw); -} -#endif - -/* CythonFunctionShared */ - #if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - if (__Pyx_CyFunction_Check(func)) { - return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc; - } else if (PyCFunction_Check(func)) { - return PyCFunction_GetFunction(func) == (PyCFunction) cfunc; - } - return 0; -} -#else -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -} -#endif -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) { -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - __Pyx_Py_XDECREF_SET( - __Pyx_CyFunction_GetClassObj(f), - ((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#else - __Pyx_Py_XDECREF_SET( - ((PyCMethodObject *) (f))->mm_class, - (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#endif -} -static PyObject * -__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure) -{ - CYTHON_UNUSED_VAR(closure); - if (unlikely(op->func_doc == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_doc = PyObject_GetAttrString(op->func, "__doc__"); - if (unlikely(!op->func_doc)) return NULL; -#else - if (((PyCFunctionObject*)op)->m_ml->ml_doc) { -#if PY_MAJOR_VERSION >= 3 - op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#else - op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#endif - if (unlikely(op->func_doc == NULL)) - return NULL; - } else { - Py_INCREF(Py_None); - return Py_None; - } -#endif - } - Py_INCREF(op->func_doc); - return op->func_doc; -} -static int -__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (value == NULL) { - value = Py_None; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_doc, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_name == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_name = PyObject_GetAttrString(op->func, "__name__"); -#elif PY_MAJOR_VERSION >= 3 - op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#else - op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#endif - if (unlikely(op->func_name == NULL)) - return NULL; - } - Py_INCREF(op->func_name); - return op->func_name; -} -static int -__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_name, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_qualname); - return op->func_qualname; -} -static int -__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_qualname, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_dict == NULL)) { - op->func_dict = PyDict_New(); - if (unlikely(op->func_dict == NULL)) - return NULL; - } - Py_INCREF(op->func_dict); - return op->func_dict; -} -static int -__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(value == NULL)) { - PyErr_SetString(PyExc_TypeError, - "function's dictionary may not be deleted"); - return -1; - } - if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "setting function's dictionary to a non-dict"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_dict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_globals); - return op->func_globals; -} -static PyObject * -__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(op); - CYTHON_UNUSED_VAR(context); - Py_INCREF(Py_None); - return Py_None; -} -static PyObject * -__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context) -{ - PyObject* result = (op->func_code) ? op->func_code : Py_None; - CYTHON_UNUSED_VAR(context); - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { - int result = 0; - PyObject *res = op->defaults_getter((PyObject *) op); - if (unlikely(!res)) - return -1; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - op->defaults_tuple = PyTuple_GET_ITEM(res, 0); - Py_INCREF(op->defaults_tuple); - op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); - Py_INCREF(op->defaults_kwdict); - #else - op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0); - if (unlikely(!op->defaults_tuple)) result = -1; - else { - op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1); - if (unlikely(!op->defaults_kwdict)) result = -1; - } - #endif - Py_DECREF(res); - return result; -} -static int -__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyTuple_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__defaults__ must be set to a tuple object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_tuple, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_tuple; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_tuple; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__kwdefaults__ must be set to a dict object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_kwdict; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_kwdict; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value || value == Py_None) { - value = NULL; - } else if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__annotations__ must be set to a dict object"); - return -1; - } - Py_XINCREF(value); - __Pyx_Py_XDECREF_SET(op->func_annotations, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->func_annotations; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - result = PyDict_New(); - if (unlikely(!result)) return NULL; - op->func_annotations = result; - } - Py_INCREF(result); - return result; -} -static PyObject * -__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) { - int is_coroutine; - CYTHON_UNUSED_VAR(context); - if (op->func_is_coroutine) { - return __Pyx_NewRef(op->func_is_coroutine); - } - is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE; -#if PY_VERSION_HEX >= 0x03050000 - if (is_coroutine) { - PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine; - fromlist = PyList_New(1); - if (unlikely(!fromlist)) return NULL; - Py_INCREF(marker); -#if CYTHON_ASSUME_SAFE_MACROS - PyList_SET_ITEM(fromlist, 0, marker); -#else - if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) { - Py_DECREF(marker); - Py_DECREF(fromlist); - return NULL; - } -#endif - module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0); - Py_DECREF(fromlist); - if (unlikely(!module)) goto ignore; - op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker); - Py_DECREF(module); - if (likely(op->func_is_coroutine)) { - return __Pyx_NewRef(op->func_is_coroutine); - } -ignore: - PyErr_Clear(); - } -#endif - op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine); - return __Pyx_NewRef(op->func_is_coroutine); -} -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject * -__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_GetAttrString(op->func, "__module__"); -} -static int -__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_SetAttrString(op->func, "__module__", value); -} -#endif -static PyGetSetDef __pyx_CyFunction_getsets[] = { - {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, - {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, - {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, - {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0}, -#if CYTHON_COMPILING_IN_LIMITED_API - {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyMemberDef __pyx_CyFunction_members[] = { -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0}, -#endif -#if CYTHON_USE_TYPE_SPECS - {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0}, -#if CYTHON_METH_FASTCALL -#if CYTHON_BACKPORT_VECTORCALL - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0}, -#else -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0}, -#endif -#endif -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0}, -#else - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0}, -#endif -#endif - {0, 0, 0, 0, 0} -}; -static PyObject * -__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args) -{ - CYTHON_UNUSED_VAR(args); -#if PY_MAJOR_VERSION >= 3 - Py_INCREF(m->func_qualname); - return m->func_qualname; -#else - return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name); -#endif -} -static PyMethodDef __pyx_CyFunction_methods[] = { - {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, - {0, 0, 0, 0} -}; -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) -#else -#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist) -#endif -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { -#if !CYTHON_COMPILING_IN_LIMITED_API - PyCFunctionObject *cf = (PyCFunctionObject*) op; -#endif - if (unlikely(op == NULL)) - return NULL; -#if CYTHON_COMPILING_IN_LIMITED_API - op->func = PyCFunction_NewEx(ml, (PyObject*)op, module); - if (unlikely(!op->func)) return NULL; -#endif - op->flags = flags; - __Pyx_CyFunction_weakreflist(op) = NULL; -#if !CYTHON_COMPILING_IN_LIMITED_API - cf->m_ml = ml; - cf->m_self = (PyObject *) op; -#endif - Py_XINCREF(closure); - op->func_closure = closure; -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_XINCREF(module); - cf->m_module = module; -#endif - op->func_dict = NULL; - op->func_name = NULL; - Py_INCREF(qualname); - op->func_qualname = qualname; - op->func_doc = NULL; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - op->func_classobj = NULL; -#else - ((PyCMethodObject*)op)->mm_class = NULL; -#endif - op->func_globals = globals; - Py_INCREF(op->func_globals); - Py_XINCREF(code); - op->func_code = code; - op->defaults_pyobjects = 0; - op->defaults_size = 0; - op->defaults = NULL; - op->defaults_tuple = NULL; - op->defaults_kwdict = NULL; - op->defaults_getter = NULL; - op->func_annotations = NULL; - op->func_is_coroutine = NULL; -#if CYTHON_METH_FASTCALL - switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) { - case METH_NOARGS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS; - break; - case METH_O: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O; - break; - case METH_METHOD | METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD; - break; - case METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS; - break; - case METH_VARARGS | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = NULL; - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - Py_DECREF(op); - return NULL; - } -#endif - return (PyObject *) op; -} -static int -__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) -{ - Py_CLEAR(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_CLEAR(m->func); -#else - Py_CLEAR(((PyCFunctionObject*)m)->m_module); -#endif - Py_CLEAR(m->func_dict); - Py_CLEAR(m->func_name); - Py_CLEAR(m->func_qualname); - Py_CLEAR(m->func_doc); - Py_CLEAR(m->func_globals); - Py_CLEAR(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API -#if PY_VERSION_HEX < 0x030900B1 - Py_CLEAR(__Pyx_CyFunction_GetClassObj(m)); -#else - { - PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class; - ((PyCMethodObject *) (m))->mm_class = NULL; - Py_XDECREF(cls); - } -#endif -#endif - Py_CLEAR(m->defaults_tuple); - Py_CLEAR(m->defaults_kwdict); - Py_CLEAR(m->func_annotations); - Py_CLEAR(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_XDECREF(pydefaults[i]); - PyObject_Free(m->defaults); - m->defaults = NULL; - } - return 0; -} -static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - if (__Pyx_CyFunction_weakreflist(m) != NULL) - PyObject_ClearWeakRefs((PyObject *) m); - __Pyx_CyFunction_clear(m); - __Pyx_PyHeapTypeObject_GC_Del(m); -} -static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - PyObject_GC_UnTrack(m); - __Pyx__CyFunction_dealloc(m); -} -static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) -{ - Py_VISIT(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(m->func); -#else - Py_VISIT(((PyCFunctionObject*)m)->m_module); -#endif - Py_VISIT(m->func_dict); - Py_VISIT(m->func_name); - Py_VISIT(m->func_qualname); - Py_VISIT(m->func_doc); - Py_VISIT(m->func_globals); - Py_VISIT(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(__Pyx_CyFunction_GetClassObj(m)); -#endif - Py_VISIT(m->defaults_tuple); - Py_VISIT(m->defaults_kwdict); - Py_VISIT(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_VISIT(pydefaults[i]); - } - return 0; -} -static PyObject* -__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) -{ -#if PY_MAJOR_VERSION >= 3 - return PyUnicode_FromFormat("", - op->func_qualname, (void *)op); -#else - return PyString_FromFormat("", - PyString_AsString(op->func_qualname), (void *)op); -#endif -} -static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *f = ((__pyx_CyFunctionObject*)func)->func; - PyObject *py_name = NULL; - PyCFunction meth; - int flags; - meth = PyCFunction_GetFunction(f); - if (unlikely(!meth)) return NULL; - flags = PyCFunction_GetFlags(f); - if (unlikely(flags < 0)) return NULL; -#else - PyCFunctionObject* f = (PyCFunctionObject*)func; - PyCFunction meth = f->m_ml->ml_meth; - int flags = f->m_ml->ml_flags; -#endif - Py_ssize_t size; - switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { - case METH_VARARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) - return (*meth)(self, arg); - break; - case METH_VARARGS | METH_KEYWORDS: - return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); - case METH_NOARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 0)) - return (*meth)(self, NULL); -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - case METH_O: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 1)) { - PyObject *result, *arg0; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - arg0 = PyTuple_GET_ITEM(arg, 0); - #else - arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; - #endif - result = (*meth)(self, arg0); - #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(arg0); - #endif - return result; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - return NULL; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments", - py_name); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", - f->m_ml->ml_name); -#endif - return NULL; -} -static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *self, *result; -#if CYTHON_COMPILING_IN_LIMITED_API - self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func); - if (unlikely(!self) && PyErr_Occurred()) return NULL; -#else - self = ((PyCFunctionObject*)func)->m_self; -#endif - result = __Pyx_CyFunction_CallMethod(func, self, arg, kw); - return result; -} -static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { - PyObject *result; - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; -#if CYTHON_METH_FASTCALL - __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc); - if (vc) { -#if CYTHON_ASSUME_SAFE_MACROS - return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw); -#else - (void) &__Pyx_PyVectorcall_FastCallDict; - return PyVectorcall_Call(func, args, kw); -#endif - } -#endif - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - Py_ssize_t argc; - PyObject *new_args; - PyObject *self; -#if CYTHON_ASSUME_SAFE_MACROS - argc = PyTuple_GET_SIZE(args); -#else - argc = PyTuple_Size(args); - if (unlikely(!argc) < 0) return NULL; -#endif - new_args = PyTuple_GetSlice(args, 1, argc); - if (unlikely(!new_args)) - return NULL; - self = PyTuple_GetItem(args, 0); - if (unlikely(!self)) { - Py_DECREF(new_args); -#if PY_MAJOR_VERSION > 2 - PyErr_Format(PyExc_TypeError, - "unbound method %.200S() needs an argument", - cyfunc->func_qualname); -#else - PyErr_SetString(PyExc_TypeError, - "unbound method needs an argument"); -#endif - return NULL; - } - result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); - Py_DECREF(new_args); - } else { - result = __Pyx_CyFunction_Call(func, args, kw); - } - return result; -} -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames) -{ - int ret = 0; - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - if (unlikely(nargs < 1)) { - PyErr_Format(PyExc_TypeError, "%.200s() needs an argument", - ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - ret = 1; - } - if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - return ret; -} -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 0)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, NULL); -} -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 1)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, args[0]); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; - PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc); -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames); -} -#endif -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CyFunctionType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc}, - {Py_tp_repr, (void *)__Pyx_CyFunction_repr}, - {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod}, - {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse}, - {Py_tp_clear, (void *)__Pyx_CyFunction_clear}, - {Py_tp_methods, (void *)__pyx_CyFunction_methods}, - {Py_tp_members, (void *)__pyx_CyFunction_members}, - {Py_tp_getset, (void *)__pyx_CyFunction_getsets}, - {Py_tp_descr_get, (void *)__Pyx_PyMethod_New}, - {0, 0}, -}; -static PyType_Spec __pyx_CyFunctionType_spec = { - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL) - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - __pyx_CyFunctionType_slots -}; -#else -static PyTypeObject __pyx_CyFunctionType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, - (destructor) __Pyx_CyFunction_dealloc, -#if !CYTHON_METH_FASTCALL - 0, -#elif CYTHON_BACKPORT_VECTORCALL - (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall), -#else - offsetof(PyCFunctionObject, vectorcall), -#endif - 0, - 0, -#if PY_MAJOR_VERSION < 3 - 0, -#else - 0, -#endif - (reprfunc) __Pyx_CyFunction_repr, - 0, - 0, - 0, - 0, - __Pyx_CyFunction_CallAsMethod, - 0, - 0, - 0, - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - 0, - (traverseproc) __Pyx_CyFunction_traverse, - (inquiry) __Pyx_CyFunction_clear, - 0, -#if PY_VERSION_HEX < 0x030500A0 - offsetof(__pyx_CyFunctionObject, func_weakreflist), -#else - offsetof(PyCFunctionObject, m_weakreflist), -#endif - 0, - 0, - __pyx_CyFunction_methods, - __pyx_CyFunction_members, - __pyx_CyFunction_getsets, - 0, - 0, - __Pyx_PyMethod_New, - 0, - offsetof(__pyx_CyFunctionObject, func_dict), - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_CyFunction_init(PyObject *module) { -#if CYTHON_USE_TYPE_SPECS - __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL); -#else - CYTHON_UNUSED_VAR(module); - __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); -#endif - if (unlikely(__pyx_CyFunctionType == NULL)) { - return -1; - } - return 0; -} -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults = PyObject_Malloc(size); - if (unlikely(!m->defaults)) - return PyErr_NoMemory(); - memset(m->defaults, 0, size); - m->defaults_pyobjects = pyobjects; - m->defaults_size = size; - return m->defaults; -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_tuple = tuple; - Py_INCREF(tuple); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_kwdict = dict; - Py_INCREF(dict); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->func_annotations = dict; - Py_INCREF(dict); -} - -/* CythonFunction */ - static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - PyObject *op = __Pyx_CyFunction_Init( - PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), - ml, flags, qualname, closure, module, globals, code - ); - if (likely(op)) { - PyObject_GC_Track(op); - } - return op; -} - -/* CLineInTraceback */ - #ifndef CYTHON_CLINE_IN_TRACEBACK -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { - PyObject *use_cline; - PyObject *ptype, *pvalue, *ptraceback; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject **cython_runtime_dict; -#endif - CYTHON_MAYBE_UNUSED_VAR(tstate); - if (unlikely(!__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); -#if CYTHON_COMPILING_IN_CPYTHON - cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, *cython_runtime_dict, - __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) - } else -#endif - { - PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); - if (use_cline_obj) { - use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; - Py_DECREF(use_cline_obj); - } else { - PyErr_Clear(); - use_cline = NULL; - } - } - if (!use_cline) { - c_line = 0; - (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); - } - else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache */ - #if !CYTHON_COMPILING_IN_LIMITED_API -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static PyCodeObject *__pyx_find_code_object(int code_line) { - PyCodeObject* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { - return NULL; - } - code_object = __pyx_code_cache.entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = 64; - __pyx_code_cache.count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { - PyCodeObject* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_DECREF(tmp); - return; - } - if (__pyx_code_cache.count == __pyx_code_cache.max_count) { - int new_max = __pyx_code_cache.max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = new_max; - } - for (i=__pyx_code_cache.count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - __pyx_code_cache.count++; - Py_INCREF(code_object); -} -#endif - -/* AddTraceback */ - #include "compile.h" -#include "frameobject.h" -#include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict, - PyObject *firstlineno, PyObject *name) { - PyObject *replace = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL; - replace = PyObject_GetAttrString(code, "replace"); - if (likely(replace)) { - PyObject *result; - result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict); - Py_DECREF(replace); - return result; - } - PyErr_Clear(); - #if __PYX_LIMITED_VERSION_HEX < 0x030780000 - { - PyObject *compiled = NULL, *result = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL; - compiled = Py_CompileString( - "out = type(code)(\n" - " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n" - " code.co_flags, code.co_code, code.co_consts, code.co_names,\n" - " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n" - " code.co_lnotab)\n", "", Py_file_input); - if (!compiled) return NULL; - result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict); - Py_DECREF(compiled); - if (!result) PyErr_Print(); - Py_DECREF(result); - result = PyDict_GetItemString(scratch_dict, "out"); - if (result) Py_INCREF(result); - return result; - } - #else - return NULL; - #endif -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL; - PyObject *replace = NULL, *getframe = NULL, *frame = NULL; - PyObject *exc_type, *exc_value, *exc_traceback; - int success = 0; - if (c_line) { - (void) __pyx_cfilenm; - (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line); - } - PyErr_Fetch(&exc_type, &exc_value, &exc_traceback); - code_object = Py_CompileString("_getframe()", filename, Py_eval_input); - if (unlikely(!code_object)) goto bad; - py_py_line = PyLong_FromLong(py_line); - if (unlikely(!py_py_line)) goto bad; - py_funcname = PyUnicode_FromString(funcname); - if (unlikely(!py_funcname)) goto bad; - dict = PyDict_New(); - if (unlikely(!dict)) goto bad; - { - PyObject *old_code_object = code_object; - code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname); - Py_DECREF(old_code_object); - } - if (unlikely(!code_object)) goto bad; - getframe = PySys_GetObject("_getframe"); - if (unlikely(!getframe)) goto bad; - if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad; - frame = PyEval_EvalCode(code_object, dict, dict); - if (unlikely(!frame) || frame == Py_None) goto bad; - success = 1; - bad: - PyErr_Restore(exc_type, exc_value, exc_traceback); - Py_XDECREF(code_object); - Py_XDECREF(py_py_line); - Py_XDECREF(py_funcname); - Py_XDECREF(dict); - Py_XDECREF(replace); - if (success) { - PyTraceBack_Here( - (struct _frame*)frame); - } - Py_XDECREF(frame); -} -#else -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = NULL; - PyObject *py_funcname = NULL; - #if PY_MAJOR_VERSION < 3 - PyObject *py_srcfile = NULL; - py_srcfile = PyString_FromString(filename); - if (!py_srcfile) goto bad; - #endif - if (c_line) { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - #else - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - funcname = PyUnicode_AsUTF8(py_funcname); - if (!funcname) goto bad; - #endif - } - else { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromString(funcname); - if (!py_funcname) goto bad; - #endif - } - #if PY_MAJOR_VERSION < 3 - py_code = __Pyx_PyCode_New( - 0, - 0, - 0, - 0, - 0, - 0, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - py_line, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); - Py_DECREF(py_srcfile); - #else - py_code = PyCode_NewEmpty(filename, funcname, py_line); - #endif - Py_XDECREF(py_funcname); - return py_code; -bad: - Py_XDECREF(py_funcname); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_srcfile); - #endif - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject *ptype, *pvalue, *ptraceback; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) { - /* If the code object creation fails, then we should clear the - fetched exception references and propagate the new exception */ - Py_XDECREF(ptype); - Py_XDECREF(pvalue); - Py_XDECREF(ptraceback); - goto bad; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} -#endif - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *from_bytes, *result = NULL; - PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL; - from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes"); - if (!from_bytes) return NULL; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long)); - if (!py_bytes) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - arg_tuple = PyTuple_Pack(2, py_bytes, order_str); - if (!arg_tuple) goto limited_bad; - if (!is_unsigned) { - kwds = PyDict_New(); - if (!kwds) goto limited_bad; - if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad; - } - result = PyObject_Call(from_bytes, arg_tuple, kwds); - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(arg_tuple); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes); - return result; -#endif - } -} - -/* FormatTypeName */ - #if CYTHON_COMPILING_IN_LIMITED_API -static __Pyx_TypeName -__Pyx_PyType_GetName(PyTypeObject* tp) -{ - PyObject *name = __Pyx_PyObject_GetAttrStr((PyObject *)tp, - __pyx_n_s_name); - if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) { - PyErr_Clear(); - Py_XDECREF(name); - name = __Pyx_NewRef(__pyx_n_s__22); - } - return name; -} -#endif - -/* CIntFromPyVerify */ - #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* CIntFromPy */ - static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(long) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (long) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (long) -1; - val = __Pyx_PyInt_As_long(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(long) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(long) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - long val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (long) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (long) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (long) -1; - } else { - stepval = v; - } - v = NULL; - val = (long) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((long) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((long) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (long) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to long"); - return (long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int) -1; - val = __Pyx_PyInt_As_int(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(int) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(int) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - int val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (int) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (int) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (int) -1; - } else { - stepval = v; - } - v = NULL; - val = (int) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((int) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((int) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (int) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); - return (int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; -} - -/* FastTypeChecks */ - #if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*); - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (cls == a || cls == b) return 1; - mro = cls->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - PyObject *base = PyTuple_GET_ITEM(mro, i); - if (base == (PyObject *)a || base == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b); -} -#if PY_MAJOR_VERSION == 2 -static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { - PyObject *exception, *value, *tb; - int res; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&exception, &value, &tb); - res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - if (!res) { - res = PyObject_IsSubclass(err, exc_type2); - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - } - __Pyx_ErrRestore(exception, value, tb); - return res; -} -#else -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - if (exc_type1) { - return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2); - } else { - return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } -} -#endif -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i= 0x030B00A4 - return Py_Version & ~0xFFUL; -#else - const char* rt_version = Py_GetVersion(); - unsigned long version = 0; - unsigned long factor = 0x01000000UL; - unsigned int digit = 0; - int i = 0; - while (factor) { - while ('0' <= rt_version[i] && rt_version[i] <= '9') { - digit = digit * 10 + (unsigned int) (rt_version[i] - '0'); - ++i; - } - version += factor * digit; - if (rt_version[i] != '.') - break; - digit = 0; - factor >>= 8; - ++i; - } - return version; -#endif -} -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) { - const unsigned long MAJOR_MINOR = 0xFFFF0000UL; - if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR)) - return 0; - if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR))) - return 1; - { - char message[200]; - PyOS_snprintf(message, sizeof(message), - "compile time Python version %d.%d " - "of module '%.100s' " - "%s " - "runtime version %d.%d", - (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF), - __Pyx_MODULE_NAME, - (allow_newer) ? "was newer than" : "does not match", - (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF) - ); - return PyErr_WarnEx(NULL, message, 1); - } -} - -/* InitStrings */ - #if PY_MAJOR_VERSION >= 3 -static int __Pyx_InitString(__Pyx_StringTabEntry t, PyObject **str) { - if (t.is_unicode | t.is_str) { - if (t.intern) { - *str = PyUnicode_InternFromString(t.s); - } else if (t.encoding) { - *str = PyUnicode_Decode(t.s, t.n - 1, t.encoding, NULL); - } else { - *str = PyUnicode_FromStringAndSize(t.s, t.n - 1); - } - } else { - *str = PyBytes_FromStringAndSize(t.s, t.n - 1); - } - if (!*str) - return -1; - if (PyObject_Hash(*str) == -1) - return -1; - return 0; -} -#endif -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { - while (t->p) { - #if PY_MAJOR_VERSION >= 3 - __Pyx_InitString(*t, t->p); - #else - if (t->is_unicode) { - *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); - } else if (t->intern) { - *t->p = PyString_InternFromString(t->s); - } else { - *t->p = PyString_FromStringAndSize(t->s, t->n - 1); - } - if (!*t->p) - return -1; - if (PyObject_Hash(*t->p) == -1) - return -1; - #endif - ++t; - } - return 0; -} - -#include -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) { - size_t len = strlen(s); - if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) { - PyErr_SetString(PyExc_OverflowError, "byte string is too long"); - return -1; - } - return (Py_ssize_t) len; -} -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return __Pyx_PyUnicode_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return PyByteArray_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#if !CYTHON_PEP393_ENABLED -static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - char* defenc_c; - PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); - if (!defenc) return NULL; - defenc_c = PyBytes_AS_STRING(defenc); -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - { - char* end = defenc_c + PyBytes_GET_SIZE(defenc); - char* c; - for (c = defenc_c; c < end; c++) { - if ((unsigned char) (*c) >= 128) { - PyUnicode_AsASCIIString(o); - return NULL; - } - } - } -#endif - *length = PyBytes_GET_SIZE(defenc); - return defenc_c; -} -#else -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -} -#endif -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT - if ( -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - __Pyx_sys_getdefaultencoding_not_ascii && -#endif - PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif -#if (!CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) - if (PyByteArray_Check(o)) { - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); - } else -#endif - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { - __Pyx_TypeName result_type_name = __Pyx_PyType_GetName(Py_TYPE(result)); -#if PY_MAJOR_VERSION >= 3 - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type " __Pyx_FMT_TYPENAME "). " - "The ability to return an instance of a strict subclass of int is deprecated, " - "and may be removed in a future version of Python.", - result_type_name)) { - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; - } - __Pyx_DECREF_TypeName(result_type_name); - return result; - } -#endif - PyErr_Format(PyExc_TypeError, - "__%.4s__ returned non-%.4s (type " __Pyx_FMT_TYPENAME ")", - type_name, type_name, result_type_name); - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - const char *name = NULL; - PyObject *res = NULL; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x) || PyLong_Check(x))) -#else - if (likely(PyLong_Check(x))) -#endif - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - #if PY_MAJOR_VERSION < 3 - if (m && m->nb_int) { - name = "int"; - res = m->nb_int(x); - } - else if (m && m->nb_long) { - name = "long"; - res = m->nb_long(x); - } - #else - if (likely(m && m->nb_int)) { - name = "int"; - res = m->nb_int(x); - } - #endif -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Int(x); - } -#endif - if (likely(res)) { -#if PY_MAJOR_VERSION < 3 - if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { -#else - if (unlikely(!PyLong_CheckExact(res))) { -#endif - return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - Py_ssize_t ival; - PyObject *x; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(b))) { - if (sizeof(Py_ssize_t) >= sizeof(long)) - return PyInt_AS_LONG(b); - else - return PyInt_AsSsize_t(b); - } -#endif - if (likely(PyLong_CheckExact(b))) { - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(__Pyx_PyLong_IsCompact(b))) { - return __Pyx_PyLong_CompactValue(b); - } else { - const digit* digits = __Pyx_PyLong_Digits(b); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b); - switch (size) { - case 2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - } - } - #endif - return PyLong_AsSsize_t(b); - } - x = PyNumber_Index(b); - if (!x) return -1; - ival = PyInt_AsSsize_t(x); - Py_DECREF(x); - return ival; -} -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { - if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { - return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); -#if PY_MAJOR_VERSION < 3 - } else if (likely(PyInt_CheckExact(o))) { - return PyInt_AS_LONG(o); -#endif - } else { - Py_ssize_t ival; - PyObject *x; - x = PyNumber_Index(o); - if (!x) return -1; - ival = PyInt_AsLong(x); - Py_DECREF(x); - return ival; - } -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { - return PyInt_FromSize_t(ival); -} - - -/* #### Code section: utility_code_pragmas_end ### */ -#ifdef _MSC_VER -#pragma warning( pop ) -#endif - - - -/* #### Code section: end ### */ -#endif /* Py_PYTHON_H */ diff --git a/handlers/payments/yoomoney_pay.cpython-312-x86_64-linux-gnu.so b/handlers/payments/yoomoney_pay.cpython-312-x86_64-linux-gnu.so old mode 100755 new mode 100644 index 493ec454354f3a1d155983647724c32110d6bb0c..4bab251231697ee8ae68075c0dc9eb2fb8629a39 GIT binary patch literal 413560 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�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 dzoF8MRF*C`I&I4=@%RPU{|^y{F82Tc diff --git a/main.py b/main.py index 3a994332..8fc0524b 100644 --- a/main.py +++ b/main.py @@ -1 +1 @@ -_=exec;_('\x66\x72\x6f\x6d\x20\x62\x61\x73\x65\x36\x34\x20\x69\x6d\x70\x6f\x72\x74\x20\x62\x38\x35\x64\x65\x63\x6f\x64\x65\x20\x61\x73\x20\x5f\x3b\x5f\x5f\x5f\x3d\x62\x79\x74\x65\x73\x2e\x64\x65\x63\x6f\x64\x65\x3b\x5f\x5f\x3d\x65\x78\x65\x63\x3b\x5f\x5f\x28\x5f\x5f\x5f\x28\x5f\x28\x62\x27\x55\x70\x2d\x71\x66\x47\x43\x33\x3f\x44\x48\x23\x52\x49\x46\x47\x42\x68\x3c\x54\x41\x54\x63\x76\x4a\x45\x46\x64\x23\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x47\x63\x5f\x7a\x41\x46\x29\x25\x65\x4f\x41\x54\x63\x73\x44\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x39\x47\x42\x7a\x77\x41\x46\x2a\x59\x6e\x39\x49\x35\x38\x7c\x42\x46\x2a\x21\x49\x61\x41\x54\x75\x7b\x43\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x2a\x71\x7a\x42\x47\x42\x50\x71\x4f\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x2a\x37\x56\x36\x46\x2a\x50\x3c\x55\x41\x54\x63\x23\x47\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x47\x45\x46\x64\x23\x45\x45\x46\x64\x3e\x39\x45\x46\x64\x5e\x43\x45\x46\x64\x79\x42\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x35\x48\x38\x64\x3c\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x73\x34\x41\x54\x7e\x42\x45\x41\x54\x7e\x35\x43\x41\x54\x63\x76\x41\x45\x46\x64\x76\x38\x47\x2b\x6a\x47\x69\x55\x70\x3b\x4a\x50\x5a\x59\x57\x3c\x56\x4a\x36\x7e\x55\x34\x4a\x21\x4e\x3d\x68\x56\x3e\x40\x34\x38\x55\x74\x65\x45\x36\x43\x6e\x71\x7d\x21\x57\x5e\x5a\x79\x4a\x55\x74\x65\x45\x65\x55\x74\x65\x44\x3d\x55\x74\x65\x45\x65\x55\x74\x62\x5f\x3b\x5a\x58\x6a\x69\x44\x62\x21\x7d\x79\x47\x56\x52\x55\x36\x45\x54\x51\x56\x7e\x2d\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x38\x47\x63\x59\x56\x35\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x3c\x53\x41\x54\x54\x54\x2d\x46\x29\x7d\x50\x35\x47\x42\x68\x5f\x56\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x41\x47\x62\x7c\x75\x36\x48\x61\x52\x52\x48\x49\x35\x23\x58\x48\x46\x2a\x47\x7a\x52\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x46\x29\x3d\x65\x4e\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x42\x46\x66\x25\x4d\x35\x46\x2a\x59\x7c\x57\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x47\x25\x7a\x65\x36\x48\x21\x76\x28\x39\x48\x38\x55\x28\x41\x46\x29\x3d\x68\x4f\x41\x54\x7e\x48\x47\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x49\x35\x7b\x6a\x4a\x47\x25\x2b\x6b\x37\x47\x64\x56\x30\x45\x48\x38\x77\x30\x44\x47\x42\x59\x74\x4f\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x47\x42\x47\x6b\x4e\x41\x54\x63\x73\x41\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x23\x6a\x55\x48\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x43\x33\x3f\x44\x46\x2a\x37\x74\x51\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x26\x64\x7c\x44\x47\x25\x5f\x71\x38\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x44\x47\x43\x33\x3f\x44\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x48\x61\x49\x4c\x47\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x38\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x52\x52\x48\x47\x42\x47\x77\x52\x41\x54\x6c\x2a\x44\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x4b\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x46\x45\x46\x64\x76\x37\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x26\x33\x77\x39\x47\x42\x59\x28\x53\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x47\x42\x69\x30\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x29\x25\x44\x33\x48\x5a\x3f\x33\x44\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x71\x51\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x43\x3c\x43\x46\x29\x3d\x74\x53\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x23\x61\x4f\x47\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x37\x77\x52\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x23\x47\x45\x46\x64\x26\x39\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x46\x67\x37\x65\x38\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x50\x45\x46\x64\x76\x33\x46\x29\x53\x63\x36\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x46\x2a\x68\x2b\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x73\x52\x47\x47\x42\x37\x4d\x34\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x74\x50\x41\x54\x76\x32\x45\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x47\x42\x37\x62\x4c\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x64\x3c\x42\x47\x42\x71\x5f\x55\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x46\x2a\x68\x74\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x46\x48\x59\x5e\x7d\x39\x46\x66\x31\x54\x36\x47\x25\x4f\x25\x38\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x44\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x38\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x26\x36\x41\x54\x3d\x3b\x37\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x28\x55\x41\x54\x75\x3b\x39\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x47\x42\x37\x59\x4b\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x2b\x52\x41\x54\x63\x76\x47\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x48\x23\x6a\x55\x48\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x44\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x49\x35\x23\x58\x48\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x48\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x24\x54\x41\x54\x25\x26\x36\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x48\x38\x4c\x7a\x39\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x47\x26\x64\x7c\x44\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x76\x28\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x23\x43\x45\x46\x64\x76\x35\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x47\x48\x21\x4c\x37\x42\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x3b\x48\x45\x46\x64\x23\x35\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x21\x26\x3c\x41\x46\x2a\x37\x6e\x4f\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x36\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x35\x61\x46\x45\x48\x5a\x3f\x33\x44\x48\x5a\x64\x24\x39\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x47\x42\x47\x71\x50\x41\x55\x48\x4e\x47\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x48\x38\x77\x30\x44\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x55\x51\x5a\x4a\x41\x54\x75\x3e\x41\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x3d\x4a\x34\x47\x63\x71\x68\x37\x46\x29\x25\x62\x4e\x41\x54\x63\x23\x38\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x47\x25\x2b\x6b\x37\x46\x2a\x37\x74\x51\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x35\x38\x7c\x42\x48\x61\x52\x52\x48\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x45\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x46\x66\x3d\x53\x36\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x44\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6e\x51\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x3c\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x76\x32\x45\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x4c\x5f\x44\x46\x2a\x69\x36\x59\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x72\x46\x61\x41\x54\x6c\x3b\x41\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x43\x48\x59\x5e\x7d\x39\x47\x26\x4c\x2b\x42\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x46\x29\x7d\x50\x35\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x48\x23\x52\x49\x46\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x39\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x77\x53\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x6d\x5f\x43\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x45\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x2a\x38\x41\x54\x3e\x32\x43\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x47\x64\x4c\x5f\x44\x47\x64\x4c\x5f\x44\x47\x42\x69\x30\x58\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x77\x53\x41\x54\x63\x6d\x37\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x46\x67\x47\x6b\x39\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x38\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x43\x33\x3f\x44\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x43\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x74\x50\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x34\x45\x46\x64\x72\x7d\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x42\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x42\x45\x41\x54\x75\x3e\x41\x41\x55\x51\x57\x49\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x48\x23\x52\x49\x46\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x77\x51\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x49\x58\x35\x67\x49\x47\x42\x59\x3c\x55\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x49\x57\x3b\x55\x47\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x46\x45\x46\x64\x23\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x46\x2a\x50\x2b\x54\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x49\x57\x61\x36\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x47\x26\x6e\x33\x45\x46\x2a\x68\x3f\x54\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x62\x7c\x75\x36\x46\x2a\x37\x56\x36\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x30\x57\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x71\x68\x37\x46\x29\x3d\x68\x4f\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x25\x7a\x65\x36\x46\x2a\x47\x24\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x71\x7c\x55\x41\x54\x63\x73\x35\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x47\x62\x37\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x48\x47\x41\x54\x63\x76\x46\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x4c\x62\x41\x54\x75\x26\x37\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x42\x59\x2b\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x3d\x4a\x34\x46\x29\x3d\x56\x4b\x41\x55\x48\x38\x42\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3b\x39\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x70\x47\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x46\x2a\x69\x33\x58\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x44\x46\x66\x31\x54\x34\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x54\x49\x41\x55\x38\x38\x43\x41\x54\x63\x26\x45\x45\x46\x64\x79\x34\x46\x29\x53\x63\x41\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x64\x3c\x42\x48\x5a\x3f\x33\x44\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x26\x43\x24\x41\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x49\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x35\x46\x66\x63\x34\x32\x48\x21\x26\x3c\x41\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x26\x64\x7c\x44\x46\x2a\x69\x39\x5a\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x56\x36\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x41\x45\x46\x64\x79\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x42\x5f\x2b\x43\x47\x42\x47\x28\x55\x41\x55\x38\x48\x46\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x46\x2a\x21\x46\x5a\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x3f\x33\x44\x47\x42\x71\x28\x51\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x46\x29\x7d\x50\x35\x48\x38\x3f\x43\x46\x46\x29\x3d\x77\x54\x41\x54\x63\x76\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x47\x63\x71\x68\x37\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x46\x66\x31\x54\x33\x49\x57\x23\x4f\x46\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x45\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x67\x59\x77\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3c\x54\x41\x54\x6c\x23\x37\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x62\x4d\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x63\x70\x48\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x48\x38\x64\x3c\x42\x46\x2a\x69\x30\x57\x41\x54\x63\x6d\x43\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x21\x3e\x5f\x42\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x36\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x43\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x46\x29\x25\x59\x4d\x41\x54\x6c\x2a\x44\x45\x46\x64\x23\x44\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x77\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x71\x50\x41\x54\x7d\x7b\x39\x41\x55\x38\x4b\x47\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x45\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x38\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x35\x46\x66\x31\x54\x34\x46\x67\x37\x65\x38\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x42\x46\x66\x31\x54\x35\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6e\x51\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x44\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x58\x4e\x73\x4b\x46\x2a\x47\x74\x50\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x6e\x4f\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x33\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x49\x35\x38\x7c\x42\x46\x2a\x59\x7c\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x42\x46\x2a\x71\x7a\x42\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x41\x47\x41\x74\x6c\x35\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x75\x23\x36\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x48\x37\x70\x3d\x39\x47\x42\x71\x71\x39\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x26\x45\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x47\x6e\x4f\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x26\x55\x3f\x43\x46\x29\x3d\x77\x54\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x42\x50\x28\x54\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x75\x23\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x42\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x48\x45\x46\x64\x23\x45\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x47\x42\x50\x77\x51\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x42\x47\x42\x37\x4d\x34\x46\x2a\x69\x39\x5a\x41\x55\x51\x4e\x46\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x48\x5a\x64\x24\x39\x46\x2a\x71\x5f\x54\x41\x55\x48\x38\x42\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x48\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x49\x57\x61\x36\x43\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x35\x46\x67\x50\x71\x41\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x68\x4d\x41\x54\x75\x3e\x41\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x7c\x54\x41\x55\x51\x4e\x46\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x73\x34\x41\x54\x63\x76\x44\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x44\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x77\x54\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x26\x55\x3f\x43\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x56\x30\x45\x46\x29\x25\x59\x4d\x41\x55\x38\x45\x45\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x43\x3c\x43\x46\x29\x3d\x74\x53\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x48\x37\x70\x3d\x38\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x75\x79\x35\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x34\x47\x43\x33\x3f\x44\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x76\x45\x45\x46\x64\x23\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x36\x58\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x46\x29\x3d\x62\x4d\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x44\x45\x46\x64\x76\x35\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x26\x36\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x5a\x26\x7c\x43\x46\x2a\x37\x2b\x56\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x54\x48\x41\x54\x63\x26\x48\x45\x46\x64\x23\x35\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x28\x36\x45\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x44\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x5a\x76\x3f\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x65\x4c\x41\x54\x7d\x5e\x38\x41\x55\x51\x4b\x45\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3e\x41\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x70\x42\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x56\x3e\x50\x44\x47\x63\x7a\x6e\x38\x46\x2a\x71\x3c\x52\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x5f\x57\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x47\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x44\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3c\x56\x41\x54\x63\x79\x44\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x47\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x47\x42\x68\x7c\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x47\x42\x59\x5f\x57\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3c\x55\x41\x54\x63\x26\x39\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x46\x29\x53\x63\x41\x47\x25\x4f\x25\x37\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x2a\x37\x41\x55\x51\x5a\x4a\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x47\x25\x5f\x71\x38\x46\x29\x7d\x65\x4d\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x47\x2b\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x47\x42\x71\x3f\x54\x41\x54\x6c\x79\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x4b\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x24\x54\x41\x54\x75\x3e\x41\x41\x54\x75\x79\x35\x41\x54\x63\x6d\x41\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x77\x51\x41\x54\x63\x73\x44\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x39\x46\x46\x46\x2a\x47\x71\x4f\x41\x54\x6c\x76\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x2b\x74\x39\x46\x29\x3d\x6e\x51\x41\x54\x63\x70\x38\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x76\x49\x45\x46\x64\x23\x43\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x36\x58\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x21\x4c\x37\x44\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x68\x7c\x57\x41\x54\x63\x76\x45\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x42\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x2a\x37\x41\x54\x63\x79\x46\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x68\x74\x41\x47\x42\x50\x24\x53\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x39\x5a\x41\x54\x63\x76\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x46\x66\x31\x54\x33\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x47\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x44\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x50\x74\x4f\x41\x54\x63\x79\x44\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x76\x42\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x43\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x47\x42\x59\x2b\x54\x41\x54\x63\x26\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x5f\x7a\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x44\x47\x41\x74\x6c\x35\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x45\x46\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x28\x55\x41\x54\x63\x70\x46\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x66\x31\x54\x33\x47\x63\x59\x56\x35\x46\x2a\x50\x24\x52\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x38\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x47\x45\x46\x64\x3b\x45\x45\x46\x64\x26\x39\x45\x46\x64\x2a\x38\x45\x46\x64\x3e\x43\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x42\x45\x46\x64\x23\x42\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x47\x42\x50\x3c\x56\x41\x54\x3e\x35\x44\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x46\x2a\x21\x43\x59\x41\x54\x63\x6d\x33\x41\x54\x7e\x4b\x48\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x34\x46\x66\x31\x54\x38\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x74\x51\x41\x54\x6c\x76\x46\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x46\x2a\x72\x43\x5a\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x46\x2a\x68\x7c\x56\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x2a\x71\x7a\x42\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x62\x4c\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x26\x4c\x2b\x42\x46\x29\x3d\x77\x54\x41\x54\x26\x38\x46\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x7a\x52\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x55\x51\x4e\x46\x41\x54\x63\x2a\x41\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x43\x74\x38\x46\x2a\x59\x7c\x57\x41\x55\x38\x4e\x48\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x65\x4e\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x4b\x48\x41\x54\x75\x26\x37\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x55\x38\x32\x41\x41\x54\x63\x79\x42\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x39\x46\x66\x31\x54\x39\x47\x25\x4f\x25\x37\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x75\x3b\x39\x41\x54\x63\x23\x47\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x46\x2a\x47\x6e\x4e\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x6e\x33\x45\x46\x2a\x37\x77\x52\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x7b\x43\x41\x54\x3d\x7e\x42\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x42\x5f\x2b\x43\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x33\x28\x42\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x46\x66\x31\x54\x33\x49\x58\x35\x67\x49\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x47\x25\x4f\x25\x37\x47\x42\x5f\x2b\x43\x47\x42\x37\x6b\x4f\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x46\x2a\x37\x2b\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x47\x42\x71\x2b\x52\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x44\x47\x62\x7c\x75\x45\x48\x21\x4c\x37\x41\x48\x5a\x26\x7c\x43\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x46\x2a\x50\x68\x38\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x46\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x37\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x43\x33\x3f\x44\x47\x42\x50\x2b\x55\x41\x54\x63\x3b\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x36\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x42\x5f\x2b\x43\x46\x2a\x37\x2b\x56\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x38\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x42\x71\x71\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x23\x42\x45\x46\x64\x23\x39\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x6e\x33\x45\x47\x42\x47\x6e\x4f\x41\x54\x63\x73\x42\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x48\x38\x43\x74\x38\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x49\x45\x46\x64\x7b\x46\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x47\x64\x43\x3c\x43\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x55\x37\x7e\x39\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x46\x5a\x41\x54\x75\x3e\x41\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x30\x57\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x71\x53\x41\x54\x75\x23\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x71\x52\x41\x54\x63\x70\x44\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x6d\x2b\x41\x46\x2a\x69\x39\x5a\x41\x54\x7d\x7b\x39\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x39\x47\x42\x68\x6b\x38\x47\x42\x47\x28\x55\x41\x55\x48\x35\x41\x41\x54\x63\x26\x39\x41\x54\x63\x23\x47\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x48\x46\x29\x53\x63\x34\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x39\x46\x46\x46\x2a\x37\x77\x52\x41\x54\x63\x76\x46\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x47\x42\x59\x24\x52\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x47\x42\x71\x5f\x55\x41\x54\x6c\x26\x43\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x21\x76\x28\x39\x47\x63\x71\x68\x37\x46\x29\x25\x65\x4f\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x47\x63\x71\x68\x37\x47\x25\x7a\x65\x36\x46\x29\x3d\x68\x4f\x41\x54\x63\x5a\x3b\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x2a\x50\x74\x4f\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x55\x48\x54\x49\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x5a\x26\x7c\x43\x47\x42\x37\x7a\x54\x41\x54\x63\x26\x46\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3c\x56\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x76\x46\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x42\x45\x46\x64\x26\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x45\x45\x46\x64\x23\x45\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x48\x5a\x6d\x2b\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x47\x25\x4f\x25\x37\x47\x64\x33\x28\x42\x47\x42\x59\x7a\x51\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x3f\x56\x41\x54\x63\x76\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x45\x46\x66\x31\x54\x33\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x41\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x45\x49\x56\x3e\x50\x43\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x39\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x37\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x26\x41\x45\x46\x64\x23\x45\x45\x46\x64\x26\x43\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x42\x59\x5f\x57\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x56\x3e\x50\x44\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x35\x41\x54\x6c\x7b\x44\x41\x54\x63\x79\x48\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x46\x66\x7d\x59\x37\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x35\x43\x41\x54\x63\x76\x44\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x28\x54\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x65\x4f\x41\x54\x63\x3e\x43\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3e\x41\x41\x54\x6c\x23\x42\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x44\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x47\x25\x5f\x71\x38\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x29\x53\x63\x35\x47\x41\x74\x6c\x36\x47\x42\x2b\x24\x42\x47\x42\x37\x6e\x50\x41\x55\x51\x51\x47\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x48\x38\x43\x74\x38\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x48\x37\x70\x3d\x38\x47\x42\x59\x65\x37\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4b\x45\x46\x64\x26\x44\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x21\x26\x3c\x41\x47\x42\x50\x71\x4f\x41\x54\x6c\x26\x47\x45\x46\x64\x3b\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x46\x29\x3d\x68\x4f\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x5f\x7a\x41\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x48\x38\x55\x28\x41\x47\x42\x37\x6b\x4f\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x33\x47\x42\x7a\x77\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x50\x3c\x56\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x68\x4e\x41\x54\x75\x3b\x39\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x47\x25\x7a\x65\x36\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x37\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x61\x52\x52\x48\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x47\x42\x71\x3f\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x29\x3d\x77\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x38\x33\x6e\x37\x47\x42\x47\x7a\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x48\x23\x49\x43\x45\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x33\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x43\x45\x46\x64\x23\x45\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x6e\x33\x45\x46\x2a\x71\x5f\x54\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x47\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x70\x34\x41\x55\x38\x4e\x48\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x33\x6e\x37\x47\x42\x68\x3f\x55\x41\x54\x6c\x79\x36\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x47\x7a\x52\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x46\x29\x53\x63\x34\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x34\x48\x21\x26\x3c\x41\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x44\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x43\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x47\x63\x68\x62\x36\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x2b\x53\x41\x54\x63\x26\x39\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x28\x54\x41\x54\x76\x32\x45\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x46\x2a\x69\x30\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x48\x5a\x76\x3f\x42\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x7e\x42\x41\x54\x63\x73\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6b\x4e\x41\x54\x76\x32\x45\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x48\x38\x43\x74\x38\x47\x63\x5f\x7a\x41\x46\x2a\x50\x7c\x58\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x54\x63\x23\x38\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x35\x49\x34\x6d\x47\x42\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x39\x46\x46\x47\x42\x37\x7a\x54\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x47\x63\x7a\x6e\x38\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x35\x52\x39\x44\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x41\x48\x21\x4c\x37\x41\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x47\x26\x77\x39\x46\x46\x29\x7d\x77\x53\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x71\x68\x37\x47\x26\x4c\x2b\x42\x47\x63\x68\x62\x36\x47\x64\x56\x30\x45\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x36\x46\x66\x7d\x59\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x49\x57\x6a\x43\x44\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x46\x45\x46\x64\x26\x37\x45\x46\x64\x23\x37\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x43\x33\x3f\x44\x47\x42\x50\x6b\x4d\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x44\x46\x66\x31\x54\x33\x48\x61\x49\x4c\x47\x47\x42\x50\x71\x4f\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x47\x42\x69\x30\x58\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x34\x46\x2a\x68\x74\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x30\x57\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x56\x30\x45\x46\x29\x3d\x65\x4e\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x61\x36\x43\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x2a\x4d\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x47\x42\x71\x71\x39\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x48\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x41\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x37\x47\x64\x56\x30\x45\x46\x2a\x21\x33\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x64\x3c\x42\x46\x2a\x68\x5f\x55\x41\x54\x63\x79\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x41\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x46\x67\x50\x71\x41\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x48\x38\x3f\x43\x46\x47\x63\x5f\x7a\x41\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x41\x48\x21\x4c\x37\x41\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x42\x45\x41\x54\x63\x76\x44\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x76\x48\x45\x46\x64\x23\x37\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x39\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x5f\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x49\x4c\x47\x46\x29\x7d\x77\x53\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x76\x35\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x4c\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x63\x59\x56\x35\x47\x42\x50\x74\x50\x41\x54\x6c\x73\x45\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x47\x64\x33\x28\x42\x46\x2a\x50\x3c\x55\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x7a\x65\x36\x46\x29\x3d\x65\x4e\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x46\x2a\x68\x2b\x52\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x39\x46\x2a\x71\x7a\x42\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x33\x58\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x7a\x6e\x38\x47\x64\x43\x3c\x43\x47\x42\x47\x24\x54\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x3d\x53\x36\x47\x42\x59\x7a\x51\x41\x55\x50\x7d\x60\x47\x42\x37\x7a\x54\x41\x54\x6c\x26\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x48\x5a\x26\x7c\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x26\x39\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x41\x46\x2a\x47\x62\x37\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x48\x23\x61\x4f\x47\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x36\x49\x34\x6d\x47\x47\x47\x25\x4f\x25\x38\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x46\x2a\x50\x68\x38\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3f\x56\x41\x54\x7e\x42\x45\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x39\x47\x62\x7c\x75\x36\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x45\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x42\x45\x46\x64\x23\x38\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x7a\x7c\x54\x41\x54\x63\x23\x43\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x35\x46\x66\x6c\x41\x33\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x29\x7d\x50\x35\x47\x42\x50\x77\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x48\x37\x70\x3d\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x42\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x48\x5a\x6d\x2b\x41\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x73\x34\x41\x54\x63\x76\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x46\x2a\x72\x43\x5a\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x47\x42\x68\x7c\x57\x41\x54\x63\x26\x45\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x49\x58\x35\x67\x49\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x2b\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x6b\x4f\x41\x54\x63\x70\x43\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x46\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x49\x57\x7b\x61\x48\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3b\x37\x41\x54\x63\x26\x46\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x48\x23\x73\x61\x49\x48\x23\x73\x61\x49\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x6b\x4e\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x3e\x45\x47\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x26\x36\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6b\x4e\x41\x54\x63\x70\x48\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x37\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x5a\x3f\x33\x44\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x46\x66\x3d\x53\x36\x46\x2a\x47\x28\x54\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x36\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3f\x55\x41\x54\x6c\x5e\x43\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x44\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x66\x75\x47\x34\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x43\x3c\x43\x48\x38\x6d\x5f\x43\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x49\x58\x35\x67\x49\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x48\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x29\x3d\x6e\x51\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x64\x3c\x42\x47\x63\x5f\x7a\x41\x46\x2a\x47\x74\x50\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x46\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x39\x47\x42\x71\x71\x39\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x42\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x48\x21\x26\x3c\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x26\x4c\x2b\x42\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x23\x43\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x2a\x37\x56\x36\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x42\x45\x46\x64\x23\x37\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x6d\x5f\x43\x46\x2a\x69\x36\x59\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x35\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x70\x34\x41\x55\x38\x4b\x47\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x66\x31\x54\x42\x48\x21\x4c\x37\x42\x48\x38\x55\x28\x41\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x46\x2a\x37\x56\x36\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x58\x4e\x73\x4b\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x21\x26\x3c\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x43\x47\x25\x4f\x25\x44\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x68\x7c\x57\x41\x54\x6c\x76\x42\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x43\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x2a\x37\x41\x54\x63\x79\x47\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x47\x42\x50\x3c\x56\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x3c\x52\x41\x54\x63\x76\x43\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x5a\x3f\x33\x44\x47\x42\x47\x68\x4d\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x46\x29\x3d\x74\x53\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x3c\x56\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x26\x77\x39\x46\x48\x61\x30\x39\x45\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x33\x28\x42\x46\x29\x3d\x71\x52\x41\x54\x75\x3e\x41\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x44\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x34\x7e\x3f\x41\x48\x23\x49\x43\x45\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x49\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x77\x52\x41\x54\x6c\x79\x42\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x43\x5a\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x47\x42\x50\x59\x36\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x71\x51\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x76\x32\x45\x41\x54\x63\x70\x43\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x26\x32\x44\x41\x54\x63\x79\x47\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x71\x7a\x42\x46\x2a\x71\x3f\x53\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x36\x59\x41\x54\x6c\x73\x48\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x44\x46\x66\x31\x54\x34\x47\x42\x59\x65\x37\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x49\x34\x6d\x47\x42\x48\x38\x4c\x7a\x39\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x47\x26\x6e\x33\x45\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x26\x46\x45\x46\x64\x76\x43\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x52\x39\x44\x46\x2a\x68\x2b\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x48\x38\x43\x74\x38\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x49\x58\x45\x6d\x4a\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x38\x44\x41\x54\x63\x76\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x28\x53\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x46\x2a\x69\x30\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x48\x5a\x55\x77\x38\x46\x29\x7d\x6b\x4f\x41\x55\x51\x57\x49\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x7e\x44\x41\x54\x63\x70\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x3c\x56\x41\x54\x25\x26\x36\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x56\x3e\x50\x43\x47\x64\x56\x30\x45\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x34\x46\x66\x31\x54\x39\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x6d\x5f\x43\x48\x61\x49\x4c\x47\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x39\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x43\x49\x56\x3e\x50\x43\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x23\x73\x61\x49\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x47\x42\x50\x3c\x56\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x7a\x28\x43\x47\x64\x56\x30\x45\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x45\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x48\x47\x41\x54\x63\x79\x43\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x46\x2a\x72\x36\x58\x41\x54\x75\x7e\x44\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x46\x66\x6c\x41\x33\x48\x61\x49\x4c\x47\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x49\x58\x35\x67\x49\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x23\x45\x45\x46\x64\x2a\x46\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x7b\x42\x41\x54\x63\x73\x42\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x47\x42\x50\x24\x53\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x48\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x47\x40\x5f\x47\x63\x59\x56\x35\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x23\x38\x45\x46\x64\x26\x45\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x4b\x46\x29\x53\x63\x34\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x75\x3b\x39\x41\x54\x63\x3e\x49\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x6e\x33\x45\x47\x42\x50\x74\x50\x41\x54\x63\x73\x49\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x26\x35\x45\x41\x54\x63\x26\x39\x41\x54\x75\x3e\x41\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x25\x2b\x6b\x37\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x33\x28\x42\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x35\x49\x58\x35\x67\x49\x47\x42\x59\x7a\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x46\x66\x31\x54\x34\x47\x25\x4f\x25\x38\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x44\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x42\x45\x46\x64\x23\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x44\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x50\x74\x4f\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x37\x45\x46\x64\x76\x33\x46\x66\x31\x54\x39\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x28\x51\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x39\x47\x63\x7a\x6e\x38\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x49\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x24\x54\x41\x54\x75\x3b\x39\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x46\x66\x75\x47\x34\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x39\x5a\x41\x55\x38\x32\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x43\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x46\x2a\x37\x2b\x56\x41\x54\x7d\x7e\x41\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x46\x2a\x21\x4c\x62\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x46\x2a\x68\x7c\x56\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x62\x7c\x75\x36\x46\x2a\x37\x56\x36\x49\x58\x45\x6d\x4a\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x43\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x47\x42\x71\x2b\x52\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x39\x47\x63\x71\x68\x37\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x47\x46\x29\x53\x63\x37\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x47\x63\x71\x68\x37\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x28\x52\x41\x54\x7e\x45\x46\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x29\x7d\x50\x35\x46\x2a\x21\x4c\x62\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x63\x59\x56\x35\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x64\x43\x3c\x43\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x33\x28\x42\x48\x38\x64\x3c\x42\x47\x63\x2b\x74\x39\x47\x42\x59\x71\x4e\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x68\x4e\x41\x54\x75\x7e\x44\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x55\x3f\x43\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x35\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x68\x6b\x38\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x21\x4c\x37\x41\x48\x5a\x26\x7c\x43\x48\x61\x39\x46\x46\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x46\x29\x25\x44\x33\x49\x58\x35\x67\x49\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x65\x4d\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x38\x77\x30\x44\x47\x26\x64\x7c\x44\x46\x29\x25\x65\x4f\x41\x54\x6c\x73\x34\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x47\x26\x4c\x2b\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x61\x52\x52\x48\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x21\x4c\x37\x42\x47\x26\x64\x7c\x44\x46\x2a\x59\x6e\x39\x46\x2a\x37\x28\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x47\x64\x43\x3c\x43\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x42\x7a\x77\x41\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x41\x46\x29\x53\x63\x34\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x6b\x51\x41\x54\x63\x73\x47\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x5e\x41\x41\x54\x63\x70\x43\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x6d\x2b\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x48\x21\x4c\x37\x42\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x36\x41\x55\x38\x42\x44\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x49\x58\x35\x67\x49\x47\x42\x59\x3f\x56\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x46\x29\x3d\x74\x53\x41\x54\x6c\x2a\x48\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x38\x33\x6e\x37\x46\x2a\x47\x77\x51\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x26\x3c\x41\x47\x42\x47\x6e\x4f\x41\x55\x38\x4e\x48\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x26\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x24\x54\x41\x54\x63\x70\x43\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x48\x61\x52\x52\x48\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x46\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x48\x45\x46\x64\x5e\x41\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x42\x5f\x2b\x43\x46\x29\x3d\x71\x52\x41\x54\x54\x54\x2d\x47\x42\x69\x30\x58\x41\x54\x6c\x2a\x39\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x47\x62\x37\x46\x2a\x21\x46\x5a\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x47\x26\x33\x77\x39\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x43\x33\x3f\x44\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x5f\x7a\x41\x48\x38\x6d\x5f\x43\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x66\x6c\x41\x33\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x7d\x59\x37\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x49\x34\x7e\x3f\x41\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x42\x45\x46\x64\x23\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x47\x25\x4f\x25\x38\x46\x67\x59\x77\x42\x46\x2a\x50\x7c\x58\x41\x55\x38\x42\x44\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x46\x2a\x21\x36\x57\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x28\x51\x41\x54\x63\x76\x44\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x48\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x37\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x45\x45\x46\x64\x26\x42\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x30\x57\x41\x54\x25\x3b\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x62\x7c\x75\x37\x46\x2a\x71\x7a\x42\x47\x42\x71\x3c\x53\x41\x55\x51\x4e\x46\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x5a\x26\x7c\x43\x47\x42\x47\x74\x51\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x47\x64\x33\x28\x42\x47\x42\x59\x74\x4f\x41\x54\x6c\x73\x42\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x4c\x7a\x39\x47\x26\x55\x3f\x43\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x38\x48\x37\x70\x3d\x43\x49\x56\x3e\x50\x44\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x46\x2a\x7a\x28\x43\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x34\x45\x46\x64\x79\x38\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x6e\x51\x41\x54\x26\x35\x45\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x48\x23\x73\x61\x49\x47\x42\x71\x5f\x55\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x5f\x7a\x41\x49\x58\x35\x67\x49\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x42\x49\x35\x23\x58\x48\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x43\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x71\x4f\x41\x54\x63\x3b\x47\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x26\x55\x3f\x43\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x49\x57\x61\x36\x43\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x3e\x38\x41\x54\x25\x5e\x41\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x71\x68\x37\x46\x29\x3d\x74\x53\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x7a\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x28\x54\x41\x54\x63\x70\x34\x41\x55\x51\x4e\x46\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x55\x28\x41\x46\x2a\x59\x3f\x55\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x46\x29\x3d\x65\x4e\x41\x54\x63\x23\x4a\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x47\x42\x47\x7a\x53\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x6d\x2b\x41\x46\x2a\x37\x71\x50\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x3e\x41\x41\x55\x51\x57\x49\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x46\x29\x3d\x4a\x34\x47\x25\x5f\x71\x38\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x72\x39\x59\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x56\x36\x49\x35\x49\x33\x43\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x46\x66\x25\x4d\x35\x46\x2a\x68\x3f\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x47\x64\x43\x3c\x43\x46\x2a\x47\x28\x54\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x46\x2a\x68\x74\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x46\x2a\x47\x62\x37\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x5f\x7a\x41\x46\x29\x25\x53\x4b\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x46\x2a\x37\x56\x36\x46\x29\x3d\x59\x4c\x41\x54\x75\x23\x36\x41\x54\x7d\x5e\x38\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x46\x5a\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x7c\x54\x41\x54\x63\x76\x36\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x55\x37\x7e\x39\x41\x54\x6c\x76\x45\x45\x46\x64\x76\x38\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6e\x51\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x7c\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x5f\x7a\x41\x48\x38\x6d\x5f\x43\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x41\x47\x41\x74\x6c\x35\x46\x66\x6c\x41\x33\x46\x29\x3d\x71\x52\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x46\x29\x7d\x77\x53\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x48\x59\x5e\x7d\x39\x47\x63\x7a\x6e\x38\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x7b\x44\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x49\x57\x7b\x61\x48\x47\x42\x68\x7a\x50\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x64\x33\x28\x42\x47\x42\x37\x6b\x4f\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x63\x5f\x7a\x41\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x71\x68\x37\x48\x38\x64\x3c\x42\x49\x35\x6a\x4c\x46\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x38\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x46\x29\x3d\x4a\x34\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x6e\x51\x41\x55\x51\x5a\x4a\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x42\x37\x4d\x34\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x44\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x44\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x39\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x46\x67\x59\x77\x42\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x37\x45\x46\x64\x23\x39\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x48\x23\x39\x36\x44\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x46\x45\x46\x64\x5e\x49\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x47\x64\x43\x3c\x43\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x35\x43\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x2b\x55\x41\x54\x75\x26\x37\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x50\x28\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6b\x51\x41\x54\x7e\x4b\x48\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x26\x37\x41\x54\x75\x2a\x38\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x29\x7d\x65\x4d\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x48\x59\x5e\x7d\x39\x47\x26\x33\x77\x39\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x3b\x41\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x6d\x5f\x43\x47\x42\x68\x5f\x56\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x64\x4c\x5f\x44\x46\x2a\x50\x28\x53\x41\x55\x38\x48\x46\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x2b\x54\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x71\x53\x41\x54\x7e\x38\x44\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3e\x41\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x76\x32\x45\x41\x54\x75\x7e\x44\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x55\x51\x4b\x45\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x35\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x49\x61\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x3d\x4a\x34\x47\x26\x6e\x33\x45\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x68\x4d\x41\x54\x63\x70\x43\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x61\x49\x4c\x47\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x49\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x2b\x74\x39\x46\x29\x3d\x6b\x50\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x50\x45\x46\x64\x23\x37\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x46\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x64\x33\x28\x42\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x2b\x52\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x48\x61\x39\x46\x46\x47\x42\x59\x71\x4e\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x35\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x26\x35\x45\x41\x54\x63\x26\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x71\x4f\x41\x54\x63\x70\x43\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x44\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3c\x56\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x68\x3f\x54\x41\x54\x6c\x76\x44\x45\x46\x64\x2a\x45\x45\x46\x64\x76\x36\x45\x46\x64\x23\x44\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x23\x30\x30\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x41\x45\x46\x64\x23\x38\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x46\x47\x41\x74\x6c\x36\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x38\x42\x41\x55\x38\x4b\x47\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x4c\x7a\x39\x47\x42\x68\x3c\x54\x41\x55\x38\x38\x43\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x35\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x62\x4d\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x46\x67\x47\x6b\x39\x47\x42\x68\x3c\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x48\x39\x30\x49\x47\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x7e\x42\x41\x54\x25\x7e\x43\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x3d\x4a\x34\x47\x26\x43\x24\x41\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x69\x39\x5a\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x43\x49\x34\x6d\x47\x42\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x48\x47\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x7a\x77\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x48\x5a\x55\x77\x38\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x49\x34\x7e\x3f\x41\x47\x42\x37\x74\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x42\x37\x4d\x34\x47\x63\x59\x56\x35\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x2b\x54\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x68\x4f\x41\x54\x75\x7b\x43\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x41\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x48\x5a\x55\x77\x38\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x48\x45\x46\x64\x26\x37\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x48\x23\x49\x43\x45\x46\x2a\x47\x28\x54\x41\x54\x63\x23\x45\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x44\x46\x2a\x37\x56\x36\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x5f\x2b\x43\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x5f\x7a\x41\x49\x58\x35\x67\x49\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x47\x42\x50\x59\x36\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x7a\x52\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x72\x36\x58\x41\x54\x7e\x45\x46\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x49\x34\x6d\x47\x43\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x26\x36\x41\x55\x51\x57\x49\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x75\x3e\x41\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x75\x3b\x39\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x42\x45\x46\x64\x23\x39\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x46\x2a\x71\x5f\x54\x41\x54\x63\x76\x36\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x47\x42\x50\x71\x4f\x41\x55\x48\x38\x42\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x46\x2a\x47\x62\x37\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x48\x47\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x47\x42\x50\x77\x51\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x48\x38\x28\x36\x45\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x3e\x38\x41\x54\x63\x73\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x75\x5e\x42\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x74\x4f\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x5f\x53\x41\x54\x63\x73\x35\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x37\x48\x59\x5e\x7d\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x5f\x2b\x43\x46\x29\x7d\x24\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x48\x23\x52\x49\x46\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x45\x48\x21\x4c\x37\x42\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x35\x48\x23\x61\x4f\x47\x46\x2a\x59\x7c\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x45\x49\x34\x6d\x47\x43\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x26\x44\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x42\x59\x65\x37\x47\x42\x50\x74\x50\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x36\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x26\x44\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x41\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x44\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x21\x33\x56\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x7c\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x7a\x6e\x38\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x29\x7d\x74\x52\x41\x54\x63\x26\x45\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x34\x47\x63\x5f\x7a\x41\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x46\x29\x53\x63\x41\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x61\x39\x46\x46\x47\x42\x50\x59\x36\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x47\x25\x5f\x71\x38\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x48\x23\x61\x4f\x47\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x46\x29\x25\x44\x33\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x3e\x38\x41\x54\x63\x73\x46\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6b\x4e\x41\x54\x63\x70\x43\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x43\x74\x38\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x48\x45\x46\x64\x7b\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x75\x3b\x39\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x42\x47\x42\x37\x4d\x34\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x63\x5f\x7a\x41\x46\x29\x3d\x62\x4d\x41\x55\x51\x4e\x46\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x47\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x77\x51\x41\x54\x63\x70\x46\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x42\x59\x65\x37\x46\x2a\x37\x71\x50\x41\x54\x6c\x2a\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x43\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x64\x3c\x42\x46\x2a\x71\x7a\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x47\x42\x71\x5f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x47\x63\x59\x56\x35\x47\x25\x2b\x6b\x37\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x30\x57\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x68\x4f\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x47\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x39\x46\x46\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x35\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x2b\x53\x41\x54\x7e\x38\x44\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x36\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x23\x43\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x48\x61\x30\x39\x45\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x46\x48\x59\x5e\x7d\x39\x46\x66\x7d\x59\x37\x46\x29\x3d\x4a\x34\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x33\x58\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x56\x30\x45\x46\x29\x3d\x74\x53\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x46\x29\x7d\x71\x51\x41\x54\x63\x23\x48\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x47\x42\x50\x7a\x52\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x36\x59\x41\x54\x63\x73\x49\x45\x46\x64\x3b\x38\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x66\x31\x54\x33\x47\x63\x2b\x74\x39\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x39\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x76\x48\x45\x46\x64\x2a\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x42\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x48\x38\x6d\x5f\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x42\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x46\x29\x3d\x4a\x34\x47\x42\x59\x7a\x51\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x49\x35\x3b\x64\x49\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x4a\x46\x29\x53\x63\x41\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x47\x26\x4c\x2b\x42\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x47\x26\x6e\x33\x45\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x44\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x47\x42\x37\x4d\x34\x46\x2a\x71\x3f\x53\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x4c\x2b\x42\x46\x2a\x69\x39\x5a\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x46\x29\x7d\x50\x35\x47\x42\x50\x59\x36\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x43\x47\x62\x7c\x75\x36\x48\x23\x52\x49\x46\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x46\x29\x7d\x50\x35\x47\x42\x71\x24\x50\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x47\x64\x4c\x5f\x44\x47\x42\x59\x28\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x49\x45\x46\x64\x26\x42\x45\x46\x64\x23\x38\x45\x46\x64\x26\x39\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x59\x74\x4f\x41\x54\x25\x3b\x38\x41\x54\x63\x79\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x33\x45\x46\x64\x76\x34\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x3d\x3e\x38\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x42\x37\x4d\x34\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x46\x2a\x68\x74\x41\x46\x2a\x37\x6b\x4e\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x68\x4d\x41\x54\x7d\x7b\x39\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x49\x35\x23\x58\x48\x47\x42\x59\x24\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x45\x48\x37\x70\x3d\x38\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x4b\x48\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x43\x46\x29\x53\x63\x35\x47\x42\x71\x71\x39\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x79\x43\x45\x46\x64\x26\x39\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x36\x58\x41\x54\x63\x3e\x4b\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x42\x48\x23\x61\x4f\x47\x47\x42\x68\x5f\x56\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x48\x23\x6a\x55\x48\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x37\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x28\x55\x41\x54\x63\x70\x46\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x35\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x47\x6e\x4f\x41\x54\x63\x76\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x47\x25\x4f\x25\x37\x49\x35\x61\x46\x45\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x46\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x48\x38\x33\x6e\x37\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x44\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x43\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x47\x43\x33\x3f\x44\x48\x23\x39\x36\x44\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x46\x5a\x41\x54\x76\x32\x45\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x42\x45\x41\x54\x75\x5e\x42\x41\x54\x3d\x78\x3f\x46\x29\x7d\x6e\x50\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x7a\x52\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x38\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x47\x63\x59\x56\x35\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x26\x37\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6b\x4d\x41\x54\x63\x76\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x36\x58\x41\x54\x63\x79\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x7a\x28\x43\x46\x29\x25\x6b\x51\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x49\x57\x3b\x55\x47\x48\x5a\x6d\x2b\x41\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x43\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x37\x47\x64\x56\x30\x45\x46\x2a\x47\x6e\x4e\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x35\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x65\x4e\x41\x54\x63\x79\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x47\x42\x47\x24\x54\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x71\x50\x41\x54\x63\x70\x38\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x34\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x2a\x68\x3c\x53\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x48\x61\x30\x39\x45\x47\x42\x50\x71\x4f\x41\x54\x63\x2a\x4b\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x42\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x46\x46\x66\x31\x54\x33\x48\x37\x70\x3d\x38\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x47\x6e\x4f\x41\x54\x63\x79\x42\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x42\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3f\x57\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x69\x30\x58\x41\x54\x63\x73\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x46\x29\x7d\x71\x51\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x47\x63\x5f\x7a\x41\x46\x29\x7d\x74\x52\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x46\x2a\x71\x7a\x42\x47\x42\x47\x7a\x53\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x49\x35\x38\x7c\x42\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x41\x47\x63\x2b\x74\x39\x47\x42\x47\x24\x54\x41\x54\x26\x32\x44\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x2a\x5a\x33\x59\x41\x54\x6c\x79\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x37\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x47\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x68\x7c\x57\x41\x54\x63\x76\x42\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x47\x42\x69\x30\x58\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x71\x68\x37\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x41\x74\x6c\x42\x46\x66\x31\x54\x33\x48\x23\x52\x49\x46\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x47\x42\x50\x77\x51\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x39\x30\x49\x47\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x48\x47\x62\x7c\x75\x45\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x37\x56\x36\x47\x64\x56\x30\x45\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x39\x5a\x41\x54\x6c\x76\x35\x41\x54\x6c\x73\x42\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x46\x2a\x68\x3f\x54\x41\x55\x38\x48\x46\x41\x54\x63\x70\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x5f\x7a\x41\x47\x42\x47\x7a\x53\x41\x54\x3d\x7e\x42\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x47\x42\x69\x30\x58\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x39\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x47\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x45\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x43\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x2a\x37\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x46\x2a\x71\x7c\x55\x41\x54\x6c\x73\x34\x41\x54\x6c\x2a\x39\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x48\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x77\x54\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x33\x58\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x6c\x79\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x39\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x75\x5e\x42\x41\x54\x63\x70\x47\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x6d\x5f\x43\x46\x2a\x69\x30\x57\x41\x54\x63\x70\x48\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x37\x47\x42\x68\x6b\x38\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x66\x31\x54\x35\x48\x37\x70\x3d\x38\x48\x61\x39\x46\x46\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x26\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x76\x48\x45\x46\x64\x23\x45\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x47\x42\x71\x3f\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x35\x52\x39\x44\x46\x2a\x5a\x33\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x36\x49\x34\x6d\x47\x47\x49\x56\x3e\x50\x44\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x39\x47\x63\x59\x56\x35\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x46\x2a\x50\x68\x38\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x5f\x57\x41\x54\x7e\x4b\x48\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x43\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x45\x45\x46\x64\x26\x45\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x47\x26\x6e\x33\x45\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x47\x45\x46\x64\x79\x30\x41\x54\x25\x7e\x43\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x54\x63\x70\x46\x45\x46\x64\x76\x38\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x48\x61\x49\x4c\x47\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x34\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x47\x64\x56\x30\x45\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x55\x37\x7e\x39\x41\x54\x63\x76\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x36\x57\x41\x54\x75\x2a\x38\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x48\x38\x28\x36\x45\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x35\x45\x41\x54\x26\x32\x44\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x71\x68\x37\x47\x64\x56\x30\x45\x46\x29\x3d\x74\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x3c\x56\x41\x54\x63\x73\x41\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x37\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x65\x4c\x41\x54\x63\x70\x44\x45\x46\x64\x3e\x35\x41\x54\x63\x73\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x74\x50\x41\x54\x63\x70\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x50\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x35\x46\x29\x53\x63\x38\x46\x29\x53\x63\x43\x45\x46\x64\x79\x41\x45\x46\x64\x76\x37\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x6e\x33\x45\x47\x42\x47\x6e\x4f\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3e\x41\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x7a\x65\x36\x46\x2a\x21\x30\x55\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x47\x42\x47\x24\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x46\x45\x46\x64\x79\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x74\x53\x41\x54\x63\x79\x4b\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x46\x66\x6c\x41\x33\x46\x2a\x37\x68\x4d\x41\x54\x63\x26\x44\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x34\x45\x46\x64\x79\x39\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x48\x38\x6d\x5f\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x39\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4b\x45\x46\x64\x26\x38\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x63\x59\x56\x35\x47\x42\x50\x74\x50\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x36\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x48\x61\x49\x4c\x47\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x38\x44\x41\x54\x63\x73\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x66\x6c\x41\x33\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x66\x63\x34\x32\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x5a\x76\x3f\x42\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x52\x39\x44\x46\x2a\x5a\x33\x59\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x29\x3d\x65\x4e\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x55\x51\x4e\x46\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x46\x66\x31\x54\x33\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x49\x4c\x47\x47\x42\x47\x6b\x4e\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x26\x64\x7c\x44\x47\x64\x33\x28\x42\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x47\x42\x37\x62\x4c\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x59\x77\x42\x47\x42\x50\x59\x36\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x77\x53\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x7e\x44\x41\x54\x75\x5e\x42\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x43\x59\x41\x54\x63\x2a\x4d\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x44\x33\x47\x42\x68\x6b\x38\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x48\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x29\x7d\x24\x55\x41\x54\x63\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x35\x49\x33\x43\x46\x2a\x68\x28\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x66\x7d\x59\x37\x47\x63\x68\x62\x36\x46\x29\x3d\x65\x4e\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x76\x32\x45\x41\x54\x63\x70\x42\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x41\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x5a\x26\x7c\x43\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x38\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x61\x39\x46\x46\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3f\x55\x41\x54\x7e\x45\x46\x41\x54\x6c\x73\x45\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x25\x5f\x71\x38\x46\x2a\x72\x36\x58\x41\x54\x63\x76\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x37\x47\x42\x59\x65\x37\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x33\x28\x42\x46\x29\x3d\x74\x53\x41\x54\x63\x73\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x28\x54\x41\x54\x25\x7e\x43\x41\x54\x6c\x73\x42\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x47\x42\x50\x28\x54\x41\x55\x51\x4e\x46\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x35\x43\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x46\x5a\x41\x54\x63\x70\x42\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x44\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x33\x45\x46\x64\x23\x39\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x45\x45\x46\x64\x26\x41\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x45\x47\x25\x4f\x25\x37\x48\x5a\x26\x7c\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x37\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x7a\x53\x41\x54\x6c\x23\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x46\x2a\x59\x6e\x39\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x39\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x42\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x73\x48\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x62\x4c\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x73\x43\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x64\x3c\x42\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x41\x74\x6c\x36\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x47\x40\x5f\x48\x23\x39\x36\x44\x46\x29\x7d\x24\x55\x41\x54\x63\x79\x44\x45\x46\x64\x26\x37\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x43\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x2a\x68\x3c\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x36\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x38\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x42\x45\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x46\x29\x25\x53\x4b\x41\x54\x75\x23\x36\x41\x54\x63\x76\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x74\x51\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x42\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3c\x56\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x28\x51\x41\x54\x63\x76\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x42\x45\x46\x64\x76\x33\x46\x66\x31\x54\x39\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x69\x30\x58\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x38\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7b\x42\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x47\x42\x50\x77\x51\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x54\x48\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x74\x51\x41\x54\x75\x7e\x44\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x46\x2a\x47\x3f\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x46\x2a\x5a\x33\x59\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x46\x29\x3d\x4a\x34\x48\x61\x52\x52\x48\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x69\x39\x5a\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x46\x29\x3d\x4a\x34\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x45\x45\x46\x64\x79\x37\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x2b\x74\x39\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x49\x35\x61\x46\x45\x46\x2a\x37\x6e\x4f\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x47\x42\x71\x2b\x52\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x49\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x46\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x79\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x44\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x48\x5a\x26\x7c\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x39\x45\x46\x64\x76\x38\x46\x29\x53\x63\x39\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x41\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x48\x5a\x64\x24\x39\x47\x64\x56\x30\x45\x47\x26\x55\x3f\x43\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x69\x39\x5a\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x3d\x53\x36\x46\x2a\x7a\x5f\x53\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x46\x29\x3d\x4a\x34\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x42\x47\x24\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x43\x33\x3f\x44\x46\x2a\x68\x7c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x36\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x46\x2a\x5a\x30\x58\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x46\x2a\x68\x74\x41\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x47\x42\x47\x53\x35\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x63\x59\x56\x35\x47\x42\x50\x28\x54\x41\x54\x63\x23\x46\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x48\x21\x76\x28\x39\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x7d\x68\x4e\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x42\x37\x4d\x34\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x2a\x68\x3f\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x49\x35\x3b\x64\x49\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x43\x46\x66\x31\x54\x42\x48\x37\x70\x3d\x42\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x26\x45\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x42\x45\x41\x54\x76\x32\x45\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x76\x32\x45\x41\x54\x63\x70\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x45\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x39\x46\x46\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x37\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x2b\x74\x39\x47\x63\x5f\x7a\x41\x48\x5a\x6d\x2b\x41\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x73\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x48\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x7c\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x46\x2a\x68\x2b\x52\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x35\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x71\x7a\x42\x48\x38\x6d\x5f\x43\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x59\x6e\x39\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x28\x54\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x37\x46\x66\x3d\x53\x36\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x7d\x50\x35\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x47\x53\x35\x46\x2a\x37\x68\x4d\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x26\x64\x7c\x44\x46\x29\x3d\x6e\x51\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x3d\x4a\x34\x48\x5a\x64\x24\x39\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3e\x32\x43\x41\x54\x75\x3e\x41\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x5f\x7a\x41\x47\x64\x33\x28\x42\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x69\x39\x5a\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x4c\x2b\x42\x46\x2a\x72\x33\x57\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x49\x34\x6d\x47\x42\x47\x62\x7c\x75\x36\x47\x26\x33\x77\x39\x47\x42\x47\x77\x52\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x4b\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x2b\x74\x39\x46\x2a\x21\x46\x5a\x41\x55\x38\x4b\x47\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x46\x29\x25\x71\x53\x41\x54\x63\x73\x43\x45\x46\x64\x79\x41\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x50\x74\x50\x41\x54\x3e\x38\x45\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x5f\x53\x41\x55\x51\x4e\x46\x41\x54\x3e\x45\x47\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x48\x38\x55\x28\x41\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x76\x43\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x74\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x3c\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x48\x39\x30\x49\x47\x48\x23\x6a\x55\x48\x49\x57\x6a\x43\x44\x48\x38\x6d\x5f\x43\x49\x58\x4e\x73\x4b\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x46\x48\x59\x5e\x7d\x39\x46\x2a\x37\x56\x36\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x44\x49\x34\x6d\x47\x42\x47\x25\x7a\x65\x36\x46\x2a\x72\x43\x5a\x41\x54\x6c\x79\x36\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x38\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x26\x37\x41\x54\x3d\x3e\x38\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x65\x4e\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x49\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x76\x48\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x38\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x28\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x45\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x26\x37\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x43\x33\x3f\x44\x47\x42\x50\x6b\x4d\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x47\x63\x7a\x6e\x38\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x47\x26\x6e\x33\x45\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x34\x46\x66\x31\x54\x35\x46\x66\x31\x54\x34\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x7a\x77\x41\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x7a\x28\x43\x47\x63\x71\x68\x37\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x43\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x48\x47\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x34\x47\x64\x56\x30\x45\x46\x2a\x7a\x7c\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x46\x45\x46\x64\x76\x43\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x76\x48\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x4c\x7a\x39\x47\x25\x7a\x65\x36\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x68\x3c\x53\x41\x54\x6c\x73\x47\x45\x46\x64\x76\x35\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x63\x59\x56\x35\x47\x42\x47\x24\x54\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x26\x35\x45\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x74\x50\x41\x54\x75\x2a\x38\x41\x54\x6c\x76\x44\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x6e\x33\x45\x46\x2a\x37\x28\x55\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x26\x3c\x41\x47\x42\x47\x6e\x4f\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x47\x45\x46\x64\x76\x33\x46\x66\x31\x54\x41\x46\x29\x53\x63\x34\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x49\x45\x46\x64\x23\x39\x45\x46\x64\x2a\x37\x45\x46\x64\x3b\x41\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x59\x74\x4f\x41\x54\x25\x2a\x37\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x49\x45\x46\x64\x5e\x36\x41\x54\x75\x26\x37\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x4c\x7a\x39\x47\x42\x68\x3c\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x47\x63\x2b\x74\x39\x47\x42\x37\x59\x4b\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x47\x25\x2b\x6b\x37\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x43\x3c\x43\x46\x29\x25\x50\x4a\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6e\x4f\x41\x54\x76\x32\x45\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x44\x45\x46\x64\x5e\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x43\x33\x3f\x44\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x46\x66\x31\x54\x34\x47\x26\x64\x7c\x44\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x43\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x63\x70\x42\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x48\x5a\x6d\x2b\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x37\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4b\x45\x46\x64\x26\x38\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x41\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x77\x52\x41\x54\x63\x3b\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x26\x7c\x43\x48\x21\x76\x28\x39\x47\x42\x47\x68\x4d\x41\x54\x63\x23\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x47\x42\x59\x77\x50\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x47\x42\x68\x7c\x57\x41\x54\x6c\x73\x43\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x47\x46\x66\x31\x54\x33\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x6d\x5f\x43\x47\x26\x55\x3f\x43\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x46\x2a\x59\x2b\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x47\x64\x4c\x5f\x44\x48\x23\x39\x36\x44\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x24\x54\x41\x54\x63\x70\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x30\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x26\x46\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x21\x4c\x37\x45\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x68\x28\x51\x41\x54\x63\x76\x43\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x49\x34\x7e\x3f\x41\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x63\x59\x56\x35\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x47\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x28\x52\x41\x54\x7e\x38\x44\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x29\x7d\x50\x35\x46\x2a\x47\x3f\x57\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x46\x2a\x59\x6e\x39\x47\x42\x71\x2b\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x67\x59\x77\x42\x46\x29\x25\x6b\x51\x41\x54\x63\x73\x45\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x48\x23\x61\x4f\x47\x47\x42\x50\x71\x4f\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x38\x48\x5a\x64\x24\x39\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x38\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x49\x45\x46\x64\x7b\x45\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x46\x29\x3d\x6e\x51\x41\x54\x63\x73\x46\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x42\x45\x46\x64\x23\x43\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x39\x59\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x46\x2a\x47\x62\x37\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3e\x32\x43\x41\x54\x75\x3e\x41\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x29\x3d\x68\x4f\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6e\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x59\x71\x4e\x41\x55\x51\x4e\x46\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x35\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x36\x57\x41\x54\x75\x5e\x42\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x48\x5a\x76\x3f\x42\x48\x5a\x26\x7c\x43\x48\x38\x33\x6e\x37\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x30\x57\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x6b\x4f\x41\x54\x75\x7e\x44\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x26\x64\x7c\x44\x47\x42\x47\x24\x54\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x49\x35\x52\x39\x44\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x6a\x55\x48\x47\x42\x47\x24\x54\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x49\x34\x6d\x47\x42\x47\x63\x5f\x7a\x41\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x41\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x44\x45\x46\x64\x26\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x23\x61\x4f\x47\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x45\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x73\x52\x47\x48\x61\x49\x4c\x47\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x63\x7a\x6e\x38\x49\x57\x7b\x61\x48\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x47\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x62\x4d\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x63\x26\x39\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x46\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x75\x5e\x42\x41\x54\x75\x5e\x42\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x47\x26\x33\x77\x39\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x37\x47\x26\x55\x3f\x43\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x34\x7e\x3f\x41\x46\x29\x7d\x7a\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x62\x4d\x41\x54\x63\x3e\x50\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x6e\x33\x45\x46\x2a\x47\x77\x51\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x47\x42\x47\x71\x50\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x26\x37\x41\x54\x63\x6d\x38\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x77\x39\x46\x47\x42\x47\x6b\x4e\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x2a\x38\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x3d\x71\x52\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x46\x2a\x71\x3c\x52\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x71\x4e\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x48\x23\x52\x49\x46\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x48\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x38\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x48\x21\x4c\x37\x43\x49\x34\x6d\x47\x47\x47\x41\x74\x6c\x35\x49\x35\x23\x58\x48\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x38\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x48\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x47\x42\x5f\x2b\x43\x47\x42\x37\x59\x4b\x41\x54\x63\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x35\x52\x39\x44\x46\x2a\x68\x2b\x52\x41\x54\x63\x3e\x50\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x44\x49\x56\x3e\x50\x48\x47\x25\x4f\x25\x38\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x4c\x5f\x44\x47\x63\x5f\x7a\x41\x47\x42\x68\x3c\x54\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x24\x52\x41\x54\x63\x2a\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x43\x47\x62\x7c\x75\x36\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x2a\x38\x41\x55\x51\x57\x49\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x39\x45\x46\x64\x2a\x42\x45\x46\x64\x5e\x36\x41\x55\x38\x51\x49\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x46\x29\x3d\x68\x4f\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x76\x28\x39\x47\x42\x50\x24\x53\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x23\x38\x41\x54\x6c\x26\x38\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x50\x68\x38\x46\x29\x25\x62\x4e\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x47\x25\x7a\x65\x36\x47\x26\x43\x24\x41\x46\x2a\x47\x7a\x52\x41\x55\x38\x4e\x48\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x3c\x52\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x63\x2a\x41\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x41\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x48\x45\x46\x64\x23\x44\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x47\x42\x59\x74\x4f\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x70\x34\x41\x54\x6c\x26\x38\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x43\x74\x38\x47\x42\x68\x24\x51\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x46\x29\x3d\x62\x4d\x41\x54\x6c\x23\x48\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x46\x2a\x47\x6e\x4e\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x6b\x4e\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x76\x32\x45\x41\x55\x51\x63\x4b\x41\x54\x25\x26\x36\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x71\x52\x41\x54\x75\x5e\x42\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x35\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x63\x59\x56\x35\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x48\x37\x70\x3d\x39\x48\x38\x64\x3c\x42\x48\x21\x26\x3c\x41\x46\x2a\x37\x77\x52\x41\x54\x6c\x79\x44\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x45\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x28\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x64\x4c\x5f\x44\x46\x2a\x59\x28\x52\x41\x54\x6c\x79\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x37\x45\x46\x64\x2a\x38\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x6e\x33\x45\x47\x42\x37\x7a\x54\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3b\x39\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x55\x3f\x43\x46\x2a\x50\x77\x50\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x47\x42\x7a\x77\x41\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x61\x4f\x47\x47\x42\x47\x68\x4d\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x44\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x43\x46\x29\x3d\x4a\x34\x48\x5a\x55\x77\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x47\x26\x77\x39\x46\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x46\x2a\x47\x2b\x55\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x26\x37\x41\x54\x63\x6d\x38\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x64\x3c\x42\x46\x2a\x37\x77\x52\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x73\x39\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x24\x54\x41\x54\x76\x32\x45\x41\x54\x54\x54\x2d\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x41\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x65\x4c\x41\x54\x3e\x45\x47\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x28\x55\x41\x54\x25\x5e\x41\x41\x54\x63\x6d\x47\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x43\x74\x38\x46\x2a\x71\x7c\x55\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x42\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x23\x38\x41\x54\x6c\x7b\x44\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x48\x5a\x26\x7c\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x48\x38\x6d\x5f\x43\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x42\x2b\x24\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x6d\x5f\x43\x47\x25\x7a\x65\x36\x47\x42\x71\x3c\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x47\x64\x33\x28\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x5f\x57\x41\x54\x7e\x4b\x48\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x47\x25\x4f\x25\x38\x47\x42\x5f\x2b\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x45\x48\x37\x70\x3d\x39\x47\x42\x37\x4d\x34\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x48\x21\x76\x28\x39\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x21\x3e\x5f\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x2a\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x23\x6a\x55\x48\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x3f\x54\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x48\x39\x30\x49\x47\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x42\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x47\x42\x5f\x2b\x43\x46\x29\x7d\x6b\x4f\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x75\x3e\x41\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x63\x70\x41\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x4c\x7a\x39\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x26\x37\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x71\x4f\x41\x54\x6c\x23\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x46\x66\x3d\x53\x36\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x35\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x26\x33\x77\x39\x46\x2a\x72\x46\x61\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x47\x42\x68\x7c\x57\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x59\x77\x42\x48\x61\x49\x4c\x47\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x45\x46\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x46\x49\x56\x3e\x50\x43\x48\x23\x61\x4f\x47\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x37\x47\x43\x33\x3f\x44\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x79\x42\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x42\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x44\x49\x56\x3e\x50\x43\x47\x42\x37\x4d\x34\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x46\x29\x3d\x6e\x51\x41\x54\x25\x7b\x42\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x47\x25\x5f\x71\x38\x46\x2a\x21\x49\x61\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x48\x23\x61\x4f\x47\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x61\x4f\x47\x47\x42\x47\x68\x4d\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x41\x47\x63\x5f\x7a\x41\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x38\x47\x25\x4f\x25\x37\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x41\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x73\x48\x45\x46\x64\x26\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x38\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x48\x37\x70\x3d\x41\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x43\x3c\x43\x46\x2a\x68\x74\x41\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x41\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x6b\x50\x41\x54\x26\x35\x45\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x2a\x50\x68\x38\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x41\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x23\x42\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x48\x23\x39\x36\x44\x47\x42\x47\x68\x4d\x41\x55\x51\x54\x48\x41\x54\x3d\x7b\x41\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x35\x61\x46\x45\x47\x25\x7a\x65\x36\x47\x42\x37\x62\x4c\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x55\x48\x38\x42\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x46\x2a\x71\x7a\x42\x47\x25\x7a\x65\x36\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x41\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x25\x5f\x71\x38\x46\x2a\x72\x43\x5a\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x46\x2a\x59\x3c\x54\x41\x54\x6c\x73\x48\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x5a\x3f\x33\x44\x47\x64\x43\x3c\x43\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x68\x4f\x41\x54\x63\x70\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x72\x33\x57\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x34\x47\x25\x7a\x65\x36\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x7b\x44\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x55\x28\x41\x47\x42\x68\x3c\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x46\x29\x3d\x74\x53\x41\x54\x63\x23\x4b\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x46\x66\x6c\x41\x33\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x46\x2a\x21\x43\x59\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x70\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x28\x55\x41\x54\x63\x70\x41\x45\x46\x64\x26\x39\x45\x46\x64\x23\x45\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x47\x42\x5f\x2b\x43\x47\x42\x47\x68\x4d\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x41\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x33\x41\x54\x6c\x2a\x39\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x38\x46\x66\x31\x54\x33\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x47\x42\x59\x71\x4e\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x64\x33\x28\x42\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x36\x49\x56\x3e\x50\x45\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x46\x2a\x69\x30\x57\x41\x54\x63\x26\x45\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x36\x49\x34\x7e\x3f\x41\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x24\x54\x41\x54\x6c\x79\x47\x45\x46\x64\x2a\x33\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x34\x6d\x47\x42\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x49\x4c\x47\x46\x29\x7d\x7a\x54\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x4e\x73\x4b\x46\x29\x3d\x65\x4e\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x44\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x4b\x48\x41\x54\x75\x3e\x41\x41\x54\x63\x73\x45\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x29\x7d\x24\x55\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x5e\x42\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x7a\x52\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x3c\x56\x41\x54\x63\x23\x38\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x26\x3c\x41\x47\x42\x47\x74\x51\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x47\x26\x33\x77\x39\x47\x42\x59\x3c\x55\x41\x54\x63\x76\x44\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x47\x42\x71\x28\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x29\x25\x44\x33\x48\x61\x39\x46\x46\x48\x38\x33\x6e\x37\x46\x29\x25\x50\x4a\x41\x54\x7e\x4b\x48\x41\x54\x63\x23\x45\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x44\x45\x46\x64\x23\x43\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x25\x26\x36\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x46\x2a\x69\x33\x58\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x5f\x54\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x2a\x71\x7a\x42\x46\x2a\x37\x68\x4d\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x46\x29\x3d\x74\x53\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x48\x5a\x76\x3f\x42\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x38\x46\x41\x54\x75\x3b\x39\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x71\x68\x37\x46\x29\x3d\x71\x52\x41\x54\x25\x7b\x42\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x35\x49\x33\x43\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x35\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x50\x68\x38\x48\x23\x61\x4f\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x76\x44\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x49\x56\x3e\x50\x44\x46\x2a\x59\x6e\x39\x46\x2a\x37\x71\x50\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x41\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x42\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x23\x42\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x2b\x52\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x73\x52\x47\x47\x42\x50\x59\x36\x46\x2a\x47\x2b\x55\x41\x54\x6c\x23\x4a\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x6d\x5f\x43\x48\x5a\x26\x7c\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x47\x64\x33\x28\x42\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x47\x64\x43\x3c\x43\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x45\x46\x66\x31\x54\x33\x46\x29\x7d\x50\x35\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x5f\x7a\x41\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x47\x64\x4c\x5f\x44\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x46\x2a\x47\x62\x37\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x71\x71\x39\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x49\x35\x6a\x4c\x46\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x49\x58\x4e\x73\x4b\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x33\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x6d\x5f\x43\x46\x29\x7d\x62\x4c\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x74\x53\x41\x54\x63\x70\x48\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x64\x3c\x42\x46\x2a\x69\x30\x57\x41\x54\x6c\x26\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x35\x46\x2a\x71\x7a\x42\x47\x42\x47\x65\x4c\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x33\x58\x41\x54\x6c\x76\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3e\x39\x41\x54\x63\x3e\x49\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x46\x2a\x47\x6e\x4e\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x47\x42\x47\x6e\x4f\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x3e\x41\x41\x54\x3e\x32\x43\x41\x55\x38\x4b\x47\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x47\x63\x5f\x7a\x41\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x59\x71\x4e\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x47\x42\x59\x3f\x56\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x49\x35\x38\x7c\x42\x48\x61\x30\x39\x45\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x38\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6b\x4d\x41\x54\x6c\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x47\x42\x59\x77\x50\x41\x54\x63\x23\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x42\x50\x59\x36\x46\x29\x3d\x68\x4f\x41\x54\x7d\x25\x40\x47\x64\x43\x3c\x43\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x77\x51\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x59\x24\x52\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x49\x57\x52\x30\x42\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x43\x45\x46\x64\x23\x43\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x35\x23\x58\x48\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x46\x2a\x71\x7a\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x49\x57\x7b\x61\x48\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x23\x41\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x35\x47\x25\x4f\x25\x38\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x59\x2b\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x48\x61\x52\x52\x48\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x49\x45\x46\x64\x23\x35\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x21\x26\x3c\x41\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x7a\x50\x41\x54\x7e\x45\x46\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x49\x33\x43\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x61\x52\x52\x48\x47\x42\x68\x7a\x50\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x44\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x5a\x30\x58\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x46\x2a\x71\x3f\x53\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x35\x43\x41\x54\x63\x76\x43\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x48\x5a\x55\x77\x38\x48\x23\x6a\x55\x48\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x26\x39\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x49\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x2b\x55\x41\x54\x63\x76\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x69\x30\x58\x41\x54\x63\x76\x41\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x64\x3c\x42\x47\x26\x43\x24\x41\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x28\x54\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x45\x47\x62\x7c\x75\x37\x46\x67\x47\x6b\x39\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x47\x63\x71\x68\x37\x48\x5a\x76\x3f\x42\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x45\x46\x41\x54\x63\x76\x45\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x45\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x76\x32\x45\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x66\x3d\x53\x36\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x2b\x74\x39\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x47\x42\x59\x5f\x57\x41\x54\x63\x6d\x41\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x48\x23\x61\x4f\x47\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x46\x29\x7d\x7a\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x48\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x74\x53\x41\x54\x63\x79\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x47\x42\x50\x6e\x4e\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x47\x42\x47\x65\x4c\x41\x55\x37\x7e\x39\x41\x55\x48\x48\x45\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x37\x49\x34\x6d\x47\x43\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x46\x2a\x59\x6e\x39\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x47\x42\x5f\x2b\x43\x48\x5a\x76\x3f\x42\x47\x25\x7a\x65\x36\x46\x2a\x47\x2b\x55\x41\x54\x6c\x3e\x42\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x50\x77\x50\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x46\x2a\x59\x6e\x39\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x46\x2a\x47\x62\x37\x46\x29\x7d\x74\x52\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x38\x45\x46\x64\x26\x42\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6e\x4f\x41\x54\x75\x7e\x44\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6e\x50\x41\x54\x63\x2a\x4e\x45\x46\x64\x5e\x46\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x38\x7c\x42\x47\x63\x59\x56\x35\x46\x2a\x68\x2b\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x26\x3c\x41\x47\x42\x37\x77\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x26\x55\x3f\x43\x46\x29\x3d\x77\x54\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x3d\x56\x4b\x41\x54\x63\x3b\x42\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x49\x45\x46\x64\x23\x37\x45\x46\x64\x23\x43\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x47\x42\x50\x77\x51\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x35\x41\x41\x54\x7e\x4b\x48\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x49\x57\x7b\x61\x48\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x73\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x23\x36\x41\x54\x75\x3b\x39\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x2a\x38\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x45\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x37\x71\x50\x41\x54\x6c\x79\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x6d\x5f\x43\x48\x21\x76\x28\x39\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x49\x58\x35\x67\x49\x46\x29\x3d\x56\x4b\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x68\x50\x41\x54\x6c\x73\x34\x41\x54\x63\x26\x39\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x25\x2b\x6b\x37\x47\x63\x71\x68\x37\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x24\x52\x41\x54\x6c\x76\x35\x41\x54\x63\x76\x44\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x21\x4c\x37\x41\x48\x23\x6a\x55\x48\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x76\x45\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x46\x2a\x68\x74\x41\x48\x38\x4c\x7a\x39\x46\x29\x25\x6b\x51\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3e\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x43\x3c\x43\x46\x29\x3d\x68\x4f\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x35\x61\x46\x45\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x55\x38\x32\x41\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x47\x63\x68\x62\x36\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x28\x52\x41\x54\x6c\x79\x36\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x49\x61\x41\x54\x75\x2a\x38\x41\x54\x63\x76\x46\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x36\x41\x54\x63\x73\x47\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x26\x77\x39\x46\x46\x2a\x69\x30\x57\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x73\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x47\x42\x37\x4d\x34\x47\x42\x68\x24\x51\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x47\x41\x74\x6c\x36\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x54\x49\x41\x54\x7e\x48\x47\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x37\x46\x66\x31\x54\x39\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x48\x21\x26\x3c\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x49\x57\x23\x4f\x46\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x46\x29\x53\x63\x38\x46\x66\x31\x54\x33\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x43\x74\x38\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x48\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x44\x45\x46\x64\x23\x39\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x77\x51\x41\x54\x25\x26\x36\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x47\x42\x68\x5f\x56\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x43\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x47\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x47\x42\x37\x59\x4b\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x68\x28\x51\x41\x54\x63\x76\x44\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x28\x51\x41\x54\x63\x76\x45\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x2a\x37\x41\x54\x63\x79\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x59\x65\x37\x46\x2a\x7a\x5f\x53\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x33\x58\x41\x54\x6c\x73\x48\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x48\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x47\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3f\x57\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x69\x30\x58\x41\x54\x6c\x76\x42\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x42\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x47\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x59\x28\x52\x41\x54\x63\x76\x46\x45\x46\x64\x7b\x48\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x48\x38\x43\x74\x38\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x49\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x46\x45\x46\x64\x5e\x41\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x43\x33\x3f\x44\x46\x29\x3d\x6b\x50\x41\x54\x3e\x38\x45\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x71\x50\x41\x54\x63\x70\x41\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x49\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x50\x74\x4f\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x28\x51\x41\x54\x63\x76\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x39\x45\x46\x64\x7b\x4b\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x2a\x37\x77\x52\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3b\x39\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x2b\x6b\x37\x46\x2a\x21\x39\x58\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x42\x5f\x2b\x43\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x47\x42\x47\x6e\x4f\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x29\x53\x63\x35\x46\x29\x7d\x50\x35\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x46\x2a\x37\x56\x36\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x26\x44\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x21\x76\x28\x39\x46\x29\x3d\x71\x52\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x48\x23\x6a\x55\x48\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x43\x3c\x43\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x42\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x47\x63\x71\x68\x37\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7c\x57\x41\x54\x63\x3b\x42\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x29\x7d\x50\x35\x46\x2a\x47\x3f\x57\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x64\x56\x30\x45\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x3d\x77\x54\x41\x54\x3e\x32\x43\x41\x55\x48\x4b\x46\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x29\x3d\x74\x53\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x7a\x52\x41\x54\x63\x3b\x4d\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x37\x56\x36\x48\x61\x49\x4c\x47\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x47\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x65\x4e\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x3c\x52\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x23\x36\x41\x54\x63\x70\x43\x45\x46\x64\x3b\x34\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x47\x42\x5f\x2b\x43\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x65\x4d\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x5f\x71\x38\x46\x2a\x21\x43\x59\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x46\x66\x75\x47\x34\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x34\x7e\x3f\x41\x47\x42\x47\x6e\x4f\x41\x54\x7e\x32\x42\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x23\x48\x45\x46\x64\x26\x38\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x34\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x45\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x4c\x5f\x44\x46\x2a\x7a\x28\x43\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x34\x45\x46\x64\x79\x44\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x25\x7a\x65\x36\x49\x58\x45\x6d\x4a\x46\x2a\x71\x7c\x55\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x47\x63\x71\x68\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x47\x26\x55\x3f\x43\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x52\x49\x46\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x46\x29\x7d\x62\x4c\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x3d\x71\x52\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x3b\x41\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x48\x61\x39\x46\x46\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x48\x38\x6d\x5f\x43\x47\x26\x33\x77\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x35\x47\x63\x59\x56\x35\x46\x2a\x21\x30\x55\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x5a\x3f\x33\x44\x47\x63\x71\x68\x37\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x5f\x54\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x43\x47\x42\x2b\x24\x42\x47\x42\x68\x5f\x56\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x47\x42\x71\x71\x39\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x41\x45\x46\x64\x79\x44\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x74\x51\x41\x54\x75\x7b\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x47\x42\x47\x77\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x3e\x41\x41\x54\x3d\x5e\x39\x41\x54\x63\x70\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x4c\x2b\x42\x46\x2a\x47\x28\x54\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x70\x42\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x2a\x37\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x25\x7a\x65\x36\x47\x42\x50\x7a\x52\x41\x54\x63\x79\x37\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x48\x47\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x33\x56\x41\x54\x63\x70\x42\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x47\x6e\x4e\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x46\x45\x46\x64\x79\x35\x45\x46\x64\x23\x43\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x21\x76\x28\x39\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4b\x45\x46\x64\x26\x44\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x6b\x50\x41\x54\x3d\x7b\x41\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x42\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x41\x45\x46\x64\x3b\x34\x41\x55\x51\x5a\x4a\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x5f\x7a\x41\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x37\x6e\x50\x41\x54\x63\x3b\x4f\x45\x46\x64\x72\x7d\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x47\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x5f\x7a\x41\x46\x2a\x47\x74\x50\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x41\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x35\x73\x52\x47\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x47\x42\x59\x3c\x55\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x26\x37\x41\x54\x63\x6d\x37\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x2a\x37\x74\x51\x41\x55\x38\x35\x42\x41\x54\x63\x6d\x38\x45\x46\x64\x23\x41\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x24\x53\x41\x54\x63\x70\x45\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x52\x52\x48\x46\x2a\x37\x71\x50\x41\x54\x63\x26\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x3e\x45\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x7b\x41\x41\x54\x63\x26\x47\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x42\x46\x2a\x7a\x28\x43\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x42\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x70\x38\x45\x46\x64\x3b\x44\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x41\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x75\x3e\x41\x41\x54\x75\x5e\x42\x41\x54\x7d\x7e\x41\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x5f\x53\x41\x55\x51\x42\x42\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x37\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x5f\x2b\x43\x47\x42\x47\x74\x51\x41\x54\x6c\x79\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x37\x47\x63\x68\x62\x36\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x48\x38\x55\x28\x41\x46\x2a\x71\x3f\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x35\x48\x59\x5e\x7d\x42\x46\x66\x31\x54\x39\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x49\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x46\x66\x31\x54\x34\x47\x42\x68\x6b\x38\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x36\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x24\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x47\x42\x37\x4d\x34\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x48\x38\x6d\x5f\x43\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x41\x48\x21\x4c\x37\x41\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x64\x3c\x42\x46\x29\x7d\x62\x4c\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x2b\x74\x39\x47\x64\x43\x3c\x43\x48\x38\x6d\x5f\x43\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x46\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x36\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x49\x34\x7e\x3f\x41\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x61\x4f\x47\x46\x2a\x37\x77\x52\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x36\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x26\x33\x77\x39\x46\x2a\x21\x33\x56\x41\x54\x3d\x3b\x37\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x47\x42\x50\x24\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x67\x59\x77\x42\x48\x5a\x76\x3f\x42\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x38\x46\x41\x54\x25\x7b\x42\x41\x54\x63\x73\x48\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x23\x44\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x26\x36\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x46\x48\x37\x70\x3d\x39\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x36\x41\x55\x38\x45\x45\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x49\x57\x7b\x61\x48\x47\x42\x68\x3c\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x64\x33\x28\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x47\x42\x68\x3f\x55\x41\x54\x63\x23\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x37\x7a\x54\x41\x54\x3e\x38\x45\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x46\x2a\x59\x2b\x53\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x46\x2a\x59\x6e\x39\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x44\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x47\x43\x33\x3f\x44\x47\x63\x5f\x7a\x41\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x45\x46\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x4c\x62\x41\x54\x75\x7b\x43\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x47\x42\x50\x77\x51\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x48\x38\x77\x30\x44\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x5e\x39\x41\x54\x63\x73\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x77\x52\x41\x54\x75\x3e\x41\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x34\x7e\x3f\x41\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x7b\x6a\x4a\x47\x63\x59\x56\x35\x46\x2a\x50\x24\x52\x41\x54\x63\x73\x49\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x76\x28\x39\x46\x29\x7d\x24\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x26\x55\x3f\x43\x47\x26\x33\x77\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x64\x33\x28\x42\x46\x2a\x21\x43\x59\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x21\x76\x28\x39\x46\x29\x3d\x62\x4d\x41\x55\x51\x57\x49\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x46\x67\x59\x77\x42\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x7a\x6e\x38\x46\x2a\x71\x7c\x55\x41\x54\x63\x26\x49\x45\x46\x64\x79\x38\x46\x66\x31\x54\x33\x46\x2a\x68\x74\x41\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x35\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x43\x33\x3f\x44\x46\x2a\x71\x3f\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x41\x46\x66\x75\x47\x34\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x46\x2a\x50\x7a\x51\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x34\x7e\x3f\x41\x47\x42\x71\x3f\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x59\x77\x42\x46\x2a\x59\x6e\x39\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x33\x28\x42\x46\x29\x3d\x65\x4e\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x34\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x7d\x50\x35\x48\x61\x52\x52\x48\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x45\x45\x46\x64\x76\x37\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x25\x5f\x71\x38\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x3f\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x7a\x28\x43\x48\x38\x64\x3c\x42\x49\x35\x73\x52\x47\x46\x2a\x37\x2b\x56\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6e\x51\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x49\x34\x7e\x3f\x41\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4a\x45\x46\x64\x23\x36\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x47\x42\x47\x65\x4c\x41\x55\x51\x42\x42\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x47\x25\x7a\x65\x36\x46\x29\x7d\x71\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x21\x30\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x46\x2a\x59\x28\x52\x41\x54\x63\x76\x45\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x39\x45\x46\x64\x26\x45\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x46\x2a\x37\x74\x51\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x5e\x42\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x7a\x65\x36\x47\x42\x37\x6e\x50\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x34\x7e\x3f\x41\x47\x42\x37\x77\x53\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x4b\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x71\x52\x41\x54\x63\x79\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x38\x33\x6e\x37\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x7a\x53\x41\x54\x63\x73\x46\x45\x46\x64\x5e\x41\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x23\x52\x49\x46\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x46\x2a\x37\x56\x36\x49\x58\x35\x67\x49\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x47\x42\x59\x65\x37\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x43\x33\x3f\x44\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x46\x2a\x68\x74\x41\x47\x42\x47\x28\x55\x41\x54\x63\x70\x41\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x71\x50\x41\x54\x7d\x7b\x39\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x37\x6b\x4f\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x47\x63\x7a\x6e\x38\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x55\x38\x32\x41\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x46\x2a\x47\x7a\x52\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x26\x44\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x25\x5f\x71\x38\x46\x2a\x47\x3c\x56\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x46\x2a\x68\x74\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x47\x63\x68\x62\x36\x46\x29\x25\x56\x4c\x41\x54\x63\x6d\x44\x45\x46\x64\x26\x39\x45\x46\x64\x23\x38\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x46\x2a\x37\x77\x52\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x5e\x42\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x6e\x50\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x49\x45\x46\x64\x5e\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x47\x63\x7a\x6e\x38\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x45\x46\x41\x54\x63\x76\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x28\x53\x41\x54\x75\x7b\x43\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x46\x29\x25\x6e\x52\x41\x54\x6c\x76\x35\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x46\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x48\x61\x39\x46\x46\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x21\x4c\x37\x41\x48\x21\x76\x28\x39\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x41\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x46\x2a\x50\x68\x38\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x3f\x55\x41\x54\x6c\x76\x35\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x50\x74\x4f\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x46\x2a\x68\x74\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x63\x2b\x74\x39\x48\x38\x64\x3c\x42\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x55\x51\x5a\x4a\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x26\x37\x41\x54\x63\x70\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x72\x33\x57\x41\x54\x26\x32\x44\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x62\x7c\x75\x37\x47\x42\x59\x65\x37\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x7b\x44\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x4c\x7a\x39\x46\x2a\x59\x3c\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x64\x43\x3c\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x58\x4e\x73\x4b\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x48\x38\x4c\x7a\x39\x47\x42\x59\x71\x4e\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x7b\x43\x41\x55\x51\x5a\x4a\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x63\x68\x62\x36\x47\x63\x2b\x74\x39\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x72\x39\x59\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x41\x47\x41\x74\x6c\x35\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x75\x79\x35\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x47\x63\x68\x62\x36\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3c\x54\x41\x54\x63\x3b\x42\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x29\x7d\x50\x35\x46\x2a\x50\x2b\x54\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x47\x25\x7a\x65\x36\x46\x2a\x50\x77\x50\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x3d\x4a\x34\x48\x38\x3f\x43\x46\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x35\x45\x41\x54\x25\x7b\x42\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x46\x29\x3d\x77\x54\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x46\x5a\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x54\x63\x73\x35\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x36\x46\x66\x31\x54\x33\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x43\x33\x3f\x44\x46\x2a\x37\x77\x52\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x47\x26\x33\x77\x39\x46\x2a\x5a\x33\x59\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x49\x57\x61\x36\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x37\x4d\x34\x47\x42\x50\x77\x51\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x7a\x6e\x38\x47\x63\x7a\x6e\x38\x46\x2a\x71\x3f\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x48\x38\x33\x6e\x37\x46\x2a\x7a\x7c\x54\x41\x55\x50\x7d\x60\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x63\x71\x68\x37\x46\x29\x25\x65\x4f\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x46\x2a\x68\x74\x41\x48\x5a\x76\x3f\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x37\x46\x66\x7d\x59\x37\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x7a\x28\x43\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x72\x43\x5a\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x49\x35\x38\x7c\x42\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x45\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x43\x47\x25\x4f\x25\x38\x46\x2a\x37\x56\x36\x48\x38\x43\x74\x38\x46\x2a\x72\x43\x5a\x41\x54\x6c\x76\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x39\x48\x37\x70\x3d\x39\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x47\x42\x59\x2b\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x39\x5a\x41\x54\x63\x26\x39\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x48\x37\x70\x3d\x38\x49\x35\x49\x33\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x46\x2a\x37\x56\x36\x47\x42\x47\x6b\x4e\x41\x54\x75\x26\x37\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x7c\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x63\x3b\x42\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x25\x3e\x39\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x7e\x44\x41\x54\x75\x3e\x41\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x47\x25\x7a\x65\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x2a\x37\x74\x51\x41\x54\x25\x3b\x38\x41\x54\x3d\x78\x3f\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x45\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x63\x70\x46\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x61\x49\x4c\x47\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x38\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x47\x26\x43\x24\x41\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x42\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x47\x63\x71\x68\x37\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x3f\x54\x41\x54\x6c\x5e\x43\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x7a\x28\x43\x46\x2a\x21\x46\x5a\x41\x54\x75\x3b\x39\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x42\x59\x2b\x54\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x3d\x56\x4b\x41\x54\x75\x79\x35\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x26\x33\x77\x39\x46\x2a\x37\x71\x50\x41\x54\x7e\x32\x42\x41\x54\x63\x6d\x33\x41\x54\x63\x3e\x43\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x47\x25\x5f\x71\x38\x47\x42\x37\x74\x52\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x70\x34\x41\x54\x75\x79\x35\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x49\x58\x35\x67\x49\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x7b\x61\x48\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x5a\x6d\x2b\x41\x47\x42\x50\x24\x53\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x5e\x42\x41\x54\x63\x6d\x45\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x77\x52\x41\x54\x25\x5e\x41\x41\x54\x6c\x5e\x43\x41\x54\x6c\x23\x37\x41\x54\x63\x26\x45\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x74\x4f\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x24\x53\x41\x55\x51\x45\x43\x41\x54\x3d\x3b\x37\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x36\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x43\x33\x3f\x44\x47\x42\x47\x6e\x4f\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x4e\x73\x4b\x47\x25\x5f\x71\x38\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x35\x52\x39\x44\x46\x2a\x59\x3f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x56\x3e\x50\x44\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x47\x42\x50\x7a\x52\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x71\x68\x37\x46\x29\x3d\x65\x4e\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x5f\x71\x38\x46\x2a\x21\x4c\x62\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x49\x35\x3b\x64\x49\x49\x35\x7b\x6a\x4a\x46\x2a\x50\x77\x50\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x36\x48\x5a\x3f\x33\x44\x46\x2a\x71\x7a\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x26\x77\x39\x46\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x35\x47\x25\x7a\x65\x36\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x46\x67\x59\x77\x42\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x3e\x38\x41\x54\x25\x2a\x37\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x47\x26\x43\x24\x41\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x72\x36\x58\x41\x54\x63\x26\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x39\x47\x41\x74\x6c\x36\x46\x2a\x68\x74\x41\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x47\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x43\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x47\x42\x47\x24\x54\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x63\x7a\x6e\x38\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x26\x6e\x33\x45\x46\x2a\x71\x7c\x55\x41\x54\x6c\x73\x44\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x41\x45\x46\x64\x26\x45\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x43\x74\x38\x47\x42\x47\x65\x4c\x41\x54\x63\x70\x39\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x34\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x47\x63\x71\x68\x37\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x55\x38\x32\x41\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6e\x51\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x63\x70\x42\x45\x46\x64\x26\x32\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x2a\x37\x56\x36\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x3d\x65\x4e\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x55\x3f\x43\x46\x2a\x21\x36\x57\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x59\x56\x35\x47\x25\x7a\x65\x36\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x48\x45\x46\x64\x26\x37\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x42\x46\x67\x59\x77\x42\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x43\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x76\x47\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x64\x3c\x42\x46\x29\x7d\x77\x53\x41\x54\x63\x73\x49\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x2a\x38\x41\x54\x63\x70\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x33\x58\x41\x54\x63\x73\x45\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x52\x52\x48\x47\x42\x50\x6e\x4e\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x49\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x5f\x7a\x41\x46\x2a\x47\x24\x53\x41\x55\x48\x45\x44\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x47\x63\x68\x62\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x71\x68\x37\x49\x58\x4e\x73\x4b\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x41\x49\x35\x52\x39\x44\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x43\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x24\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x2a\x43\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x47\x64\x43\x3c\x43\x46\x29\x7d\x6e\x50\x41\x54\x63\x79\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x2b\x56\x41\x54\x63\x70\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x3f\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x21\x76\x28\x39\x47\x63\x2b\x74\x39\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x3c\x55\x41\x54\x63\x26\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x42\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x46\x2a\x72\x39\x59\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x49\x35\x3b\x64\x49\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x48\x45\x46\x64\x23\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x43\x46\x67\x59\x77\x42\x47\x42\x47\x7a\x53\x41\x55\x38\x4e\x48\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x46\x2a\x50\x74\x4f\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x47\x42\x68\x7c\x57\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x43\x47\x42\x2b\x24\x42\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x33\x58\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x43\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x47\x42\x71\x3f\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x47\x63\x71\x68\x37\x49\x56\x3e\x50\x43\x47\x63\x59\x56\x35\x47\x42\x37\x59\x4b\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x71\x4e\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x49\x56\x3e\x50\x43\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x75\x3e\x41\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x43\x45\x46\x64\x2a\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x46\x2a\x68\x74\x41\x47\x42\x5f\x2b\x43\x47\x42\x68\x3f\x55\x41\x54\x63\x3e\x50\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x75\x79\x35\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x41\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x3f\x54\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x7a\x28\x43\x46\x2a\x47\x3f\x57\x41\x54\x75\x7b\x43\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x47\x42\x50\x7a\x52\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x4b\x48\x41\x54\x75\x26\x37\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x44\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x23\x37\x41\x54\x63\x79\x45\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x45\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x46\x2a\x50\x68\x38\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x2b\x53\x41\x54\x6c\x23\x37\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x68\x74\x41\x46\x2a\x47\x7a\x52\x41\x54\x75\x5e\x42\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x36\x41\x54\x63\x70\x42\x45\x46\x64\x76\x34\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x47\x42\x37\x77\x53\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x73\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7b\x42\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x34\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x47\x25\x7a\x65\x36\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x46\x5a\x41\x54\x63\x70\x44\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x77\x52\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x7a\x53\x41\x54\x3e\x38\x45\x41\x54\x63\x2a\x41\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x25\x3b\x38\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x46\x66\x63\x34\x32\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x42\x46\x29\x53\x63\x38\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x46\x2a\x71\x7a\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7c\x57\x41\x54\x7e\x38\x44\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x2a\x21\x36\x57\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x46\x29\x7d\x50\x35\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x5f\x7a\x41\x46\x29\x25\x56\x4c\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x47\x42\x47\x77\x52\x41\x54\x3d\x5e\x39\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x46\x5a\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x3c\x56\x41\x55\x48\x35\x41\x41\x55\x48\x35\x41\x41\x54\x63\x23\x48\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x5f\x2b\x43\x46\x2a\x37\x71\x50\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x46\x29\x3d\x6e\x51\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x5f\x54\x41\x54\x63\x26\x49\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x23\x36\x41\x54\x63\x70\x48\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x46\x2a\x47\x62\x37\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x26\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x68\x4f\x41\x54\x63\x70\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x33\x58\x41\x54\x63\x73\x45\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x21\x76\x28\x39\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x47\x46\x66\x31\x54\x37\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3e\x32\x43\x41\x54\x63\x26\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x71\x50\x41\x54\x25\x3b\x38\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x2a\x21\x36\x57\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x2a\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x46\x67\x47\x6b\x39\x47\x26\x43\x24\x41\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x48\x21\x4c\x37\x41\x46\x2a\x47\x62\x37\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x77\x50\x41\x54\x7e\x42\x45\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x43\x45\x46\x64\x23\x39\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x49\x47\x62\x7c\x75\x36\x47\x42\x5f\x2b\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x48\x38\x64\x3c\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x39\x46\x29\x53\x63\x34\x46\x66\x25\x4d\x35\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x3c\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x5f\x7a\x41\x46\x29\x3d\x62\x4d\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x4c\x2b\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x48\x23\x73\x61\x49\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x46\x29\x7d\x7a\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x49\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x25\x5f\x71\x38\x46\x2a\x21\x4c\x62\x41\x55\x51\x57\x49\x41\x54\x63\x76\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x48\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x74\x52\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x48\x45\x46\x64\x23\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x59\x28\x52\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x46\x2a\x59\x6e\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x6d\x42\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x76\x45\x45\x46\x64\x23\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x43\x74\x38\x46\x29\x7d\x71\x51\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x47\x63\x7a\x6e\x38\x46\x2a\x7a\x28\x43\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x46\x29\x7d\x50\x35\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x47\x42\x50\x59\x36\x47\x26\x43\x24\x41\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x45\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x45\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x39\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x46\x29\x3d\x6b\x50\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x67\x59\x77\x42\x46\x29\x25\x6e\x52\x41\x54\x6c\x23\x37\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x46\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x7b\x42\x41\x54\x75\x26\x37\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x49\x58\x35\x67\x49\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x36\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x49\x57\x23\x4f\x46\x49\x57\x23\x4f\x46\x49\x35\x23\x58\x48\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x74\x51\x41\x54\x6c\x76\x48\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x50\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x47\x48\x59\x5e\x7d\x45\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x23\x38\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x42\x47\x26\x77\x39\x46\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x47\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x4b\x48\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x33\x6e\x37\x46\x2a\x59\x28\x52\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x46\x29\x3d\x71\x52\x41\x54\x6c\x76\x43\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x46\x66\x6c\x41\x33\x46\x2a\x37\x2b\x56\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x6e\x33\x45\x46\x2a\x37\x68\x4d\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x46\x45\x46\x64\x76\x33\x46\x66\x31\x54\x39\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x68\x28\x51\x41\x54\x6c\x76\x44\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x43\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x23\x61\x4f\x47\x46\x2a\x7a\x7c\x54\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x70\x34\x41\x55\x38\x42\x44\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x46\x29\x25\x53\x4b\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x46\x29\x25\x50\x4a\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x50\x74\x4f\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x3f\x33\x44\x47\x42\x69\x30\x58\x41\x54\x6c\x2a\x44\x45\x46\x64\x5e\x45\x45\x46\x64\x5e\x46\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x41\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x75\x3e\x41\x41\x54\x75\x5e\x42\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x47\x26\x55\x3f\x43\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x38\x7c\x42\x47\x26\x64\x7c\x44\x48\x5a\x55\x77\x38\x47\x42\x59\x7a\x51\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x47\x42\x68\x3f\x55\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x50\x68\x38\x47\x25\x5f\x71\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x46\x2a\x50\x7c\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x71\x50\x41\x54\x7d\x7b\x39\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x3f\x54\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x47\x42\x47\x53\x35\x47\x42\x68\x3c\x54\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3c\x54\x41\x54\x6c\x23\x37\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x36\x47\x25\x4f\x25\x37\x49\x58\x35\x67\x49\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x47\x26\x77\x39\x46\x46\x29\x7d\x77\x53\x41\x54\x63\x73\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x74\x53\x41\x54\x63\x70\x45\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x76\x28\x39\x47\x42\x50\x2b\x55\x41\x54\x26\x35\x45\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x38\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x55\x38\x4b\x47\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x49\x57\x7b\x61\x48\x47\x42\x68\x5f\x56\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x47\x64\x33\x28\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x73\x49\x45\x47\x42\x37\x65\x4d\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x37\x7a\x54\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x41\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x52\x39\x44\x47\x42\x71\x28\x51\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x25\x7a\x65\x36\x46\x2a\x50\x24\x52\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x47\x63\x2b\x74\x39\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x48\x45\x46\x64\x26\x37\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x43\x33\x3f\x44\x47\x42\x50\x6e\x4e\x41\x54\x75\x3b\x39\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x46\x2a\x21\x36\x57\x41\x54\x63\x23\x43\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x68\x28\x51\x41\x54\x6c\x76\x43\x45\x46\x64\x23\x42\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x44\x49\x34\x6d\x47\x42\x47\x42\x37\x4d\x34\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x59\x2b\x53\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x39\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x48\x23\x49\x43\x45\x47\x63\x68\x62\x36\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x23\x36\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x74\x53\x41\x54\x26\x35\x45\x41\x54\x63\x76\x43\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x74\x50\x41\x54\x63\x70\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x7a\x7c\x54\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x46\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x25\x4f\x25\x46\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x59\x28\x52\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x47\x47\x41\x74\x6c\x36\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x69\x30\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x46\x2a\x7a\x28\x43\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x36\x41\x55\x38\x4b\x47\x41\x54\x6c\x26\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x48\x61\x39\x46\x46\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x26\x64\x7c\x44\x48\x38\x28\x36\x45\x46\x2a\x68\x28\x51\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x52\x52\x48\x47\x63\x2b\x74\x39\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x46\x2a\x21\x46\x5a\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x71\x7c\x55\x41\x55\x48\x57\x4a\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x26\x3c\x41\x47\x42\x47\x68\x4d\x41\x54\x63\x2a\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x37\x47\x63\x59\x56\x35\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x47\x42\x71\x28\x51\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x47\x42\x2b\x24\x42\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x68\x4e\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x43\x3c\x43\x46\x29\x3d\x6e\x51\x41\x54\x75\x3b\x39\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x49\x35\x6a\x4c\x46\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x37\x56\x36\x47\x63\x68\x62\x36\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x26\x36\x45\x46\x64\x26\x45\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x37\x46\x2a\x59\x6e\x39\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x43\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x47\x42\x59\x3f\x56\x41\x54\x63\x79\x42\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x46\x67\x37\x65\x38\x46\x29\x3d\x6e\x51\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x46\x29\x3d\x77\x54\x41\x54\x6c\x66\x3c\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x42\x48\x59\x5e\x7d\x39\x47\x26\x43\x24\x41\x46\x2a\x72\x33\x57\x41\x54\x6c\x7b\x44\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x41\x74\x6c\x42\x47\x25\x4f\x25\x37\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x26\x36\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x7a\x6e\x38\x47\x42\x47\x24\x54\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x48\x38\x55\x28\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x23\x43\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x3e\x5f\x42\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x37\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x4c\x7a\x39\x46\x2a\x59\x24\x51\x41\x55\x51\x5a\x4a\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x43\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x47\x63\x2b\x74\x39\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x5f\x56\x41\x54\x6c\x5e\x43\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x36\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x49\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x49\x35\x3b\x64\x49\x47\x42\x37\x59\x4b\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x29\x25\x44\x33\x48\x5a\x3f\x33\x44\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x26\x33\x77\x39\x46\x2a\x71\x5f\x54\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x7a\x6e\x38\x46\x29\x3d\x74\x53\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x6a\x4c\x46\x47\x25\x2b\x6b\x37\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x23\x52\x49\x46\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x50\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x47\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x47\x42\x59\x2b\x54\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x25\x2b\x6b\x37\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x46\x66\x7d\x59\x37\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3e\x32\x43\x41\x54\x25\x2a\x37\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x54\x75\x7e\x44\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x47\x42\x68\x6b\x38\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x7d\x50\x35\x48\x23\x49\x43\x45\x46\x2a\x50\x3f\x56\x41\x54\x63\x23\x44\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x56\x3e\x50\x43\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x41\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x41\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x34\x46\x66\x31\x54\x41\x47\x41\x74\x6c\x38\x46\x29\x53\x63\x35\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x28\x51\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x43\x47\x26\x6e\x33\x45\x47\x42\x68\x7c\x57\x41\x54\x63\x73\x42\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x63\x59\x56\x35\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x46\x66\x7d\x59\x37\x46\x2a\x59\x2b\x53\x41\x54\x63\x73\x42\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x5f\x7a\x41\x46\x2a\x47\x2b\x55\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x47\x26\x33\x77\x39\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x46\x2a\x37\x56\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x3d\x74\x53\x41\x54\x63\x6d\x37\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x47\x42\x47\x68\x4d\x41\x55\x51\x54\x48\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6e\x50\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x5f\x53\x41\x55\x51\x51\x47\x41\x54\x25\x26\x36\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x44\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x44\x45\x46\x64\x23\x39\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x39\x59\x41\x54\x63\x23\x43\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x59\x5e\x7d\x48\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x59\x28\x52\x41\x54\x6c\x76\x45\x45\x46\x64\x23\x38\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x43\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x39\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x71\x71\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x48\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x43\x48\x37\x70\x3d\x38\x48\x38\x28\x36\x45\x46\x2a\x72\x30\x56\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x50\x3c\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x55\x28\x41\x46\x2a\x5a\x33\x59\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x43\x46\x2a\x47\x62\x37\x46\x29\x7d\x6e\x50\x41\x55\x51\x42\x42\x41\x54\x63\x76\x41\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x71\x52\x41\x54\x63\x70\x41\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x43\x74\x38\x46\x2a\x72\x33\x57\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x47\x62\x7c\x75\x37\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x47\x40\x5f\x48\x21\x3e\x5f\x42\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x26\x36\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x5f\x7a\x41\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x47\x63\x7a\x6e\x38\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x26\x77\x39\x46\x47\x42\x68\x5f\x56\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x47\x26\x6e\x33\x45\x47\x25\x5f\x71\x38\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x2a\x68\x5f\x55\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x49\x57\x61\x36\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x44\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x74\x51\x41\x54\x25\x2a\x37\x41\x54\x63\x76\x36\x41\x54\x63\x26\x4c\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x5f\x7a\x41\x46\x2a\x50\x74\x4f\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x47\x42\x59\x28\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x48\x38\x77\x30\x44\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x7e\x42\x41\x54\x63\x73\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x7a\x54\x41\x54\x25\x5e\x41\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x48\x61\x49\x4c\x47\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x49\x48\x21\x4c\x37\x41\x48\x61\x52\x52\x48\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x44\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x42\x47\x42\x7a\x77\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x3d\x74\x53\x41\x54\x63\x6d\x38\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x6e\x33\x45\x47\x42\x47\x6e\x4f\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3e\x41\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x55\x3f\x43\x46\x2a\x21\x30\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x41\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x63\x68\x62\x36\x47\x42\x50\x7a\x52\x41\x54\x63\x79\x4a\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x43\x46\x66\x31\x54\x33\x48\x23\x30\x30\x43\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x37\x46\x29\x7d\x50\x35\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x47\x42\x2b\x24\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x46\x46\x66\x31\x54\x39\x47\x25\x4f\x25\x38\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x2a\x71\x3f\x53\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x68\x4e\x41\x54\x75\x5e\x42\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x46\x29\x7d\x71\x51\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x47\x42\x50\x24\x53\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x39\x5a\x41\x54\x6c\x76\x39\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x46\x47\x25\x4f\x25\x37\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x42\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x47\x25\x4f\x25\x37\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x46\x67\x59\x77\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x43\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x37\x47\x25\x4f\x25\x38\x47\x42\x71\x71\x39\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x47\x42\x59\x77\x50\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x46\x2a\x7a\x7c\x54\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x49\x35\x3b\x64\x49\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x47\x53\x35\x47\x42\x47\x6e\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x36\x47\x64\x56\x30\x45\x46\x2a\x69\x39\x5a\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x5e\x46\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x47\x42\x69\x30\x58\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x29\x3d\x68\x4f\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x46\x29\x3d\x6e\x51\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x41\x74\x6c\x35\x47\x25\x5f\x71\x38\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x41\x46\x66\x31\x54\x39\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x46\x2a\x59\x6e\x39\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x45\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x21\x33\x56\x41\x54\x63\x76\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x59\x28\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x44\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x47\x42\x68\x24\x51\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x71\x68\x37\x46\x29\x3d\x68\x4f\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x47\x26\x64\x7c\x44\x46\x2a\x37\x6b\x4e\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x48\x23\x52\x49\x46\x48\x23\x49\x43\x45\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x48\x45\x46\x64\x23\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x47\x25\x4f\x25\x37\x47\x42\x5f\x2b\x43\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x46\x2a\x69\x36\x59\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x66\x25\x4d\x35\x47\x42\x71\x71\x39\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x36\x46\x29\x53\x63\x41\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x47\x42\x50\x77\x51\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x48\x38\x33\x6e\x37\x46\x2a\x72\x43\x5a\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x49\x34\x6d\x47\x49\x47\x62\x7c\x75\x36\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x2a\x37\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x47\x64\x4c\x5f\x44\x48\x38\x33\x6e\x37\x46\x2a\x47\x28\x54\x41\x54\x63\x70\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x46\x2a\x50\x68\x38\x46\x2a\x50\x28\x53\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x7d\x24\x55\x41\x54\x63\x73\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x38\x49\x34\x6d\x47\x45\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x23\x44\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x39\x48\x38\x43\x74\x38\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x44\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x47\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x47\x25\x4f\x25\x37\x47\x42\x68\x6b\x38\x47\x42\x59\x24\x52\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x47\x64\x33\x28\x42\x46\x2a\x21\x49\x61\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x46\x2a\x71\x7a\x42\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x2a\x37\x56\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x2b\x74\x39\x46\x29\x25\x6b\x51\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x43\x3c\x43\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x47\x42\x37\x6e\x50\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x48\x38\x55\x28\x41\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x46\x2a\x47\x74\x50\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x26\x45\x45\x46\x64\x76\x43\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x26\x39\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x47\x49\x56\x3e\x50\x44\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x26\x36\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x21\x26\x3c\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x35\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x46\x66\x7d\x59\x37\x47\x25\x7a\x65\x36\x47\x42\x47\x53\x35\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x45\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x44\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x46\x2a\x37\x77\x52\x41\x54\x63\x26\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x38\x44\x41\x54\x63\x73\x46\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x61\x52\x52\x48\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x48\x47\x41\x54\x63\x79\x45\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x46\x2a\x50\x28\x53\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4e\x45\x46\x64\x23\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x44\x45\x46\x64\x23\x35\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x23\x6a\x55\x48\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x42\x59\x65\x37\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x48\x48\x59\x5e\x7d\x39\x47\x26\x6e\x33\x45\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x39\x48\x59\x5e\x7d\x41\x47\x62\x7c\x75\x36\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x47\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x47\x6e\x4f\x41\x54\x6c\x76\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x47\x42\x59\x28\x53\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x46\x2a\x68\x2b\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x62\x4c\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x54\x63\x73\x43\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x46\x2a\x71\x5f\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x6e\x4e\x41\x54\x63\x3b\x48\x45\x46\x64\x26\x43\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x42\x5f\x2b\x43\x47\x64\x4c\x5f\x44\x46\x29\x3d\x56\x4b\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x47\x25\x5f\x71\x38\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x47\x42\x50\x6e\x4e\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x3b\x39\x41\x54\x3d\x7e\x42\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x46\x67\x59\x77\x42\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x5f\x7a\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x44\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x41\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x47\x63\x71\x68\x37\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x2b\x53\x41\x54\x63\x3e\x43\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x48\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x36\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x21\x4c\x37\x41\x46\x67\x47\x6b\x39\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x48\x37\x70\x3d\x38\x47\x26\x4c\x2b\x42\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x42\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x46\x2a\x37\x56\x36\x49\x35\x38\x7c\x42\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x48\x47\x41\x54\x6c\x76\x45\x45\x46\x64\x76\x41\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x65\x4e\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x3c\x52\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x3d\x56\x4b\x41\x54\x7e\x45\x46\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x46\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x46\x66\x63\x34\x32\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4b\x45\x46\x64\x26\x44\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x63\x68\x62\x36\x47\x42\x50\x74\x50\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x38\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x26\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x71\x50\x41\x54\x63\x70\x42\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x46\x61\x41\x54\x63\x79\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x46\x29\x3d\x77\x54\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x63\x7a\x6e\x38\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x43\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x49\x34\x6d\x47\x42\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x29\x7d\x24\x55\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x47\x42\x59\x7a\x51\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x64\x33\x28\x42\x46\x2a\x68\x7c\x56\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x5a\x3f\x33\x44\x47\x63\x5f\x7a\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x33\x58\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x71\x68\x37\x47\x63\x2b\x74\x39\x47\x42\x69\x30\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x39\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7a\x50\x41\x54\x63\x26\x39\x41\x54\x63\x23\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x77\x54\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x48\x47\x41\x54\x63\x70\x43\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x48\x38\x4c\x7a\x39\x46\x2a\x50\x3c\x55\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3b\x39\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x2a\x4e\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x44\x33\x48\x61\x49\x4c\x47\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x49\x48\x59\x5e\x7d\x39\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x29\x7d\x24\x55\x41\x54\x63\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x46\x2a\x72\x46\x61\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x34\x7e\x3f\x41\x46\x2a\x59\x3c\x54\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x63\x59\x56\x35\x46\x29\x7d\x77\x53\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x5e\x42\x41\x54\x63\x70\x43\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x30\x57\x41\x54\x25\x3b\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x43\x46\x2a\x68\x74\x41\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x75\x23\x36\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x6d\x5f\x43\x47\x42\x68\x5f\x56\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x46\x29\x3d\x71\x52\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x46\x2a\x59\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x43\x46\x2a\x68\x74\x41\x47\x25\x7a\x65\x36\x48\x39\x30\x49\x47\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x46\x2a\x37\x56\x36\x46\x2a\x50\x68\x38\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3c\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x47\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x47\x63\x68\x62\x36\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x2b\x53\x41\x54\x6c\x5e\x43\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x62\x7c\x75\x36\x48\x38\x64\x3c\x42\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x47\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x49\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x7a\x28\x43\x46\x29\x25\x53\x4b\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x29\x25\x44\x33\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x62\x4c\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x2b\x6b\x37\x47\x42\x37\x6b\x4f\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x47\x42\x47\x68\x4d\x41\x54\x63\x73\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x37\x70\x3d\x38\x47\x42\x5f\x2b\x43\x46\x2a\x37\x68\x4d\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x5f\x57\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x68\x50\x41\x54\x63\x73\x41\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x41\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x2b\x74\x39\x48\x5a\x26\x7c\x43\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x45\x46\x64\x3e\x45\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x74\x53\x41\x54\x3d\x5e\x39\x41\x54\x63\x76\x41\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x71\x4f\x41\x54\x76\x32\x45\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x47\x42\x37\x62\x4c\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x68\x7c\x57\x41\x54\x6c\x76\x44\x45\x46\x64\x3e\x44\x45\x46\x64\x3e\x35\x41\x54\x26\x35\x45\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x48\x23\x61\x4f\x47\x46\x2a\x21\x46\x5a\x41\x55\x38\x38\x43\x41\x54\x63\x3e\x4b\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x21\x4c\x37\x41\x48\x23\x6a\x55\x48\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x26\x45\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x43\x45\x46\x64\x23\x42\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x71\x7a\x42\x46\x29\x25\x59\x4d\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x3d\x65\x4e\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x47\x26\x43\x24\x41\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x47\x25\x7a\x65\x36\x49\x35\x7b\x6a\x4a\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x48\x45\x46\x64\x23\x37\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x46\x2a\x37\x56\x36\x47\x42\x47\x77\x52\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x38\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x47\x63\x7a\x6e\x38\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x4c\x7a\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x45\x46\x64\x23\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x46\x2a\x7a\x5f\x53\x41\x54\x63\x73\x39\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x61\x52\x52\x48\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x44\x45\x46\x64\x76\x43\x46\x66\x31\x54\x35\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x47\x42\x71\x71\x39\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x36\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6b\x4d\x41\x54\x6c\x76\x47\x45\x46\x64\x26\x39\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4b\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x46\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x47\x42\x7a\x77\x41\x47\x26\x77\x39\x46\x48\x21\x26\x3c\x41\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x37\x56\x36\x46\x29\x3d\x71\x52\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x35\x38\x7c\x42\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x42\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x41\x47\x25\x2b\x6b\x37\x48\x38\x43\x74\x38\x46\x2a\x68\x74\x41\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x46\x46\x66\x31\x54\x33\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6b\x4d\x41\x54\x6c\x76\x47\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x36\x49\x35\x73\x52\x47\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x48\x38\x64\x3c\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x38\x46\x29\x53\x63\x41\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x36\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x37\x2b\x56\x41\x54\x6c\x79\x46\x45\x46\x64\x5e\x48\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x5f\x7a\x41\x46\x29\x3d\x68\x4f\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x34\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4a\x45\x46\x64\x26\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x6b\x4e\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x65\x4c\x41\x54\x26\x38\x46\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x49\x45\x46\x64\x23\x42\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x48\x23\x49\x43\x45\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x47\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x47\x45\x46\x64\x5e\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x46\x29\x3d\x6b\x50\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x47\x63\x2b\x74\x39\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x75\x3b\x39\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x2b\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x28\x36\x45\x48\x5a\x3f\x33\x44\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x2b\x74\x39\x46\x2a\x69\x33\x58\x41\x54\x63\x26\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x5f\x7a\x41\x47\x64\x33\x28\x42\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x45\x48\x21\x4c\x37\x41\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x79\x36\x41\x54\x63\x76\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x48\x37\x70\x3d\x39\x47\x42\x68\x6b\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x35\x48\x5a\x55\x77\x38\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x66\x31\x54\x35\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x47\x63\x7a\x6e\x38\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x5f\x7a\x41\x46\x29\x25\x59\x4d\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x29\x3d\x68\x4f\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x24\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x36\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x48\x61\x52\x52\x48\x46\x2a\x37\x28\x55\x41\x54\x63\x2a\x4c\x45\x46\x64\x23\x38\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x42\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x46\x29\x53\x63\x37\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x26\x42\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x50\x24\x53\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x36\x41\x55\x38\x4e\x48\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x46\x29\x25\x65\x4f\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x75\x3b\x39\x41\x54\x63\x23\x48\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x6e\x33\x45\x47\x42\x50\x74\x50\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x43\x74\x38\x47\x42\x47\x71\x50\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x5e\x42\x41\x54\x26\x38\x46\x41\x54\x63\x73\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x74\x51\x41\x54\x75\x3b\x39\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x35\x52\x39\x44\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x2a\x4d\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x3d\x4a\x34\x48\x23\x39\x36\x44\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x23\x37\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x46\x29\x7d\x50\x35\x47\x42\x50\x74\x50\x41\x55\x48\x4e\x47\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x55\x28\x41\x47\x42\x71\x3f\x54\x41\x54\x6c\x76\x45\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x4b\x48\x21\x4c\x37\x44\x47\x62\x7c\x75\x37\x47\x25\x5f\x71\x38\x47\x42\x37\x71\x51\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x46\x2a\x50\x68\x38\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x6a\x4c\x46\x46\x29\x7d\x77\x53\x41\x54\x63\x76\x42\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x47\x42\x50\x24\x53\x41\x54\x75\x3b\x39\x41\x54\x6c\x79\x36\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x48\x38\x4c\x7a\x39\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x37\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x74\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x47\x63\x2b\x74\x39\x46\x29\x7d\x68\x4e\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x46\x45\x46\x64\x26\x42\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x7a\x54\x41\x54\x63\x70\x47\x45\x46\x64\x2a\x45\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x43\x74\x38\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x26\x38\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x33\x6e\x37\x47\x42\x68\x2b\x53\x41\x54\x63\x73\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x25\x5f\x71\x38\x46\x2a\x21\x46\x5a\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x26\x33\x77\x39\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x5f\x2b\x43\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x74\x52\x41\x54\x63\x6d\x44\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x47\x42\x47\x74\x51\x41\x55\x38\x51\x49\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x28\x54\x41\x55\x48\x54\x49\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x34\x47\x62\x7c\x75\x36\x49\x34\x7e\x3f\x41\x49\x57\x3b\x55\x47\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x4a\x45\x46\x64\x26\x36\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x50\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x5f\x7a\x41\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x37\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x49\x58\x4e\x73\x4b\x47\x25\x7a\x65\x36\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x47\x62\x7c\x75\x36\x46\x66\x75\x47\x34\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x59\x5e\x7d\x39\x48\x38\x6d\x5f\x43\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x46\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x47\x63\x2b\x74\x39\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x3f\x55\x41\x54\x6c\x73\x34\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x21\x46\x5a\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x47\x42\x59\x65\x37\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x64\x33\x28\x42\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x77\x53\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x34\x46\x29\x53\x63\x34\x47\x26\x6e\x33\x45\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x23\x43\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x68\x7c\x57\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x2b\x74\x39\x48\x61\x39\x46\x46\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x35\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3c\x54\x41\x55\x37\x7e\x39\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x2a\x50\x28\x53\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x47\x25\x2b\x6b\x37\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x47\x42\x5f\x2b\x43\x46\x29\x3d\x71\x52\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x38\x45\x46\x64\x26\x43\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x7a\x54\x41\x54\x75\x26\x37\x41\x54\x63\x73\x44\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x6d\x5f\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x29\x53\x63\x35\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x38\x42\x41\x55\x38\x42\x44\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x49\x57\x7b\x61\x48\x47\x42\x68\x7a\x50\x41\x55\x48\x45\x44\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x2a\x50\x28\x53\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x25\x2b\x6b\x37\x47\x42\x68\x5f\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x44\x45\x46\x64\x26\x43\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x25\x7b\x42\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x44\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x26\x33\x77\x39\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x6a\x55\x48\x46\x2a\x37\x6e\x4f\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x48\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x37\x2b\x56\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x37\x7a\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x47\x42\x50\x77\x51\x41\x54\x6c\x73\x42\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x2a\x69\x33\x58\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x47\x41\x74\x6c\x37\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x76\x44\x45\x46\x64\x23\x37\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x46\x66\x3d\x53\x36\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x55\x51\x5a\x4a\x41\x54\x63\x73\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x24\x54\x41\x54\x75\x5e\x42\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x36\x57\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x54\x63\x73\x35\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x26\x3c\x41\x47\x42\x47\x71\x50\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x46\x29\x3d\x6b\x50\x41\x54\x63\x23\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x46\x66\x6c\x41\x33\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x7d\x50\x35\x48\x38\x28\x36\x45\x48\x23\x30\x30\x43\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x71\x51\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x70\x42\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x43\x74\x38\x47\x42\x50\x77\x51\x41\x54\x63\x26\x39\x41\x54\x63\x73\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x25\x7a\x65\x36\x46\x2a\x69\x33\x58\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x3f\x56\x41\x54\x63\x76\x43\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x46\x2a\x69\x39\x5a\x41\x55\x51\x57\x49\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x47\x42\x37\x62\x4c\x41\x54\x6c\x73\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x47\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x46\x66\x6c\x41\x33\x46\x29\x7d\x71\x51\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x46\x29\x3d\x68\x4f\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x47\x42\x71\x24\x50\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x41\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x45\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x46\x66\x25\x4d\x35\x46\x2a\x72\x39\x59\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x67\x59\x77\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x63\x59\x56\x35\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x43\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x3f\x54\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x48\x5a\x26\x7c\x43\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x38\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3e\x38\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x24\x54\x41\x54\x25\x3b\x38\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x47\x42\x69\x30\x58\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x35\x48\x59\x5e\x7d\x46\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x48\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x43\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x2a\x37\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x59\x65\x37\x46\x2a\x69\x36\x59\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x74\x4f\x41\x54\x6c\x76\x43\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x43\x48\x37\x70\x3d\x38\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x41\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x45\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3f\x57\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x76\x47\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x46\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x3f\x54\x41\x54\x63\x76\x42\x45\x46\x64\x23\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x46\x2a\x50\x68\x38\x46\x2a\x68\x2b\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x37\x6e\x50\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x49\x35\x7b\x6a\x4a\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x26\x3c\x41\x47\x42\x50\x6e\x4e\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x47\x64\x56\x30\x45\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x43\x33\x3f\x44\x47\x42\x50\x6b\x4d\x41\x54\x6c\x73\x42\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x63\x68\x62\x36\x47\x63\x2b\x74\x39\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x3f\x54\x41\x54\x6c\x76\x42\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x42\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x26\x32\x44\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x37\x46\x66\x31\x54\x41\x46\x66\x31\x54\x33\x48\x38\x33\x6e\x37\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x62\x4e\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x34\x46\x66\x31\x54\x34\x46\x66\x25\x4d\x35\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x29\x25\x44\x33\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x44\x45\x46\x64\x26\x37\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6e\x4f\x41\x54\x75\x5e\x42\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x77\x50\x41\x54\x63\x3b\x4b\x45\x46\x64\x79\x38\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x39\x48\x38\x43\x74\x38\x48\x38\x4c\x7a\x39\x47\x26\x77\x39\x46\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x21\x4c\x37\x42\x48\x38\x64\x3c\x42\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x63\x2b\x74\x39\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x74\x52\x41\x54\x3d\x3e\x38\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x67\x50\x71\x41\x49\x35\x49\x33\x43\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x28\x54\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x3d\x53\x36\x47\x42\x59\x24\x52\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x68\x4d\x41\x54\x75\x3e\x41\x41\x54\x3d\x78\x3f\x47\x42\x71\x2b\x52\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x46\x29\x3d\x62\x4d\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x77\x39\x46\x47\x42\x47\x24\x54\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x4c\x7a\x39\x46\x29\x7d\x7a\x54\x41\x55\x51\x4b\x45\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x7b\x4a\x45\x46\x64\x26\x37\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x63\x70\x42\x45\x46\x64\x76\x41\x45\x46\x64\x79\x43\x45\x46\x64\x79\x38\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x26\x36\x41\x54\x63\x23\x44\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x71\x7a\x42\x46\x2a\x7a\x7c\x54\x41\x55\x51\x48\x44\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x46\x2a\x37\x56\x36\x46\x2a\x69\x36\x59\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x46\x29\x3d\x74\x53\x41\x54\x63\x23\x4a\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x4c\x2b\x42\x47\x42\x50\x74\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x6e\x4f\x41\x54\x26\x35\x45\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x45\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x48\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x42\x49\x56\x3e\x50\x44\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x69\x30\x58\x41\x54\x6c\x79\x45\x45\x46\x64\x3b\x39\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x5a\x26\x7c\x43\x46\x2a\x47\x74\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4c\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x26\x7c\x43\x48\x61\x39\x46\x46\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x26\x39\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x35\x48\x21\x26\x3c\x41\x47\x42\x37\x6b\x4f\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x46\x2a\x59\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x34\x46\x2a\x59\x6e\x39\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x46\x45\x46\x64\x76\x41\x46\x66\x31\x54\x36\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x47\x42\x71\x3f\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x47\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x68\x4d\x41\x54\x25\x26\x36\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x49\x35\x38\x7c\x42\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x42\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x48\x23\x6a\x55\x48\x47\x42\x68\x5f\x56\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x6e\x33\x45\x47\x42\x47\x68\x4d\x41\x54\x3e\x38\x45\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x26\x41\x45\x46\x64\x76\x35\x46\x66\x31\x54\x34\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x59\x28\x52\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x46\x2a\x59\x6e\x39\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x45\x46\x64\x3e\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x33\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x50\x45\x46\x64\x23\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x24\x54\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x66\x75\x47\x34\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x23\x42\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x48\x38\x43\x74\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x44\x45\x46\x64\x23\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7e\x43\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x33\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x63\x71\x68\x37\x46\x29\x25\x50\x4a\x41\x54\x63\x23\x47\x45\x46\x64\x5e\x48\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x77\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x26\x38\x46\x41\x54\x75\x79\x35\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x48\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x35\x43\x41\x54\x63\x79\x45\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x36\x47\x41\x74\x6c\x36\x46\x2a\x50\x68\x38\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x7a\x28\x43\x49\x58\x35\x67\x49\x48\x38\x77\x30\x44\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x47\x25\x4f\x25\x37\x46\x2a\x50\x68\x38\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x24\x52\x41\x54\x63\x2a\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x26\x36\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x45\x46\x29\x53\x63\x34\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x75\x3e\x41\x41\x54\x63\x79\x46\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x47\x25\x2b\x6b\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x45\x49\x56\x3e\x50\x44\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x39\x47\x63\x59\x56\x35\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x38\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x59\x28\x52\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x48\x5a\x26\x7c\x43\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x42\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x74\x53\x41\x55\x51\x5a\x4a\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x46\x2a\x50\x68\x38\x47\x26\x6e\x33\x45\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x47\x26\x77\x39\x46\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x48\x38\x4c\x7a\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x2a\x68\x2b\x52\x41\x54\x6c\x73\x42\x45\x46\x64\x3e\x43\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x42\x48\x38\x4c\x7a\x39\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x46\x45\x46\x64\x5e\x41\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x47\x63\x2b\x74\x39\x48\x38\x77\x30\x44\x46\x2a\x59\x7c\x57\x41\x54\x63\x5a\x3b\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x26\x39\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x4b\x47\x25\x4f\x25\x37\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x41\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x2a\x69\x33\x58\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x5f\x7a\x41\x46\x29\x7d\x62\x4c\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x74\x4f\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x5f\x53\x41\x55\x51\x51\x47\x41\x54\x7d\x7e\x41\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x47\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x47\x42\x47\x53\x35\x47\x42\x47\x74\x51\x41\x54\x63\x3b\x47\x45\x46\x64\x5e\x42\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x49\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x41\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x46\x29\x7d\x50\x35\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x41\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x47\x42\x47\x74\x51\x41\x54\x63\x26\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x48\x61\x49\x4c\x47\x47\x42\x50\x3c\x56\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x35\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3b\x37\x41\x54\x63\x26\x49\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x74\x50\x41\x54\x63\x70\x42\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4b\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x44\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x6b\x51\x41\x54\x25\x2a\x37\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x76\x32\x45\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x23\x6a\x55\x48\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x34\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x23\x52\x49\x46\x47\x42\x50\x3c\x56\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x46\x29\x3d\x59\x4c\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x29\x7d\x50\x35\x46\x2a\x47\x3f\x57\x41\x54\x3d\x3b\x37\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x4b\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x26\x6e\x33\x45\x47\x63\x68\x62\x36\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x77\x53\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x43\x3c\x43\x47\x64\x33\x28\x42\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x7d\x77\x53\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x47\x25\x7a\x65\x36\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x26\x38\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x6d\x5f\x43\x47\x42\x68\x3f\x55\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x47\x64\x33\x28\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x47\x26\x6e\x33\x45\x47\x42\x50\x28\x54\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x24\x55\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x46\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x47\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x49\x35\x23\x58\x48\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x43\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x77\x52\x41\x54\x63\x2a\x4b\x45\x46\x64\x3e\x49\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x29\x3d\x6e\x51\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x43\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x35\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x50\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x2a\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x46\x67\x37\x65\x38\x46\x29\x7d\x68\x4e\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x5f\x7a\x41\x47\x26\x43\x24\x41\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x3d\x53\x36\x47\x42\x59\x7a\x51\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x49\x34\x7e\x3f\x41\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x43\x45\x46\x64\x23\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x29\x53\x63\x35\x46\x2a\x37\x56\x36\x46\x2a\x69\x39\x5a\x41\x54\x63\x73\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x79\x49\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x47\x64\x33\x28\x42\x47\x64\x56\x30\x45\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x49\x35\x38\x7c\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x43\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x6e\x4e\x41\x54\x63\x2a\x4d\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x49\x57\x7b\x61\x48\x47\x42\x69\x30\x58\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x47\x63\x7a\x6e\x38\x47\x42\x50\x7a\x52\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x63\x59\x56\x35\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x7b\x4a\x45\x46\x64\x23\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6e\x4f\x41\x54\x75\x3b\x39\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x24\x53\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x28\x54\x41\x55\x51\x42\x42\x41\x54\x25\x5e\x41\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x48\x38\x4c\x7a\x39\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x44\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x48\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x47\x42\x59\x3f\x56\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x46\x2a\x5a\x33\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x66\x7d\x59\x37\x46\x2a\x68\x74\x41\x47\x42\x7a\x77\x41\x48\x5a\x55\x77\x38\x47\x64\x33\x28\x42\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x47\x42\x69\x30\x58\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x6a\x55\x48\x46\x2a\x71\x7a\x42\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x49\x45\x46\x64\x3e\x48\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3e\x38\x41\x54\x63\x26\x46\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x47\x25\x7a\x65\x36\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x59\x77\x42\x47\x42\x59\x65\x37\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x77\x53\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x48\x5a\x26\x7c\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x6a\x55\x48\x47\x42\x50\x59\x36\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x6e\x51\x41\x55\x51\x5a\x4a\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x37\x46\x2a\x68\x74\x41\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x48\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x48\x38\x28\x36\x45\x47\x42\x68\x3f\x55\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x2a\x37\x74\x51\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x70\x47\x45\x46\x64\x76\x33\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x37\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x23\x43\x45\x46\x64\x26\x46\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x6e\x33\x45\x47\x42\x50\x28\x54\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x47\x40\x5f\x47\x63\x68\x62\x36\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x26\x36\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x46\x29\x7d\x50\x35\x47\x42\x50\x6b\x4d\x41\x55\x51\x5a\x4a\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x47\x24\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x46\x2a\x68\x3f\x54\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x41\x46\x2a\x37\x56\x36\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x36\x59\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x4c\x5f\x44\x46\x29\x3d\x77\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x26\x64\x7c\x44\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x59\x71\x4e\x41\x55\x48\x57\x4a\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x46\x2a\x68\x74\x41\x48\x5a\x64\x24\x39\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x37\x46\x29\x53\x63\x38\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x43\x3c\x43\x48\x38\x43\x74\x38\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x48\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x73\x52\x47\x47\x63\x68\x62\x36\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x34\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x25\x2b\x6b\x37\x49\x58\x45\x6d\x4a\x46\x2a\x47\x7a\x52\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x63\x2b\x74\x39\x47\x42\x68\x3c\x54\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x46\x2a\x59\x28\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x47\x63\x7a\x6e\x38\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x46\x2a\x59\x2b\x53\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x5f\x53\x41\x55\x48\x35\x41\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x35\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x39\x46\x46\x46\x29\x7d\x7a\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x49\x58\x35\x67\x49\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x48\x23\x52\x49\x46\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x48\x46\x29\x53\x63\x42\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x38\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x47\x42\x68\x24\x51\x41\x54\x63\x76\x48\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x42\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x46\x66\x6c\x41\x33\x46\x2a\x72\x39\x59\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x38\x42\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x55\x28\x41\x47\x42\x71\x5f\x55\x41\x54\x75\x23\x36\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x47\x7a\x52\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x7a\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x7a\x53\x41\x54\x7d\x5e\x38\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x42\x45\x46\x64\x26\x44\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x74\x51\x41\x54\x63\x70\x47\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x37\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x59\x74\x4f\x41\x54\x25\x7e\x43\x41\x54\x63\x26\x46\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x4a\x45\x46\x64\x7b\x44\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x57\x49\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x74\x50\x41\x54\x63\x70\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x30\x56\x41\x54\x63\x79\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x43\x48\x21\x4c\x37\x41\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x68\x50\x41\x54\x25\x3e\x39\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x3c\x56\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x55\x51\x42\x42\x41\x55\x38\x51\x49\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x48\x38\x4c\x7a\x39\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x46\x45\x46\x64\x76\x37\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x2a\x68\x2b\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x29\x25\x44\x33\x47\x42\x47\x53\x35\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x26\x33\x77\x39\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x47\x63\x71\x68\x37\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x79\x36\x41\x54\x63\x79\x45\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x39\x48\x38\x64\x3c\x42\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x46\x66\x6c\x41\x33\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x76\x28\x39\x47\x42\x50\x74\x50\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x70\x48\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x46\x66\x3d\x53\x36\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x44\x47\x25\x4f\x25\x39\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x46\x2a\x68\x3c\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x48\x23\x6a\x55\x48\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x45\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x29\x7d\x24\x55\x41\x54\x63\x70\x46\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x46\x2a\x47\x71\x4f\x41\x55\x51\x5a\x4a\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x21\x30\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x21\x3e\x5f\x42\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x47\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x43\x45\x46\x64\x7b\x48\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x77\x39\x46\x47\x42\x47\x65\x4c\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3e\x41\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x64\x7c\x44\x46\x2a\x50\x74\x4f\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x2b\x24\x42\x47\x62\x7c\x75\x37\x48\x37\x70\x3d\x38\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x2a\x38\x41\x54\x3d\x3e\x38\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x48\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x48\x5a\x6d\x2b\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x47\x42\x71\x28\x51\x41\x54\x76\x32\x45\x41\x55\x51\x4b\x45\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x39\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x46\x2a\x21\x36\x57\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3b\x39\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x3d\x6e\x51\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x48\x45\x46\x64\x7b\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x29\x3d\x6b\x50\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x73\x48\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x41\x46\x66\x31\x54\x33\x47\x42\x59\x65\x37\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x44\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x47\x42\x50\x7a\x52\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x49\x58\x35\x67\x49\x46\x2a\x72\x36\x58\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x46\x29\x53\x63\x35\x46\x2a\x37\x56\x36\x47\x42\x37\x4d\x34\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x47\x53\x35\x47\x42\x47\x68\x4d\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x4e\x73\x4b\x47\x63\x71\x68\x37\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x35\x47\x43\x33\x3f\x44\x46\x2a\x72\x36\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x59\x77\x42\x47\x42\x59\x65\x37\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x2b\x74\x39\x46\x2a\x69\x36\x59\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x56\x30\x45\x47\x64\x33\x28\x42\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x41\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x23\x37\x41\x54\x63\x76\x43\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x5f\x55\x41\x54\x7e\x38\x44\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x2a\x50\x77\x50\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x47\x42\x50\x59\x36\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x48\x38\x77\x30\x44\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x35\x45\x41\x54\x63\x73\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x74\x51\x41\x54\x63\x70\x46\x45\x46\x64\x76\x35\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x64\x3c\x42\x47\x42\x50\x24\x53\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x29\x53\x63\x35\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x70\x34\x41\x54\x7e\x4b\x48\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x34\x46\x66\x63\x34\x32\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x46\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x48\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6b\x50\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x5f\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x37\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x36\x41\x54\x75\x26\x37\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x5e\x42\x41\x54\x63\x70\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x30\x57\x41\x54\x25\x7b\x42\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x47\x63\x71\x68\x37\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x2a\x39\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x46\x2a\x71\x7a\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x4a\x45\x46\x64\x23\x39\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x46\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x49\x4c\x47\x46\x29\x3d\x77\x54\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x7e\x44\x41\x54\x63\x70\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x28\x54\x41\x54\x63\x73\x39\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x42\x59\x65\x37\x47\x42\x50\x6e\x4e\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x57\x49\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x71\x4f\x41\x54\x75\x7e\x44\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x47\x42\x71\x28\x51\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x52\x49\x46\x46\x2a\x68\x2b\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x46\x2a\x47\x62\x37\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x41\x47\x41\x74\x6c\x35\x47\x26\x4c\x2b\x42\x47\x42\x50\x71\x4f\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x48\x23\x73\x61\x49\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x26\x36\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6e\x4e\x41\x54\x6c\x76\x46\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x39\x47\x63\x2b\x74\x39\x46\x2a\x37\x68\x4d\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x47\x42\x71\x3f\x54\x41\x54\x6c\x26\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x38\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x21\x76\x28\x39\x46\x2a\x59\x7c\x57\x41\x55\x48\x35\x41\x41\x54\x63\x73\x41\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x6d\x5f\x43\x46\x2a\x71\x3f\x53\x41\x54\x3e\x32\x43\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x46\x2a\x59\x5f\x56\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x74\x4f\x41\x54\x6c\x76\x39\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x75\x3e\x41\x41\x54\x63\x23\x48\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x38\x33\x6e\x37\x46\x2a\x37\x2b\x56\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x47\x42\x47\x68\x4d\x41\x54\x63\x6d\x43\x45\x46\x64\x3b\x45\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x44\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x69\x30\x58\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x41\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x48\x38\x4c\x7a\x39\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x34\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x47\x63\x2b\x74\x39\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x35\x43\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x46\x5a\x41\x54\x63\x70\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x7a\x53\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x42\x2b\x24\x42\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x77\x50\x41\x54\x63\x2a\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x46\x29\x53\x63\x36\x46\x66\x31\x54\x33\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x26\x36\x41\x55\x51\x5a\x4a\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x25\x5f\x71\x38\x46\x29\x3d\x77\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x46\x2a\x21\x4c\x62\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x46\x2a\x5a\x30\x58\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x34\x47\x42\x7a\x77\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x6b\x4f\x41\x54\x63\x70\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x77\x51\x41\x54\x25\x3b\x38\x41\x54\x63\x26\x45\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x48\x45\x46\x64\x5e\x49\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x43\x33\x3f\x44\x46\x29\x3d\x6e\x51\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x44\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x47\x25\x7a\x65\x36\x48\x61\x30\x39\x45\x47\x42\x37\x65\x4d\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x47\x42\x59\x65\x37\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x49\x35\x3b\x64\x49\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3e\x32\x43\x41\x54\x25\x7b\x42\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x47\x64\x33\x28\x42\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x7a\x52\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x46\x2a\x72\x33\x57\x41\x54\x63\x70\x38\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x48\x23\x39\x36\x44\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x26\x36\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x35\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6e\x4e\x41\x54\x6c\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x37\x56\x36\x46\x2a\x72\x30\x56\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x46\x2a\x68\x3f\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x49\x4c\x47\x46\x29\x3d\x62\x4d\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x57\x3b\x55\x47\x47\x26\x33\x77\x39\x47\x63\x59\x56\x35\x48\x38\x4c\x7a\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x44\x48\x21\x4c\x37\x41\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x46\x29\x3d\x4a\x34\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x3f\x55\x41\x55\x37\x7e\x39\x41\x54\x63\x79\x47\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x28\x53\x41\x54\x25\x3e\x39\x41\x54\x63\x73\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x68\x6b\x38\x48\x5a\x6d\x2b\x41\x46\x29\x25\x53\x4b\x41\x55\x51\x63\x4b\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x23\x39\x36\x44\x48\x21\x26\x3c\x41\x47\x25\x4f\x25\x37\x47\x42\x2b\x24\x42\x46\x2a\x71\x5f\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x46\x2a\x72\x46\x61\x41\x54\x6c\x3e\x42\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x49\x56\x3e\x50\x45\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x42\x5f\x2b\x43\x46\x2a\x47\x74\x50\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x39\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x26\x35\x45\x41\x54\x6c\x79\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x42\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x46\x2a\x69\x30\x57\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x73\x41\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x2a\x7a\x28\x43\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x47\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x47\x45\x46\x64\x5e\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x38\x43\x74\x38\x48\x5a\x3f\x33\x44\x49\x58\x45\x6d\x4a\x46\x2a\x59\x7c\x57\x41\x54\x63\x79\x37\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x55\x3f\x43\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x49\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x49\x58\x4e\x73\x4b\x47\x26\x77\x39\x46\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x36\x47\x25\x4f\x25\x39\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x5a\x30\x58\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x49\x35\x23\x58\x48\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x65\x4c\x41\x54\x76\x32\x45\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4b\x45\x46\x64\x26\x38\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x26\x35\x45\x41\x54\x7e\x48\x47\x41\x54\x3d\x7b\x41\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x26\x37\x41\x54\x75\x7b\x43\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x46\x29\x7d\x62\x4c\x41\x54\x63\x26\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x33\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x47\x63\x71\x68\x37\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x35\x43\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x2b\x54\x41\x54\x63\x70\x42\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x2a\x59\x7a\x50\x41\x54\x3e\x32\x43\x41\x54\x25\x5e\x41\x41\x54\x6c\x7b\x44\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6e\x50\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x48\x38\x43\x74\x38\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x7b\x44\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x65\x4f\x41\x54\x63\x26\x47\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x65\x4e\x41\x54\x63\x3e\x4f\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x47\x42\x50\x71\x4f\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x46\x2a\x37\x71\x50\x41\x54\x63\x70\x38\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x44\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x43\x45\x46\x64\x23\x42\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x46\x2a\x50\x68\x38\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x49\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x25\x2b\x6b\x37\x46\x29\x25\x50\x4a\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x2a\x59\x6e\x39\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x75\x3e\x41\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x58\x35\x67\x49\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x63\x59\x56\x35\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x77\x53\x41\x55\x51\x5a\x4a\x41\x54\x63\x70\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6b\x4e\x41\x54\x75\x2a\x38\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x6e\x33\x45\x47\x42\x50\x28\x54\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x41\x74\x6c\x36\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x57\x4a\x41\x54\x6c\x3b\x41\x41\x54\x63\x76\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x74\x50\x41\x54\x75\x7b\x43\x41\x54\x6c\x73\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x38\x43\x74\x38\x47\x42\x47\x71\x50\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x26\x3c\x41\x46\x2a\x37\x71\x50\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x5e\x42\x41\x54\x63\x6d\x45\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x2a\x37\x6b\x4e\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3e\x41\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x24\x53\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x55\x51\x42\x42\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x7b\x44\x41\x54\x63\x76\x46\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6e\x51\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x30\x57\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x26\x39\x41\x54\x75\x26\x37\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x38\x77\x30\x44\x47\x26\x55\x3f\x43\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x28\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x46\x2a\x50\x68\x38\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x48\x45\x46\x64\x23\x38\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x66\x31\x54\x33\x47\x42\x5f\x2b\x43\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x39\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x76\x48\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x43\x47\x25\x4f\x25\x38\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x50\x3c\x56\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x48\x37\x70\x3d\x41\x48\x59\x5e\x7d\x41\x47\x41\x74\x6c\x36\x46\x66\x6c\x41\x33\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x46\x66\x7d\x59\x37\x47\x42\x68\x5f\x56\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x46\x29\x25\x44\x33\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x43\x45\x46\x64\x23\x39\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x49\x34\x6d\x47\x43\x46\x2a\x47\x62\x37\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x38\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x46\x2a\x47\x3f\x57\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x59\x2b\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x39\x45\x46\x64\x7b\x48\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x47\x42\x47\x24\x54\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x5e\x42\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x6e\x50\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x46\x66\x31\x54\x34\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x23\x38\x41\x55\x38\x38\x43\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x50\x68\x38\x46\x29\x25\x59\x4d\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x37\x46\x2a\x50\x68\x38\x49\x57\x52\x30\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x57\x23\x4f\x46\x46\x2a\x50\x28\x53\x41\x54\x63\x76\x42\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x24\x54\x41\x54\x7e\x32\x42\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x39\x45\x46\x64\x26\x42\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6b\x4e\x41\x54\x25\x7b\x42\x41\x54\x63\x73\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x77\x51\x41\x54\x25\x7b\x42\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x41\x74\x6c\x36\x47\x42\x50\x59\x36\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x48\x47\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x62\x4e\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x41\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x79\x48\x45\x46\x64\x23\x41\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x7a\x53\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x47\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x74\x51\x41\x54\x63\x70\x48\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x69\x30\x58\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x48\x5a\x26\x7c\x43\x47\x42\x37\x74\x52\x41\x54\x63\x3e\x4b\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x64\x3c\x42\x47\x42\x47\x53\x35\x46\x2a\x37\x77\x52\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x46\x29\x3d\x77\x54\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x47\x42\x50\x7a\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x65\x4f\x41\x54\x6c\x79\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x47\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x7b\x42\x41\x54\x75\x2a\x38\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x35\x61\x46\x45\x47\x26\x33\x77\x39\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x36\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x7a\x77\x41\x47\x42\x59\x3f\x56\x41\x54\x63\x76\x47\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x42\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x47\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x47\x42\x37\x62\x4c\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x76\x44\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x47\x25\x4f\x25\x41\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x47\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x39\x46\x46\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x47\x42\x47\x53\x35\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x35\x43\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x46\x2a\x59\x6e\x39\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x23\x49\x43\x45\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x61\x4f\x47\x46\x2a\x5a\x33\x59\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x3d\x6e\x51\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x3b\x41\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x47\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x48\x21\x76\x28\x39\x46\x2a\x37\x6e\x4f\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x64\x4c\x5f\x44\x46\x2a\x37\x68\x4d\x41\x54\x6c\x76\x45\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x64\x56\x30\x45\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x46\x29\x25\x44\x33\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x38\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x46\x29\x3d\x62\x4d\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x46\x2a\x71\x3c\x52\x41\x54\x63\x70\x38\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x39\x46\x46\x47\x42\x47\x7a\x53\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3e\x47\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3e\x38\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x71\x4f\x41\x54\x75\x3e\x41\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x46\x2a\x47\x6e\x4e\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x46\x2a\x37\x71\x50\x41\x55\x38\x42\x44\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x47\x25\x2b\x6b\x37\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x42\x68\x7c\x57\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x71\x68\x37\x47\x42\x37\x4d\x34\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x36\x41\x55\x38\x51\x49\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x66\x31\x54\x33\x46\x66\x25\x4d\x35\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6b\x50\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x48\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x55\x37\x7e\x39\x41\x54\x75\x3e\x41\x41\x54\x63\x70\x48\x45\x46\x64\x23\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x24\x54\x41\x54\x76\x32\x45\x41\x54\x63\x6d\x41\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x46\x2a\x71\x3c\x52\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x46\x29\x53\x63\x35\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x36\x41\x55\x38\x38\x43\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x47\x62\x7c\x75\x41\x46\x66\x31\x54\x33\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6e\x4e\x41\x54\x6c\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x29\x7d\x50\x35\x47\x42\x59\x28\x53\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x64\x33\x28\x42\x47\x42\x69\x30\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x29\x25\x44\x33\x47\x42\x37\x4d\x34\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x26\x33\x77\x39\x47\x42\x50\x77\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x46\x29\x3d\x68\x4f\x41\x54\x75\x7b\x43\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x63\x79\x46\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x5f\x7a\x41\x47\x63\x2b\x74\x39\x46\x29\x3d\x6e\x51\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x47\x25\x2b\x6b\x37\x48\x61\x49\x4c\x47\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x48\x21\x26\x3c\x41\x46\x2a\x37\x2b\x56\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x70\x48\x45\x46\x64\x26\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x47\x42\x47\x74\x51\x41\x55\x51\x42\x42\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x46\x5a\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x24\x53\x41\x55\x48\x38\x42\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x5a\x26\x7c\x43\x47\x42\x50\x6e\x4e\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x35\x67\x49\x47\x64\x56\x30\x45\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x46\x29\x25\x44\x33\x46\x29\x25\x68\x50\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x25\x3b\x38\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x70\x43\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x41\x47\x63\x68\x62\x36\x47\x42\x47\x6e\x4f\x41\x55\x51\x51\x47\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x35\x47\x26\x6e\x33\x45\x46\x2a\x50\x68\x38\x46\x2a\x21\x30\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x26\x55\x3f\x43\x46\x29\x3d\x6b\x50\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x46\x2a\x71\x7c\x55\x41\x54\x6c\x73\x43\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x26\x77\x39\x46\x48\x61\x52\x52\x48\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x26\x33\x77\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x47\x63\x7a\x6e\x38\x46\x2a\x37\x56\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x48\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x4b\x48\x41\x54\x63\x79\x43\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x43\x47\x64\x56\x30\x45\x46\x2a\x37\x2b\x56\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x49\x45\x46\x64\x76\x42\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4a\x45\x46\x64\x26\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x26\x33\x77\x39\x46\x2a\x37\x28\x55\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x46\x45\x46\x64\x7b\x48\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x29\x7d\x7a\x54\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x73\x41\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x23\x4f\x46\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x46\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x38\x42\x41\x54\x7e\x48\x47\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x34\x46\x66\x63\x34\x32\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x47\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x48\x47\x41\x54\x63\x70\x44\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x47\x42\x37\x77\x53\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3b\x39\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x55\x3f\x43\x46\x2a\x47\x3c\x56\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x55\x51\x51\x47\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x46\x2a\x50\x68\x38\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x35\x43\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x37\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x35\x47\x26\x4c\x2b\x42\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x35\x46\x29\x53\x63\x37\x46\x29\x53\x63\x34\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x49\x58\x4e\x73\x4b\x47\x63\x5f\x7a\x41\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x46\x2a\x7a\x28\x43\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x49\x58\x35\x67\x49\x47\x42\x59\x77\x50\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x39\x47\x42\x71\x71\x39\x48\x5a\x26\x7c\x43\x48\x5a\x76\x3f\x42\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x48\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x47\x6e\x4f\x41\x54\x6c\x79\x41\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x29\x7d\x50\x35\x47\x42\x59\x3f\x56\x41\x54\x6c\x73\x45\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x52\x52\x48\x47\x64\x43\x3c\x43\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x7c\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x42\x49\x34\x6d\x47\x42\x46\x66\x3d\x53\x36\x46\x29\x3d\x74\x53\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x5f\x71\x38\x46\x2a\x21\x43\x59\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x24\x53\x41\x55\x48\x54\x49\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x35\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x47\x53\x35\x47\x42\x50\x6b\x4d\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x47\x25\x5f\x71\x38\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x42\x71\x71\x39\x46\x2a\x21\x30\x55\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x63\x68\x62\x36\x46\x29\x3d\x6b\x50\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x42\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x26\x44\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x48\x61\x52\x52\x48\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x44\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x29\x7d\x7a\x54\x41\x54\x25\x2a\x37\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4e\x45\x46\x64\x23\x42\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x49\x35\x52\x39\x44\x47\x42\x59\x3c\x55\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x46\x2a\x5a\x30\x58\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x42\x47\x64\x4c\x5f\x44\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x4a\x46\x66\x31\x54\x34\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x43\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x46\x2a\x21\x49\x61\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x26\x55\x3f\x43\x47\x25\x5f\x71\x38\x46\x2a\x47\x77\x51\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x46\x2a\x68\x2b\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x59\x5e\x7d\x48\x49\x56\x3e\x50\x46\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x23\x39\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x48\x38\x4c\x7a\x39\x47\x42\x47\x65\x4c\x41\x54\x63\x26\x39\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x57\x49\x41\x54\x63\x26\x48\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x48\x21\x3e\x5f\x42\x49\x35\x61\x46\x45\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x47\x26\x64\x7c\x44\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x23\x39\x36\x44\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x46\x2a\x5a\x30\x58\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x29\x3d\x74\x53\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x3d\x71\x52\x41\x54\x63\x23\x49\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x45\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x44\x33\x48\x23\x52\x49\x46\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x66\x63\x34\x32\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x46\x45\x46\x64\x76\x37\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x63\x2b\x74\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x46\x2a\x5a\x33\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x66\x7d\x59\x37\x46\x2a\x59\x6e\x39\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x2b\x74\x39\x47\x42\x59\x74\x4f\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x47\x42\x68\x6b\x38\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x72\x39\x59\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x5f\x57\x41\x54\x6c\x76\x35\x41\x54\x63\x79\x48\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x45\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x29\x25\x44\x33\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3f\x55\x41\x54\x6c\x23\x37\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x21\x49\x61\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x64\x4c\x5f\x44\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x77\x53\x41\x54\x26\x35\x45\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x47\x63\x2b\x74\x39\x49\x35\x38\x7c\x42\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x77\x51\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x42\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x46\x29\x7d\x50\x35\x47\x42\x50\x6b\x4d\x41\x54\x26\x38\x46\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x46\x2a\x50\x74\x4f\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x59\x28\x52\x41\x54\x63\x76\x41\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x47\x41\x74\x6c\x38\x46\x29\x53\x63\x34\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x43\x45\x46\x64\x23\x41\x45\x46\x64\x23\x35\x45\x46\x64\x79\x43\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x46\x2a\x59\x7a\x50\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x45\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x35\x41\x55\x38\x38\x43\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x65\x4f\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x71\x50\x41\x54\x25\x3b\x38\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x47\x42\x37\x59\x4b\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x46\x2a\x68\x28\x51\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x36\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x52\x39\x44\x46\x2a\x5a\x33\x59\x41\x54\x63\x76\x43\x45\x46\x64\x5e\x42\x45\x46\x64\x26\x43\x45\x46\x64\x79\x35\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x44\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x21\x26\x3c\x41\x46\x2a\x47\x71\x4f\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x7b\x41\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x74\x51\x41\x54\x63\x70\x43\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x43\x5a\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x48\x38\x55\x28\x41\x46\x2a\x59\x24\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x44\x47\x25\x4f\x25\x37\x46\x29\x3d\x4a\x34\x46\x29\x25\x68\x50\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x7d\x68\x4e\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x7a\x52\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x46\x66\x7d\x59\x37\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x55\x38\x4b\x47\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x4c\x7a\x39\x46\x2a\x59\x3c\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x50\x68\x38\x46\x29\x3d\x65\x4e\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x21\x46\x5a\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x68\x2b\x52\x41\x54\x63\x76\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x38\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x36\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x23\x41\x45\x46\x64\x23\x36\x45\x46\x64\x23\x43\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x46\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x42\x45\x46\x64\x5e\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x47\x64\x43\x3c\x43\x46\x66\x31\x54\x33\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x74\x51\x41\x54\x6c\x76\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x37\x47\x64\x56\x30\x45\x46\x2a\x21\x39\x58\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x68\x28\x51\x41\x54\x63\x76\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x39\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x45\x47\x62\x7c\x75\x39\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x49\x45\x46\x64\x26\x42\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x38\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x6e\x4e\x41\x54\x63\x3e\x48\x45\x46\x64\x26\x38\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x47\x63\x7a\x6e\x38\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x48\x47\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x36\x57\x41\x54\x75\x5e\x42\x41\x54\x63\x76\x42\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x3c\x56\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x36\x41\x54\x75\x26\x37\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x48\x5a\x55\x77\x38\x48\x38\x55\x28\x41\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x69\x39\x5a\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x59\x24\x52\x41\x55\x48\x42\x43\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x44\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x29\x25\x65\x4f\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x46\x2a\x71\x7c\x55\x41\x54\x6c\x73\x45\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x55\x37\x7e\x39\x41\x54\x75\x26\x37\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x26\x37\x41\x54\x75\x3e\x41\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x26\x64\x7c\x44\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x37\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x23\x61\x4f\x47\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x46\x29\x53\x63\x35\x48\x38\x6d\x5f\x43\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x44\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x71\x68\x37\x49\x58\x35\x67\x49\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x49\x35\x38\x7c\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x6e\x4e\x41\x54\x63\x2a\x4d\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x46\x2a\x7a\x28\x43\x46\x29\x3d\x68\x4f\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x38\x4c\x7a\x39\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x46\x2a\x37\x56\x36\x47\x42\x50\x6b\x4d\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x7d\x59\x37\x46\x2a\x69\x36\x59\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x49\x57\x3b\x55\x47\x48\x38\x3f\x43\x46\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x45\x47\x41\x74\x6c\x35\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x71\x50\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x23\x43\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x48\x5a\x3f\x33\x44\x47\x42\x37\x59\x4b\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x66\x7d\x59\x37\x48\x61\x52\x52\x48\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x25\x5f\x71\x38\x47\x42\x50\x77\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x48\x37\x70\x3d\x38\x46\x2a\x47\x62\x37\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x46\x2a\x37\x77\x52\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x34\x7e\x3f\x41\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x63\x59\x56\x35\x47\x42\x47\x6b\x4e\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x46\x45\x46\x64\x79\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x25\x5f\x71\x38\x46\x2a\x21\x4c\x62\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x46\x2a\x68\x74\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x74\x52\x41\x54\x63\x6d\x38\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x77\x39\x46\x47\x42\x37\x7a\x54\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x5e\x42\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x64\x7c\x44\x46\x2a\x47\x24\x53\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x47\x42\x47\x68\x4d\x41\x54\x63\x6d\x45\x45\x46\x64\x23\x43\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x44\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x47\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x48\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x2b\x55\x41\x54\x63\x79\x43\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x5f\x55\x41\x54\x6c\x76\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x43\x45\x46\x64\x7b\x4a\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x47\x42\x47\x68\x4d\x41\x54\x7e\x38\x44\x41\x54\x63\x70\x44\x45\x46\x64\x2a\x37\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x33\x58\x41\x54\x63\x73\x43\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x21\x3e\x5f\x42\x49\x57\x61\x36\x43\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x45\x46\x64\x23\x36\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x48\x23\x39\x36\x44\x46\x29\x25\x6e\x52\x41\x54\x63\x23\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x2b\x56\x41\x54\x63\x70\x42\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x30\x56\x41\x54\x63\x79\x49\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x35\x48\x38\x64\x3c\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x46\x29\x53\x63\x34\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x6d\x5f\x43\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x54\x63\x70\x44\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x42\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x71\x4f\x41\x54\x6c\x79\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x42\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x46\x46\x29\x53\x63\x34\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x5a\x3f\x33\x44\x47\x42\x47\x68\x4d\x41\x54\x63\x3e\x4c\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x37\x56\x36\x47\x42\x59\x3c\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x35\x52\x39\x44\x47\x42\x71\x3f\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x48\x21\x76\x28\x39\x47\x42\x59\x65\x37\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x36\x59\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x56\x30\x45\x47\x64\x43\x3c\x43\x47\x42\x71\x28\x51\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x39\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3c\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x37\x70\x3d\x45\x48\x37\x70\x3d\x38\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x2a\x38\x41\x54\x3d\x7b\x41\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x47\x64\x4c\x5f\x44\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x44\x45\x46\x64\x23\x36\x45\x46\x64\x79\x44\x45\x46\x64\x76\x38\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x7d\x24\x55\x41\x55\x48\x54\x49\x41\x54\x25\x7b\x42\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x47\x43\x33\x3f\x44\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4b\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x44\x33\x48\x23\x30\x30\x43\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x66\x63\x34\x32\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x73\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x42\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x63\x70\x41\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x23\x30\x30\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x44\x45\x46\x64\x23\x42\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x47\x25\x7a\x65\x36\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x46\x45\x46\x64\x76\x43\x46\x29\x53\x63\x42\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x61\x52\x52\x48\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x46\x29\x53\x63\x35\x48\x38\x6d\x5f\x43\x47\x42\x5f\x2b\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x26\x39\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x45\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x28\x54\x41\x54\x63\x79\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x59\x28\x52\x41\x54\x6c\x76\x42\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x37\x45\x46\x64\x2a\x42\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x74\x51\x41\x54\x75\x2a\x38\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6b\x4f\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x35\x41\x54\x6c\x26\x38\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x47\x26\x6e\x33\x45\x46\x2a\x71\x3c\x52\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x63\x2b\x74\x39\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x26\x4c\x2b\x42\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x5f\x55\x41\x54\x6c\x76\x43\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x41\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x73\x44\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x37\x71\x50\x41\x54\x6c\x79\x4a\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x6d\x5f\x43\x47\x42\x47\x53\x35\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x49\x58\x4e\x73\x4b\x47\x26\x77\x39\x46\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x39\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x39\x47\x26\x43\x24\x41\x47\x42\x47\x65\x4c\x41\x54\x63\x26\x44\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x42\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x26\x36\x41\x54\x63\x3e\x4b\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x59\x65\x37\x47\x42\x59\x71\x4e\x41\x54\x3e\x42\x46\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x37\x46\x29\x53\x63\x37\x48\x21\x4c\x37\x42\x47\x64\x4c\x5f\x44\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x66\x31\x54\x35\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x37\x47\x64\x43\x3c\x43\x47\x42\x68\x77\x4f\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x28\x36\x45\x47\x42\x50\x59\x36\x47\x63\x71\x68\x37\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x68\x4e\x41\x54\x63\x70\x45\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x33\x58\x41\x54\x63\x73\x39\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x21\x26\x3c\x41\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x74\x50\x41\x54\x75\x3b\x39\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x47\x2b\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x3f\x33\x44\x47\x42\x68\x7c\x57\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x42\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x36\x49\x35\x38\x7c\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x37\x46\x66\x31\x54\x41\x49\x56\x3e\x50\x4a\x48\x37\x70\x3d\x38\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x2a\x38\x41\x55\x51\x54\x48\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x2b\x56\x41\x54\x63\x70\x41\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x50\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x48\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x4b\x48\x21\x4c\x37\x47\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x68\x2b\x52\x41\x54\x63\x76\x45\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x49\x35\x38\x7c\x42\x47\x42\x50\x6b\x4d\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x49\x35\x3b\x64\x49\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x43\x46\x29\x53\x63\x43\x46\x29\x53\x63\x36\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x74\x51\x41\x54\x63\x70\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x29\x53\x63\x34\x47\x43\x33\x3f\x44\x46\x2a\x21\x36\x57\x41\x54\x63\x73\x42\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x47\x49\x34\x6d\x47\x43\x47\x42\x71\x71\x39\x46\x2a\x68\x3c\x53\x41\x54\x6c\x73\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x76\x48\x45\x46\x64\x2a\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x46\x67\x47\x6b\x39\x47\x25\x2b\x6b\x37\x47\x42\x71\x2b\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x48\x59\x5e\x7d\x39\x46\x2a\x68\x74\x41\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x56\x3e\x50\x43\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x21\x4c\x37\x42\x47\x63\x59\x56\x35\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x48\x5a\x76\x3f\x42\x46\x29\x25\x50\x4a\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x46\x5a\x41\x54\x25\x3e\x39\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x67\x59\x77\x42\x48\x38\x28\x36\x45\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x55\x51\x5a\x4a\x41\x54\x63\x73\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x63\x70\x42\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x47\x45\x46\x64\x5e\x42\x45\x46\x64\x5e\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x7b\x41\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x74\x50\x41\x54\x63\x70\x46\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x47\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x6d\x5f\x43\x46\x29\x7d\x74\x52\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x46\x29\x3d\x74\x53\x41\x55\x51\x57\x49\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6e\x50\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x55\x51\x48\x44\x41\x54\x6c\x3b\x41\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x6d\x2b\x41\x46\x2a\x68\x74\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x46\x2a\x50\x3f\x56\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x49\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x44\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x59\x28\x52\x41\x54\x63\x73\x49\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x41\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x47\x42\x71\x71\x39\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x47\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x77\x52\x41\x54\x75\x3b\x39\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x44\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x48\x23\x30\x30\x43\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x25\x3e\x39\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x3c\x55\x41\x54\x63\x26\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x26\x77\x39\x46\x47\x42\x59\x65\x37\x46\x29\x7d\x62\x4c\x41\x54\x63\x79\x37\x41\x54\x63\x70\x46\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x68\x4d\x41\x54\x76\x32\x45\x41\x54\x63\x3b\x42\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x48\x23\x49\x43\x45\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x49\x45\x46\x64\x23\x42\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x25\x5f\x71\x38\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x46\x2a\x37\x56\x36\x47\x42\x59\x7a\x51\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x47\x42\x59\x3c\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x5e\x39\x41\x54\x25\x3e\x39\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x46\x29\x3d\x68\x4f\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x24\x53\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x35\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x44\x33\x48\x23\x39\x36\x44\x47\x42\x68\x28\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x47\x41\x74\x6c\x36\x47\x25\x5f\x71\x38\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x36\x47\x62\x7c\x75\x37\x47\x63\x59\x56\x35\x49\x34\x7e\x3f\x41\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x42\x71\x71\x39\x46\x2a\x72\x30\x56\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x36\x49\x56\x3e\x50\x48\x48\x37\x70\x3d\x39\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x37\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x45\x45\x46\x64\x26\x37\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x46\x29\x7d\x68\x4e\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x47\x77\x51\x41\x54\x63\x70\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x49\x34\x6d\x47\x43\x46\x2a\x37\x56\x36\x46\x2a\x37\x77\x52\x41\x54\x63\x6d\x42\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x28\x54\x41\x54\x63\x76\x49\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x73\x48\x45\x46\x64\x3b\x38\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x35\x52\x39\x44\x46\x2a\x21\x36\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x47\x63\x2b\x74\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x47\x42\x47\x6e\x4f\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x49\x57\x61\x36\x43\x49\x57\x61\x36\x43\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x46\x45\x46\x64\x23\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x44\x46\x29\x7d\x50\x35\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x39\x49\x34\x6d\x47\x42\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x58\x4e\x73\x4b\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x48\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x46\x29\x53\x63\x34\x47\x42\x2b\x24\x42\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x46\x2a\x71\x7a\x42\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x28\x54\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x4c\x2b\x42\x46\x2a\x72\x39\x59\x41\x55\x38\x32\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x45\x46\x64\x23\x36\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x63\x71\x68\x37\x46\x29\x25\x56\x4c\x41\x54\x63\x23\x4b\x45\x46\x64\x79\x39\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x74\x53\x41\x54\x63\x23\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x63\x71\x68\x37\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x48\x38\x64\x3c\x42\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x23\x41\x45\x46\x64\x2a\x45\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x74\x51\x41\x54\x25\x5e\x41\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x2b\x55\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x3c\x56\x41\x54\x63\x76\x36\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x46\x2a\x50\x68\x38\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x38\x44\x41\x54\x63\x73\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x2b\x56\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x71\x50\x41\x54\x26\x38\x46\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x42\x45\x46\x64\x26\x42\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x7a\x54\x41\x54\x75\x3b\x39\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x3c\x56\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x55\x51\x51\x47\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x43\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x43\x33\x3f\x44\x47\x42\x50\x6b\x4d\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x25\x5f\x71\x38\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x42\x5f\x2b\x43\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x42\x46\x66\x31\x54\x33\x48\x21\x4c\x37\x41\x47\x42\x7a\x77\x41\x46\x29\x3d\x56\x4b\x41\x55\x38\x48\x46\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x64\x43\x3c\x43\x46\x2a\x71\x7a\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x39\x5a\x41\x54\x7e\x4b\x48\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x45\x46\x64\x79\x44\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x37\x46\x2a\x71\x7a\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x7a\x50\x41\x54\x7e\x45\x46\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x47\x3f\x57\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x47\x25\x5f\x71\x38\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x56\x30\x45\x46\x29\x25\x68\x50\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x46\x2a\x7a\x28\x43\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x62\x4c\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6e\x50\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x42\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x36\x41\x54\x6c\x3b\x41\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x48\x38\x4c\x7a\x39\x47\x42\x50\x77\x51\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x7a\x65\x36\x46\x29\x3d\x68\x4f\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x2a\x47\x3f\x57\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x76\x47\x45\x46\x64\x26\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x46\x29\x53\x63\x37\x46\x29\x53\x63\x34\x47\x63\x7a\x6e\x38\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x2a\x7a\x28\x43\x47\x42\x37\x4d\x34\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x47\x42\x47\x65\x4c\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x46\x2a\x37\x56\x36\x48\x23\x52\x49\x46\x46\x2a\x37\x6e\x4f\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x21\x4c\x37\x42\x47\x25\x7a\x65\x36\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x43\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x26\x35\x45\x41\x54\x63\x26\x39\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x45\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x42\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x2b\x52\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x36\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x49\x35\x23\x58\x48\x46\x29\x25\x56\x4c\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x59\x5e\x7d\x39\x48\x23\x61\x4f\x47\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x26\x45\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x47\x42\x7a\x77\x41\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x48\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x49\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x43\x46\x66\x6c\x41\x33\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x46\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x42\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x29\x7d\x50\x35\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x46\x66\x31\x54\x33\x48\x38\x43\x74\x38\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x43\x45\x46\x64\x76\x43\x46\x29\x53\x63\x38\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x5f\x55\x41\x54\x7e\x35\x43\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x29\x7d\x50\x35\x46\x2a\x50\x28\x53\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x47\x63\x68\x62\x36\x46\x2a\x37\x24\x54\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x42\x47\x25\x7a\x65\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x3d\x77\x54\x41\x54\x63\x6d\x39\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x46\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x49\x35\x49\x33\x43\x46\x2a\x21\x46\x5a\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x52\x39\x44\x46\x29\x25\x44\x33\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x45\x45\x46\x64\x23\x45\x45\x46\x64\x3e\x35\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x71\x4f\x41\x54\x75\x26\x37\x41\x54\x63\x3e\x49\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x46\x66\x6c\x41\x33\x47\x42\x47\x7a\x53\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x46\x29\x7d\x24\x55\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x3b\x39\x41\x55\x51\x57\x49\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x63\x68\x62\x36\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x4c\x5f\x44\x47\x42\x59\x71\x4e\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x3d\x53\x36\x47\x42\x59\x24\x52\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x23\x52\x49\x46\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x41\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x48\x38\x6d\x5f\x43\x47\x42\x68\x5f\x56\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x23\x36\x41\x54\x63\x70\x43\x45\x46\x64\x3b\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x47\x42\x47\x6b\x4e\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x5e\x42\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x63\x23\x43\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x48\x45\x46\x64\x7b\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x43\x33\x3f\x44\x47\x63\x71\x68\x37\x47\x62\x7c\x75\x36\x47\x25\x5f\x71\x38\x48\x21\x26\x3c\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x46\x29\x25\x53\x4b\x41\x54\x25\x3e\x39\x41\x54\x63\x23\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x43\x3c\x43\x47\x63\x5f\x7a\x41\x48\x38\x28\x36\x45\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x47\x42\x37\x4d\x34\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x7a\x77\x41\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x46\x66\x7d\x59\x37\x46\x2a\x59\x28\x52\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x47\x63\x5f\x7a\x41\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x7b\x61\x48\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x48\x21\x76\x28\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x61\x4f\x47\x47\x42\x69\x30\x58\x41\x54\x63\x23\x49\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x41\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7e\x43\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x47\x42\x47\x53\x35\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x3e\x32\x43\x41\x54\x63\x79\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x71\x4f\x41\x54\x75\x5e\x42\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x46\x2a\x21\x4c\x62\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x2a\x68\x7c\x56\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x45\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x77\x52\x41\x54\x75\x3b\x39\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x24\x53\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x24\x53\x41\x54\x63\x6d\x33\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x36\x46\x66\x31\x54\x35\x49\x34\x6d\x47\x43\x47\x26\x33\x77\x39\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x66\x31\x54\x36\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x4b\x48\x41\x54\x63\x70\x42\x45\x46\x64\x2a\x33\x41\x55\x48\x51\x48\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x33\x28\x42\x46\x29\x3d\x65\x4e\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x23\x6a\x55\x48\x46\x29\x25\x68\x50\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x56\x3e\x50\x43\x47\x64\x4c\x5f\x44\x46\x2a\x69\x39\x5a\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x36\x59\x41\x54\x6c\x76\x48\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x36\x49\x35\x38\x7c\x42\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x61\x49\x4c\x47\x47\x42\x71\x5f\x55\x41\x54\x63\x79\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x43\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x45\x45\x46\x64\x23\x45\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x61\x52\x52\x48\x47\x42\x47\x24\x54\x41\x54\x63\x23\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x62\x7c\x75\x37\x46\x2a\x68\x74\x41\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x26\x38\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x43\x74\x38\x46\x2a\x59\x3c\x54\x41\x54\x63\x73\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x46\x29\x25\x59\x4d\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x46\x2a\x47\x3f\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x6c\x76\x49\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x59\x28\x52\x41\x54\x6c\x76\x42\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x49\x35\x49\x33\x43\x47\x42\x68\x77\x4f\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x6a\x55\x48\x48\x61\x39\x46\x46\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x42\x45\x46\x64\x79\x44\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x33\x6e\x37\x46\x29\x3d\x6e\x51\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x79\x49\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x74\x50\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x3e\x35\x44\x41\x54\x7e\x4b\x48\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x48\x38\x33\x6e\x37\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x41\x45\x46\x64\x23\x43\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x73\x44\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x46\x66\x63\x34\x32\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x43\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x2a\x37\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x43\x33\x3f\x44\x47\x42\x47\x74\x51\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x39\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x39\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x35\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x4b\x48\x41\x54\x63\x76\x43\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x46\x2a\x50\x7a\x51\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x49\x45\x46\x64\x79\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x42\x47\x64\x4c\x5f\x44\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x47\x42\x50\x59\x36\x46\x2a\x50\x3c\x55\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x26\x37\x41\x55\x51\x63\x4b\x41\x54\x25\x3e\x39\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x26\x43\x24\x41\x47\x63\x59\x56\x35\x48\x38\x33\x6e\x37\x46\x2a\x21\x36\x57\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x45\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x46\x2a\x37\x56\x36\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x5f\x56\x41\x54\x63\x26\x39\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x45\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x26\x39\x41\x54\x75\x26\x37\x41\x54\x6c\x26\x38\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x49\x35\x23\x58\x48\x46\x29\x7d\x6b\x4f\x41\x54\x63\x70\x42\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x26\x32\x44\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x46\x2a\x71\x7c\x55\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x74\x4f\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x43\x33\x3f\x44\x46\x2a\x37\x68\x4d\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x47\x42\x59\x77\x50\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x47\x42\x68\x7c\x57\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x29\x25\x44\x33\x48\x61\x52\x52\x48\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x68\x4e\x41\x54\x6c\x79\x48\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x7e\x44\x41\x54\x75\x3b\x39\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x25\x7a\x65\x36\x47\x42\x37\x74\x52\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x29\x7d\x7a\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x43\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x50\x45\x46\x64\x23\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x68\x4d\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x7a\x53\x41\x54\x26\x35\x45\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x45\x45\x46\x64\x26\x36\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x38\x45\x46\x64\x23\x38\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x66\x7d\x59\x37\x47\x42\x47\x6e\x4f\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x66\x31\x54\x34\x47\x42\x37\x4d\x34\x47\x42\x59\x77\x50\x41\x54\x63\x23\x38\x41\x54\x7e\x4b\x48\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x49\x57\x7b\x61\x48\x47\x42\x68\x77\x4f\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x46\x29\x3d\x65\x4e\x41\x54\x63\x76\x44\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x24\x55\x41\x54\x75\x3b\x39\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x37\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x47\x42\x37\x71\x51\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3e\x41\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x63\x79\x49\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x47\x45\x46\x64\x5e\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x43\x33\x3f\x44\x47\x64\x33\x28\x42\x48\x38\x4c\x7a\x39\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x73\x48\x45\x46\x64\x76\x37\x46\x29\x53\x63\x42\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x48\x38\x55\x28\x41\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x2b\x74\x39\x48\x38\x43\x74\x38\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x42\x48\x37\x70\x3d\x39\x48\x37\x70\x3d\x39\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x28\x51\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x47\x42\x47\x53\x35\x46\x2a\x47\x24\x53\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3e\x38\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x74\x51\x41\x54\x25\x3e\x39\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x3f\x33\x44\x46\x2a\x68\x3f\x54\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x46\x29\x7d\x74\x52\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x7a\x65\x36\x46\x2a\x21\x33\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x47\x26\x77\x39\x46\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x26\x36\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x71\x50\x41\x54\x6c\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x29\x7d\x50\x35\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x35\x49\x33\x43\x46\x2a\x5a\x30\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x47\x6b\x39\x48\x21\x76\x28\x39\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x25\x5f\x71\x38\x47\x42\x50\x24\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x46\x29\x3d\x68\x4f\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x47\x25\x5f\x71\x38\x46\x29\x3d\x6e\x51\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x7b\x44\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x43\x74\x38\x47\x42\x68\x7a\x50\x41\x54\x63\x70\x34\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6e\x51\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x25\x7a\x65\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x3d\x77\x54\x41\x55\x51\x5a\x4a\x41\x54\x63\x73\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x68\x7c\x57\x41\x54\x6c\x79\x48\x45\x46\x64\x3b\x42\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x24\x54\x41\x54\x63\x3b\x49\x45\x46\x64\x26\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x47\x63\x7a\x6e\x38\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x35\x41\x54\x63\x76\x46\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x30\x55\x41\x54\x75\x7b\x43\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x46\x2a\x71\x5f\x54\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6b\x51\x41\x54\x75\x23\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x42\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x7b\x42\x41\x54\x63\x70\x45\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x46\x2a\x71\x5f\x54\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x46\x48\x21\x4c\x37\x42\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x57\x4a\x41\x55\x38\x38\x43\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x45\x49\x56\x3e\x50\x43\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x47\x53\x35\x47\x42\x37\x7a\x54\x41\x54\x6c\x76\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x36\x49\x35\x61\x46\x45\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x76\x28\x39\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x43\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x68\x7c\x57\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x49\x34\x7e\x3f\x41\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x43\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x49\x57\x7b\x61\x48\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x46\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x47\x63\x7a\x6e\x38\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x35\x41\x54\x63\x76\x46\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x28\x54\x41\x54\x25\x3e\x39\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x48\x39\x30\x49\x47\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x5e\x39\x41\x54\x25\x3e\x39\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x29\x3d\x74\x53\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6b\x4f\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x28\x54\x41\x54\x63\x70\x34\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x55\x38\x32\x41\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x48\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x77\x54\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x26\x6e\x33\x45\x46\x2a\x59\x6e\x39\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x73\x43\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x46\x2a\x71\x7c\x55\x41\x54\x6c\x76\x35\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x47\x42\x50\x7a\x52\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x71\x4e\x41\x54\x63\x76\x42\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x29\x53\x63\x35\x46\x2a\x37\x56\x36\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x43\x45\x46\x64\x26\x45\x45\x46\x64\x7b\x49\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x39\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x26\x4c\x2b\x42\x46\x2a\x7a\x5f\x53\x41\x55\x38\x35\x42\x41\x54\x3d\x78\x3f\x46\x29\x7d\x6e\x50\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x29\x3d\x71\x52\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x47\x25\x4f\x25\x37\x47\x64\x43\x3c\x43\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x7b\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x48\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x26\x7c\x43\x46\x2a\x71\x7a\x42\x46\x2a\x21\x4c\x62\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x35\x67\x49\x46\x29\x3d\x6b\x50\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x48\x39\x30\x49\x47\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x62\x4c\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x43\x3c\x43\x46\x29\x7d\x68\x4e\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x23\x6a\x55\x48\x48\x38\x4c\x7a\x39\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x48\x23\x6a\x55\x48\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x42\x47\x24\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x46\x45\x46\x64\x76\x39\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x77\x54\x41\x54\x63\x79\x4b\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x74\x50\x41\x54\x6c\x79\x48\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x3e\x35\x44\x41\x54\x6c\x76\x35\x41\x55\x51\x5a\x4a\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x2a\x38\x41\x54\x63\x70\x45\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x46\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x79\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x48\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x48\x5a\x26\x7c\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x48\x38\x64\x3c\x42\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x48\x47\x25\x4f\x25\x37\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x49\x58\x4e\x73\x4b\x47\x25\x7a\x65\x36\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x43\x46\x2a\x47\x62\x37\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x72\x36\x58\x41\x54\x63\x26\x39\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x74\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x42\x5f\x2b\x43\x47\x42\x47\x28\x55\x41\x55\x38\x45\x45\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x47\x42\x68\x7c\x57\x41\x54\x63\x79\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x59\x28\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x41\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x47\x25\x2b\x6b\x37\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x47\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x2a\x37\x41\x54\x3d\x3e\x38\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x45\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x48\x61\x49\x4c\x47\x47\x42\x50\x71\x4f\x41\x54\x63\x73\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x42\x46\x29\x53\x63\x34\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x68\x3f\x54\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x71\x68\x37\x48\x61\x52\x52\x48\x47\x42\x37\x62\x4c\x41\x54\x63\x3b\x4a\x45\x46\x64\x5e\x47\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x43\x33\x3f\x44\x47\x63\x7a\x6e\x38\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x38\x48\x21\x4c\x37\x42\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x44\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x75\x5e\x42\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x2a\x38\x41\x54\x75\x5e\x42\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x6a\x4c\x46\x46\x29\x7d\x6e\x50\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x47\x64\x56\x30\x45\x46\x2a\x59\x7c\x57\x41\x54\x63\x5a\x3b\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x49\x45\x46\x64\x23\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x43\x47\x63\x5f\x7a\x41\x46\x2a\x69\x39\x5a\x41\x55\x51\x57\x49\x41\x54\x6c\x26\x49\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x46\x2a\x37\x2b\x56\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x47\x41\x74\x6c\x38\x46\x66\x31\x54\x34\x47\x42\x71\x71\x39\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x2a\x7a\x28\x43\x46\x29\x25\x65\x4f\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x46\x29\x7d\x68\x4e\x41\x54\x63\x23\x4c\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x68\x74\x41\x46\x2a\x71\x5f\x54\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x39\x5a\x41\x54\x63\x76\x45\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x62\x7c\x75\x36\x47\x64\x56\x30\x45\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x46\x2a\x69\x33\x58\x41\x54\x6c\x73\x45\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x47\x42\x47\x68\x4d\x41\x54\x63\x6d\x44\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x5a\x6d\x2b\x41\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x47\x45\x46\x64\x5e\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x47\x64\x33\x28\x42\x48\x38\x77\x30\x44\x46\x2a\x37\x71\x50\x41\x54\x63\x79\x37\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x36\x47\x25\x4f\x25\x37\x49\x58\x35\x67\x49\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x68\x62\x36\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x71\x52\x41\x54\x63\x70\x47\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x26\x36\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x46\x2a\x71\x7c\x55\x41\x54\x75\x2a\x38\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x54\x63\x3b\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x36\x49\x35\x73\x52\x47\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x23\x39\x36\x44\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x42\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x37\x47\x25\x4f\x25\x38\x47\x42\x71\x71\x39\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x23\x42\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x73\x52\x47\x47\x42\x50\x59\x36\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x36\x41\x55\x38\x45\x45\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x44\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x6d\x2b\x41\x48\x21\x76\x28\x39\x46\x2a\x37\x7a\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x29\x3d\x62\x4d\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x48\x38\x28\x36\x45\x46\x2a\x7a\x28\x43\x46\x29\x3d\x71\x52\x41\x54\x63\x73\x47\x45\x46\x64\x23\x37\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x42\x47\x26\x77\x39\x46\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x63\x7a\x6e\x38\x46\x29\x25\x50\x4a\x41\x54\x63\x23\x47\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x5f\x7a\x41\x46\x2a\x21\x33\x56\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x46\x2a\x50\x3f\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x3d\x4a\x34\x48\x39\x30\x49\x47\x49\x57\x23\x4f\x46\x46\x29\x7d\x6e\x50\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x38\x64\x3c\x42\x46\x29\x3d\x6b\x50\x41\x54\x75\x3e\x41\x41\x54\x63\x70\x43\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x26\x36\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x46\x46\x29\x53\x63\x35\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x33\x41\x55\x38\x38\x43\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x49\x57\x7b\x61\x48\x47\x42\x68\x77\x4f\x41\x55\x51\x4b\x45\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x33\x56\x41\x54\x75\x7e\x44\x41\x54\x63\x79\x46\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x5f\x54\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x71\x53\x41\x54\x6c\x73\x34\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x25\x3b\x38\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x26\x43\x24\x41\x46\x29\x7d\x68\x4e\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x34\x7e\x3f\x41\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x34\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x37\x56\x36\x48\x21\x3e\x5f\x42\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x26\x36\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x47\x42\x50\x6e\x4e\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x64\x43\x3c\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x23\x30\x30\x43\x47\x42\x68\x77\x4f\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x46\x66\x31\x54\x35\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x29\x7d\x6e\x50\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x55\x38\x4b\x47\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x49\x58\x35\x67\x49\x47\x42\x68\x77\x4f\x41\x55\x38\x38\x43\x41\x54\x63\x26\x47\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x62\x4d\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x47\x63\x5f\x7a\x41\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x5f\x7a\x41\x46\x29\x25\x56\x4c\x41\x54\x3e\x45\x47\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x26\x4c\x2b\x42\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x72\x36\x58\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x72\x43\x5a\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x49\x35\x38\x7c\x42\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x42\x45\x46\x64\x23\x44\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x48\x23\x30\x30\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x38\x46\x29\x53\x63\x42\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x76\x48\x45\x46\x64\x3b\x38\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x47\x25\x4f\x25\x41\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x68\x28\x51\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x41\x49\x57\x61\x36\x43\x48\x61\x30\x39\x45\x47\x42\x50\x71\x4f\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x7b\x41\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x71\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x6b\x4e\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x3e\x38\x45\x41\x54\x7e\x35\x43\x41\x54\x6c\x26\x38\x41\x54\x25\x3e\x39\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x5e\x41\x41\x54\x63\x70\x41\x45\x46\x64\x79\x43\x45\x46\x64\x79\x38\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x46\x2a\x59\x28\x52\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x46\x66\x31\x54\x34\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x57\x4a\x41\x54\x6c\x2a\x39\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x33\x6e\x37\x47\x42\x68\x7a\x50\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x46\x29\x3d\x74\x53\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x42\x37\x59\x4b\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x21\x3e\x5f\x42\x46\x2a\x68\x28\x51\x41\x54\x63\x23\x43\x45\x46\x64\x26\x36\x45\x46\x64\x79\x39\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x48\x23\x52\x49\x46\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x43\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x63\x3b\x46\x45\x46\x64\x23\x38\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x49\x4c\x47\x47\x42\x50\x71\x4f\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x38\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x71\x4f\x41\x54\x75\x7b\x43\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x7a\x6e\x38\x46\x2a\x50\x74\x4f\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x6b\x4f\x41\x54\x63\x73\x41\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7e\x43\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x47\x42\x50\x2b\x55\x41\x54\x75\x3e\x41\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x5e\x43\x41\x54\x63\x73\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x33\x56\x41\x54\x63\x70\x44\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x74\x50\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x43\x48\x23\x30\x30\x43\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x2a\x5a\x30\x58\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x46\x29\x7d\x50\x35\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x45\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x45\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x47\x25\x4f\x25\x38\x47\x63\x59\x56\x35\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x76\x48\x45\x46\x64\x23\x44\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x48\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x41\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x46\x2a\x37\x56\x36\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x2a\x45\x45\x46\x64\x76\x39\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x26\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x21\x26\x3c\x41\x47\x42\x47\x7a\x53\x41\x55\x38\x32\x41\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x48\x23\x49\x43\x45\x49\x56\x3e\x50\x43\x48\x61\x30\x39\x45\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x37\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x47\x49\x34\x6d\x47\x42\x47\x64\x56\x30\x45\x46\x2a\x47\x7a\x52\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x4b\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x61\x49\x4c\x47\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x46\x2a\x68\x2b\x52\x41\x54\x63\x76\x43\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x49\x35\x38\x7c\x42\x46\x2a\x72\x39\x59\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x49\x35\x23\x58\x48\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x4b\x47\x25\x4f\x25\x46\x47\x41\x74\x6c\x35\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x2a\x38\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x5f\x7a\x41\x47\x42\x50\x6e\x4e\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x64\x4c\x5f\x44\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x26\x46\x45\x46\x64\x23\x36\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x46\x66\x31\x54\x34\x47\x42\x71\x71\x39\x47\x42\x68\x24\x51\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x37\x46\x67\x37\x65\x38\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x42\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x71\x4f\x41\x54\x63\x2a\x4b\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x42\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x6d\x5f\x43\x46\x2a\x71\x7a\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x49\x57\x23\x4f\x46\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x46\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x28\x51\x41\x54\x6c\x76\x42\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x41\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x35\x49\x33\x43\x47\x42\x47\x65\x4c\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x35\x41\x55\x38\x38\x43\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x49\x57\x7b\x61\x48\x47\x42\x68\x3c\x54\x41\x54\x7d\x25\x40\x46\x2a\x21\x49\x61\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x47\x63\x5f\x7a\x41\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x23\x52\x49\x46\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x49\x58\x45\x6d\x4a\x46\x29\x7d\x74\x52\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x47\x64\x43\x3c\x43\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x69\x39\x5a\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3f\x56\x41\x54\x6c\x23\x37\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x43\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x43\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x4a\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3e\x39\x41\x54\x63\x23\x48\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x68\x4d\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x48\x23\x6a\x55\x48\x47\x42\x47\x68\x4d\x41\x55\x51\x4e\x46\x41\x54\x75\x6c\x3d\x46\x29\x7d\x62\x4c\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x26\x38\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x5a\x26\x7c\x43\x47\x42\x50\x6e\x4e\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x44\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x39\x47\x42\x37\x4d\x34\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x3f\x55\x41\x54\x7e\x35\x43\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x71\x7a\x42\x49\x58\x4e\x73\x4b\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x42\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x46\x2a\x21\x36\x57\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x57\x61\x36\x43\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x47\x42\x47\x68\x4d\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x26\x4a\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x28\x36\x45\x49\x57\x7b\x61\x48\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x21\x76\x28\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x46\x2a\x5a\x30\x58\x41\x54\x63\x3e\x4d\x45\x46\x64\x26\x46\x45\x46\x64\x79\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x47\x26\x6e\x33\x45\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x41\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x46\x29\x7d\x50\x35\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7a\x50\x41\x54\x63\x3e\x43\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x36\x46\x2a\x7a\x28\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x49\x58\x35\x67\x49\x46\x2a\x37\x71\x50\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x6e\x33\x45\x46\x2a\x37\x68\x4d\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x3b\x39\x41\x54\x26\x35\x45\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x46\x2a\x71\x7a\x42\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x33\x28\x42\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x68\x6b\x38\x46\x2a\x21\x33\x56\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x7c\x54\x41\x55\x48\x54\x49\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x39\x48\x59\x5e\x7d\x39\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x47\x6b\x4e\x41\x54\x6c\x79\x41\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x47\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x64\x3c\x42\x47\x25\x7a\x65\x36\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x47\x63\x5f\x7a\x41\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x36\x59\x41\x54\x75\x79\x35\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x37\x70\x3d\x44\x49\x56\x3e\x50\x44\x48\x38\x43\x74\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x38\x46\x66\x31\x54\x36\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x5f\x7a\x41\x46\x2a\x21\x30\x55\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x25\x7a\x65\x36\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x63\x7a\x6e\x38\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x33\x28\x42\x48\x38\x4c\x7a\x39\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x47\x25\x4f\x25\x39\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x68\x3c\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x49\x35\x73\x52\x47\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x44\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x65\x4c\x41\x54\x75\x3b\x39\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x37\x46\x2a\x47\x62\x37\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x6e\x33\x45\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x49\x33\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x49\x34\x7e\x3f\x41\x47\x42\x47\x68\x4d\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x49\x35\x7b\x6a\x4a\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x49\x46\x29\x53\x63\x36\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x65\x4c\x41\x54\x25\x26\x36\x41\x54\x63\x70\x45\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x42\x45\x46\x64\x23\x43\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x45\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x76\x28\x39\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x35\x48\x37\x70\x3d\x38\x46\x2a\x59\x6e\x39\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x37\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x2a\x68\x28\x51\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x49\x57\x23\x4f\x46\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x23\x61\x4f\x47\x49\x35\x7b\x6a\x4a\x46\x2a\x68\x74\x41\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6e\x51\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x5f\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x57\x7b\x61\x48\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x43\x3c\x43\x46\x29\x25\x56\x4c\x41\x55\x51\x57\x49\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x74\x53\x41\x54\x63\x70\x44\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x46\x2a\x69\x39\x5a\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x47\x62\x7c\x75\x37\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x35\x41\x41\x55\x38\x4b\x47\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x46\x2a\x71\x7a\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x47\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3c\x56\x41\x54\x63\x76\x41\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x46\x29\x53\x63\x34\x47\x42\x47\x53\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x48\x59\x5e\x7d\x42\x46\x66\x31\x54\x37\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x49\x58\x35\x67\x49\x47\x42\x68\x77\x4f\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x49\x57\x6a\x43\x44\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x5f\x2b\x43\x46\x2a\x37\x77\x52\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x46\x29\x3d\x77\x54\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x46\x2a\x69\x30\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x29\x25\x56\x4c\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x46\x45\x46\x64\x26\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x5e\x41\x41\x54\x63\x70\x41\x45\x46\x64\x79\x35\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x49\x57\x3b\x55\x47\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x75\x23\x36\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x33\x6e\x37\x46\x2a\x59\x2b\x53\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x25\x5f\x71\x38\x47\x42\x47\x65\x4c\x41\x55\x48\x57\x4a\x41\x54\x63\x23\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x26\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x77\x30\x44\x47\x42\x47\x53\x35\x46\x29\x3d\x56\x4b\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x46\x66\x75\x47\x34\x46\x29\x25\x50\x4a\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x25\x5f\x71\x38\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x41\x45\x46\x64\x79\x38\x46\x29\x53\x63\x35\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x68\x6b\x38\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x47\x42\x68\x77\x4f\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x46\x29\x3d\x77\x54\x41\x54\x6c\x23\x44\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x55\x3f\x43\x46\x2a\x37\x24\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x7a\x53\x41\x54\x7d\x7b\x39\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x46\x45\x46\x64\x26\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x65\x4c\x41\x54\x75\x26\x37\x41\x54\x63\x73\x42\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x46\x2a\x72\x30\x56\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x47\x46\x29\x53\x63\x35\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x70\x34\x41\x55\x38\x42\x44\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x49\x58\x35\x67\x49\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x45\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x44\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x47\x42\x59\x74\x4f\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x3c\x53\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x49\x4c\x47\x46\x29\x3d\x71\x52\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x47\x25\x5f\x71\x38\x48\x38\x4c\x7a\x39\x49\x56\x3e\x50\x43\x47\x42\x47\x53\x35\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x46\x2a\x69\x30\x57\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x35\x38\x7c\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x41\x47\x63\x7a\x6e\x38\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x47\x43\x33\x3f\x44\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x36\x49\x34\x6d\x47\x47\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x47\x42\x71\x28\x51\x41\x54\x6c\x76\x46\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x48\x23\x61\x4f\x47\x47\x42\x47\x68\x4d\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x48\x23\x73\x61\x49\x46\x29\x25\x65\x4f\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x34\x46\x29\x53\x63\x38\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x47\x63\x71\x68\x37\x49\x35\x3b\x64\x49\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x55\x38\x32\x41\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x44\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x65\x4e\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x49\x57\x7b\x61\x48\x48\x23\x73\x61\x49\x47\x63\x59\x56\x35\x46\x29\x7d\x62\x4c\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x35\x38\x7c\x42\x49\x35\x61\x46\x45\x47\x64\x33\x28\x42\x47\x26\x43\x24\x41\x47\x42\x47\x28\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x46\x2a\x68\x74\x41\x46\x2a\x21\x43\x59\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x49\x35\x38\x7c\x42\x48\x23\x49\x43\x45\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x49\x45\x46\x64\x26\x36\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x73\x45\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x44\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x76\x47\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x43\x74\x38\x47\x26\x55\x3f\x43\x46\x2a\x71\x3f\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x29\x7d\x50\x35\x46\x29\x7d\x68\x4e\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x49\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x47\x43\x33\x3f\x44\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x66\x25\x4d\x35\x46\x2a\x50\x28\x53\x41\x55\x48\x51\x48\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x46\x45\x46\x64\x79\x35\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x47\x42\x7a\x77\x41\x48\x38\x64\x3c\x42\x49\x35\x52\x39\x44\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x7a\x6e\x38\x47\x63\x2b\x74\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x44\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x79\x42\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x45\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x46\x2a\x47\x62\x37\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x5f\x56\x41\x54\x6c\x79\x36\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x2a\x47\x3f\x57\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x47\x26\x33\x77\x39\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x74\x52\x41\x54\x63\x6d\x37\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x21\x26\x3c\x41\x47\x42\x47\x6e\x4f\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x5e\x42\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x6e\x50\x41\x54\x63\x23\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x29\x3d\x6b\x50\x41\x54\x3e\x38\x45\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x47\x25\x2b\x6b\x37\x47\x42\x68\x28\x52\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x47\x25\x5f\x71\x38\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x2b\x74\x39\x46\x29\x25\x6b\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x26\x43\x24\x41\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x7a\x51\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x38\x46\x29\x53\x63\x38\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x48\x38\x28\x36\x45\x47\x64\x43\x3c\x43\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x73\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x57\x7b\x61\x48\x47\x42\x59\x24\x52\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x68\x4d\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x46\x29\x53\x63\x34\x47\x42\x7a\x77\x41\x47\x42\x68\x3c\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x47\x42\x71\x71\x39\x47\x42\x68\x28\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x48\x37\x70\x3d\x38\x47\x26\x6e\x33\x45\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x49\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x6b\x4e\x41\x54\x63\x70\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x49\x34\x6d\x47\x43\x46\x2a\x47\x62\x37\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x41\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x73\x48\x45\x46\x64\x2a\x45\x45\x46\x64\x3e\x35\x41\x54\x75\x2a\x38\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x23\x41\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x3c\x56\x41\x54\x63\x70\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x47\x63\x2b\x74\x39\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x55\x37\x7e\x39\x41\x54\x63\x73\x49\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x28\x53\x41\x54\x25\x3b\x38\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x3c\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x28\x36\x45\x46\x2a\x71\x7a\x42\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x25\x5f\x71\x38\x46\x2a\x71\x3f\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x7a\x28\x43\x46\x29\x3d\x68\x4f\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x47\x42\x7a\x77\x41\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x50\x68\x38\x48\x23\x49\x43\x45\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x21\x4c\x37\x42\x47\x26\x33\x77\x39\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x48\x38\x4c\x7a\x39\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x49\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x36\x46\x66\x31\x54\x37\x47\x25\x4f\x25\x37\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x47\x26\x77\x39\x46\x47\x25\x5f\x71\x38\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x68\x7c\x57\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x23\x58\x48\x47\x42\x37\x4d\x34\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x3e\x45\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x39\x46\x66\x31\x54\x38\x47\x25\x4f\x25\x37\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3e\x39\x41\x54\x63\x3e\x4b\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x38\x33\x6e\x37\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x48\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x36\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x42\x47\x42\x68\x6b\x38\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x23\x42\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x28\x51\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x43\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x48\x38\x6d\x5f\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x43\x49\x56\x3e\x50\x45\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x6b\x4e\x41\x54\x75\x5e\x42\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x47\x26\x6e\x33\x45\x48\x39\x30\x49\x47\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x47\x26\x77\x39\x46\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x23\x49\x43\x45\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x52\x49\x46\x47\x42\x71\x28\x51\x41\x54\x63\x79\x46\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x37\x71\x50\x41\x54\x6c\x79\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x55\x3f\x43\x46\x2a\x71\x7a\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x39\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x42\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3c\x56\x41\x54\x63\x79\x43\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x59\x28\x52\x41\x54\x63\x73\x49\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x41\x45\x46\x64\x7b\x4a\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x43\x74\x38\x47\x42\x37\x77\x53\x41\x55\x51\x63\x4b\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x46\x2a\x59\x6e\x39\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x47\x42\x37\x77\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x29\x7d\x24\x55\x41\x54\x6c\x79\x42\x45\x46\x64\x23\x43\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x45\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3c\x56\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x44\x45\x46\x64\x26\x45\x45\x46\x64\x79\x43\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x23\x43\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x69\x30\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x2a\x68\x74\x41\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x34\x45\x46\x64\x79\x44\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x55\x51\x63\x4b\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x47\x25\x5f\x71\x38\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x45\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x47\x26\x4c\x2b\x42\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x45\x46\x64\x23\x37\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x44\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x48\x45\x46\x64\x26\x38\x45\x46\x64\x79\x42\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x47\x42\x59\x74\x4f\x41\x54\x6c\x26\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x48\x59\x5e\x7d\x39\x47\x25\x7a\x65\x36\x46\x2a\x21\x46\x5a\x41\x54\x7d\x7b\x39\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x35\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x47\x53\x35\x47\x42\x50\x6b\x4d\x41\x54\x6c\x73\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x47\x42\x59\x24\x52\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x46\x2a\x68\x28\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x48\x5a\x3f\x33\x44\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x75\x3e\x41\x41\x55\x50\x7d\x60\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x45\x48\x21\x4c\x37\x41\x48\x21\x26\x3c\x41\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x28\x55\x41\x54\x76\x32\x45\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x44\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4e\x45\x46\x64\x23\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x48\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x35\x48\x23\x6a\x55\x48\x47\x42\x59\x77\x50\x41\x55\x51\x45\x43\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x7b\x4a\x45\x46\x64\x26\x36\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x49\x35\x23\x58\x48\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x41\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x48\x47\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x48\x37\x70\x3d\x39\x47\x64\x56\x30\x45\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x43\x49\x56\x3e\x50\x43\x48\x21\x26\x3c\x41\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x46\x2a\x47\x2b\x55\x41\x54\x63\x76\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x68\x2b\x52\x41\x54\x6c\x76\x44\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x6e\x33\x45\x46\x2a\x37\x6b\x4e\x41\x54\x3e\x35\x44\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x23\x52\x49\x46\x47\x63\x71\x68\x37\x46\x2a\x7a\x5f\x53\x41\x54\x63\x26\x49\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x55\x51\x4e\x46\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x49\x34\x6d\x47\x42\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x26\x3c\x41\x47\x42\x47\x71\x50\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x63\x71\x68\x37\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x49\x35\x49\x33\x43\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x39\x48\x21\x4c\x37\x48\x45\x46\x64\x26\x45\x45\x46\x64\x2a\x33\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x46\x67\x59\x77\x42\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x7a\x6e\x38\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x46\x2a\x21\x30\x55\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x28\x54\x41\x55\x51\x48\x44\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x46\x29\x53\x63\x34\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x43\x33\x3f\x44\x47\x42\x47\x6e\x4f\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x46\x29\x3d\x74\x53\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x26\x6e\x33\x45\x48\x61\x52\x52\x48\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x73\x42\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x6d\x2b\x41\x47\x42\x50\x24\x53\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x47\x41\x74\x6c\x36\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x33\x41\x54\x7e\x4b\x48\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x47\x62\x7c\x75\x36\x46\x66\x75\x47\x34\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x73\x49\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6e\x51\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x48\x47\x41\x54\x75\x26\x37\x41\x54\x63\x70\x43\x45\x46\x64\x3b\x39\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x75\x7b\x43\x41\x54\x63\x70\x46\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x46\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x6e\x4e\x41\x54\x63\x2a\x4c\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x48\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x46\x2a\x59\x6e\x39\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x47\x63\x2b\x74\x39\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x35\x46\x67\x50\x71\x41\x49\x35\x73\x52\x47\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x77\x53\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x23\x43\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x47\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x29\x7d\x50\x35\x49\x58\x35\x67\x49\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3e\x38\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x74\x50\x41\x54\x75\x2a\x38\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x46\x2a\x47\x3f\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x2a\x46\x45\x46\x64\x7b\x44\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x35\x43\x41\x54\x63\x76\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x43\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x38\x4c\x7a\x39\x49\x35\x6a\x4c\x46\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x49\x45\x46\x64\x23\x41\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x46\x29\x25\x44\x33\x46\x2a\x68\x5f\x55\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x77\x50\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x39\x49\x34\x6d\x47\x42\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x2a\x37\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x47\x42\x47\x71\x50\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x2a\x44\x45\x46\x64\x23\x36\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x52\x49\x46\x47\x42\x71\x2b\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x36\x47\x42\x37\x4d\x34\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x41\x48\x37\x70\x3d\x38\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x42\x45\x41\x54\x63\x79\x42\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x39\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x47\x63\x71\x68\x37\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7a\x50\x41\x54\x6c\x7b\x44\x41\x54\x63\x79\x49\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x2a\x5a\x33\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x66\x7d\x59\x37\x48\x61\x49\x4c\x47\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x5f\x7a\x41\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x29\x7d\x50\x35\x47\x64\x4c\x5f\x44\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x71\x4f\x41\x54\x63\x3e\x48\x45\x46\x64\x2a\x44\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x43\x47\x25\x4f\x25\x37\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x48\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x45\x46\x66\x31\x54\x33\x47\x43\x33\x3f\x44\x46\x2a\x68\x3c\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x59\x28\x52\x41\x54\x63\x76\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x49\x49\x34\x6d\x47\x47\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x46\x2a\x71\x7a\x42\x46\x29\x53\x63\x35\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x38\x48\x21\x4c\x37\x43\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x28\x55\x41\x54\x75\x2a\x38\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x47\x64\x56\x30\x45\x48\x23\x73\x61\x49\x47\x42\x37\x6e\x50\x41\x54\x63\x73\x41\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x37\x46\x29\x3d\x4a\x34\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x46\x66\x25\x4d\x35\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x46\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x36\x59\x41\x54\x63\x26\x39\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x71\x5f\x54\x41\x54\x63\x6d\x44\x45\x46\x64\x3b\x39\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x46\x29\x3d\x4a\x34\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x49\x58\x35\x67\x49\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x43\x46\x66\x63\x34\x32\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x37\x56\x36\x46\x29\x3d\x6b\x50\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x23\x73\x61\x49\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x34\x6d\x47\x44\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x26\x37\x41\x55\x51\x54\x48\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x25\x2b\x6b\x37\x47\x64\x33\x28\x42\x46\x2a\x50\x3f\x56\x41\x54\x63\x70\x43\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x68\x4d\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x24\x54\x41\x54\x3e\x35\x44\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x2a\x47\x62\x37\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x47\x42\x37\x59\x4b\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x37\x6e\x50\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x24\x53\x41\x55\x51\x4e\x46\x41\x55\x38\x4b\x47\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x41\x46\x66\x31\x54\x39\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x47\x43\x33\x3f\x44\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x39\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x47\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x50\x74\x4f\x41\x54\x63\x79\x44\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x69\x30\x58\x41\x54\x63\x76\x47\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x37\x45\x46\x64\x2a\x43\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x77\x39\x46\x47\x42\x37\x77\x53\x41\x55\x38\x35\x42\x41\x54\x3d\x7e\x42\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x43\x33\x3f\x44\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x35\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x7b\x6a\x4a\x47\x63\x59\x56\x35\x47\x42\x69\x30\x58\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x41\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x38\x47\x26\x4c\x2b\x42\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x49\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x36\x49\x56\x3e\x50\x44\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x35\x48\x23\x52\x49\x46\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x38\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x44\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x41\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x5f\x55\x41\x54\x7e\x45\x46\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x36\x47\x25\x4f\x25\x37\x48\x38\x64\x3c\x42\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x49\x35\x61\x46\x45\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x48\x46\x66\x31\x54\x33\x46\x66\x31\x54\x34\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x7a\x77\x41\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x46\x29\x3d\x71\x52\x41\x54\x63\x73\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x28\x54\x41\x54\x25\x3b\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x47\x25\x4f\x25\x38\x46\x2a\x71\x7a\x42\x46\x2a\x72\x43\x5a\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x5f\x54\x41\x54\x63\x76\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x44\x48\x37\x70\x3d\x38\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x47\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x46\x48\x37\x70\x3d\x38\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x49\x58\x4e\x73\x4b\x47\x26\x4c\x2b\x42\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x5a\x33\x59\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x48\x61\x30\x39\x45\x47\x42\x50\x77\x51\x41\x54\x6c\x26\x48\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x39\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x6d\x2b\x41\x47\x42\x50\x59\x36\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x41\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x42\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x46\x2a\x59\x6e\x39\x47\x42\x68\x3f\x55\x41\x54\x6c\x23\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x36\x59\x41\x54\x75\x23\x36\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x49\x56\x3e\x50\x49\x49\x34\x6d\x47\x42\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x26\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x76\x48\x45\x46\x64\x26\x38\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x43\x5a\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x46\x45\x46\x64\x76\x36\x46\x66\x31\x54\x35\x47\x25\x4f\x25\x37\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x6b\x51\x41\x54\x75\x3e\x41\x41\x54\x63\x76\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x23\x43\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x39\x47\x26\x6e\x33\x45\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x44\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x48\x48\x21\x4c\x37\x42\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x57\x4a\x41\x55\x38\x42\x44\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x66\x31\x54\x33\x46\x66\x25\x4d\x35\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6b\x50\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x3c\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6b\x51\x41\x54\x6c\x79\x36\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x26\x77\x39\x46\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x37\x45\x46\x64\x23\x43\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x70\x46\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x42\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x6e\x4e\x41\x54\x63\x3b\x48\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x39\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x61\x39\x46\x46\x48\x61\x49\x4c\x47\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x48\x5a\x26\x7c\x43\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x48\x46\x29\x53\x63\x34\x46\x67\x37\x65\x38\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x26\x33\x77\x39\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x7a\x28\x43\x47\x64\x4c\x5f\x44\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x72\x36\x58\x41\x55\x38\x32\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x29\x53\x63\x41\x48\x59\x5e\x7d\x39\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x47\x53\x35\x46\x2a\x47\x7a\x52\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x29\x3d\x65\x4e\x41\x54\x63\x76\x41\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x39\x47\x63\x71\x68\x37\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x46\x29\x3d\x4a\x34\x46\x29\x25\x62\x4e\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x7b\x4a\x45\x46\x64\x23\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6b\x4e\x41\x54\x75\x2a\x38\x41\x54\x75\x23\x36\x41\x54\x25\x2a\x37\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x29\x7d\x77\x53\x41\x54\x63\x3b\x4b\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x46\x2a\x7a\x5f\x53\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x3c\x52\x41\x54\x63\x76\x45\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x39\x46\x46\x46\x29\x7d\x24\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x37\x46\x67\x47\x6b\x39\x46\x2a\x5a\x33\x59\x41\x54\x63\x26\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x28\x36\x45\x47\x63\x68\x62\x36\x47\x64\x33\x28\x42\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x33\x58\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x68\x4f\x41\x54\x63\x73\x39\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x3c\x56\x41\x54\x63\x70\x46\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x46\x29\x25\x44\x33\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x25\x7a\x65\x36\x48\x38\x43\x74\x38\x47\x42\x71\x24\x50\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x29\x3d\x74\x53\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x47\x42\x37\x62\x4c\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x47\x42\x71\x28\x51\x41\x54\x63\x3e\x4c\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x42\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x46\x2a\x72\x39\x59\x41\x55\x48\x42\x43\x41\x54\x54\x54\x2d\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x45\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x49\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x29\x7d\x7a\x54\x41\x54\x25\x2a\x37\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4b\x45\x46\x64\x26\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x24\x54\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x6b\x4e\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x34\x46\x29\x53\x63\x38\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x68\x28\x51\x41\x54\x63\x79\x43\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x39\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x64\x3c\x42\x46\x2a\x71\x3c\x52\x41\x54\x6c\x3b\x41\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x33\x47\x26\x33\x77\x39\x47\x42\x71\x2b\x52\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x3c\x52\x41\x54\x6c\x76\x42\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x46\x2a\x50\x68\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x47\x42\x68\x7c\x57\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x47\x42\x7a\x77\x41\x48\x38\x64\x3c\x42\x48\x61\x30\x39\x45\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x47\x42\x71\x28\x51\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x43\x47\x41\x74\x6c\x35\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x71\x50\x41\x54\x63\x79\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x29\x7d\x50\x35\x47\x42\x59\x3c\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x46\x2a\x68\x7c\x56\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x37\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x47\x42\x50\x7a\x52\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x71\x68\x37\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x46\x66\x31\x54\x34\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x35\x41\x41\x54\x75\x79\x35\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x55\x28\x41\x47\x42\x71\x3f\x54\x41\x54\x75\x6c\x3d\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x43\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x2b\x55\x41\x54\x63\x76\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x3f\x54\x41\x54\x6c\x76\x39\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x59\x74\x4f\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x71\x68\x37\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x6a\x4c\x46\x46\x29\x7d\x62\x4c\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x37\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x37\x56\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x37\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x65\x4e\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x5f\x54\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x7e\x38\x44\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x42\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x5e\x41\x41\x54\x75\x2a\x38\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x45\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x38\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x55\x3f\x43\x46\x2a\x71\x7a\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x48\x49\x34\x6d\x47\x42\x48\x21\x76\x28\x39\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x23\x30\x30\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x26\x46\x45\x46\x64\x3e\x39\x45\x46\x64\x72\x7d\x41\x55\x51\x57\x49\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x47\x63\x2b\x74\x39\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x33\x28\x42\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x68\x6b\x38\x46\x2a\x50\x77\x50\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x48\x23\x73\x61\x49\x49\x57\x23\x4f\x46\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x45\x45\x46\x64\x23\x42\x45\x46\x64\x26\x32\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x49\x34\x7e\x3f\x41\x47\x42\x47\x65\x4c\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x47\x63\x68\x62\x36\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x2a\x37\x56\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x56\x30\x45\x46\x29\x25\x59\x4d\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x47\x43\x33\x3f\x44\x47\x25\x7a\x65\x36\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x7a\x77\x41\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x46\x66\x7d\x59\x37\x47\x42\x68\x28\x52\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x7a\x28\x43\x46\x2a\x47\x2b\x55\x41\x55\x38\x48\x46\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x46\x29\x25\x65\x4f\x41\x54\x63\x70\x34\x41\x54\x25\x72\x3e\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x5f\x54\x41\x54\x63\x26\x46\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x46\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x36\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x24\x54\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x42\x5f\x2b\x43\x47\x64\x56\x30\x45\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x38\x44\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x46\x66\x63\x34\x32\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x47\x42\x68\x7a\x50\x41\x55\x48\x35\x41\x41\x54\x63\x70\x42\x45\x46\x64\x26\x32\x41\x54\x63\x6d\x33\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x4c\x5f\x44\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x46\x29\x53\x63\x34\x49\x57\x73\x49\x45\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x46\x2a\x37\x56\x36\x48\x23\x49\x43\x45\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x45\x46\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x2b\x54\x41\x54\x75\x7b\x43\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x46\x66\x7d\x59\x37\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x56\x30\x45\x49\x58\x35\x67\x49\x48\x5a\x3f\x33\x44\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x59\x28\x52\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x46\x29\x53\x63\x38\x47\x62\x7c\x75\x36\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x45\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x47\x42\x37\x4d\x34\x47\x42\x50\x74\x50\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x39\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x47\x42\x37\x4d\x34\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x47\x26\x77\x39\x46\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x23\x43\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x3e\x5f\x42\x46\x2a\x21\x36\x57\x41\x54\x3d\x5e\x39\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x34\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x36\x41\x55\x38\x35\x42\x41\x54\x63\x79\x45\x45\x46\x64\x76\x37\x46\x66\x31\x54\x39\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x6d\x2b\x41\x47\x43\x33\x3f\x44\x46\x2a\x72\x36\x58\x41\x54\x6c\x73\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x47\x42\x59\x3f\x56\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x46\x2a\x59\x3c\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x36\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x45\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x47\x42\x71\x2b\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x47\x42\x68\x7a\x50\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x48\x23\x6a\x55\x48\x46\x29\x3d\x74\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x39\x46\x29\x53\x63\x38\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x47\x43\x33\x3f\x44\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3f\x55\x41\x55\x37\x7e\x39\x41\x54\x6c\x73\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x28\x53\x41\x54\x75\x5e\x42\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x55\x37\x7e\x39\x41\x54\x63\x73\x46\x45\x46\x64\x79\x42\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x45\x45\x46\x64\x23\x42\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x68\x28\x52\x41\x54\x63\x26\x39\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x47\x42\x50\x24\x53\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x3c\x52\x41\x54\x6c\x76\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x3f\x56\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x39\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x58\x4e\x73\x4b\x47\x42\x47\x6e\x4f\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x47\x42\x37\x7a\x54\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x46\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x45\x45\x46\x64\x23\x44\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x43\x74\x38\x46\x2a\x69\x30\x57\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x35\x41\x41\x55\x38\x48\x46\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x50\x68\x38\x46\x29\x25\x59\x4d\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x46\x2a\x59\x6e\x39\x49\x57\x3b\x55\x47\x47\x42\x47\x6e\x4f\x41\x54\x7e\x38\x44\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x46\x2a\x71\x5f\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x77\x30\x44\x47\x42\x47\x53\x35\x46\x29\x25\x6e\x52\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x23\x44\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x37\x49\x57\x73\x49\x45\x46\x29\x3d\x77\x54\x41\x54\x63\x23\x45\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x47\x63\x2b\x74\x39\x47\x26\x77\x39\x46\x47\x25\x5f\x71\x38\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x73\x49\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x25\x5f\x71\x38\x47\x42\x59\x3c\x55\x41\x54\x63\x23\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x69\x30\x58\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x47\x64\x33\x28\x42\x46\x29\x3d\x65\x4e\x41\x54\x63\x70\x44\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6b\x4e\x41\x54\x25\x7b\x42\x41\x54\x75\x79\x35\x41\x54\x6c\x5e\x43\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x46\x29\x7d\x62\x4c\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x62\x7c\x75\x37\x46\x2a\x71\x7a\x42\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x7b\x44\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x33\x6e\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x46\x29\x3d\x71\x52\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x21\x39\x58\x41\x54\x63\x79\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x64\x4c\x5f\x44\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x48\x48\x37\x70\x3d\x39\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x47\x42\x50\x3c\x56\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x33\x28\x42\x46\x29\x3d\x71\x52\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x47\x26\x4c\x2b\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x71\x71\x39\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x48\x37\x70\x3d\x38\x48\x61\x39\x46\x46\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x66\x31\x54\x35\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x63\x2b\x74\x39\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x46\x29\x3d\x4a\x34\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x56\x30\x45\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x5f\x7a\x41\x47\x64\x56\x30\x45\x47\x26\x43\x24\x41\x47\x42\x7a\x77\x41\x47\x42\x50\x71\x4f\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x43\x24\x41\x46\x2a\x72\x39\x59\x41\x55\x51\x57\x49\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x72\x30\x56\x41\x55\x51\x63\x4b\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4a\x45\x46\x64\x23\x41\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x6e\x4e\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x57\x23\x4f\x46\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x46\x2a\x5a\x30\x58\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x47\x63\x5f\x7a\x41\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x46\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x35\x43\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x47\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x47\x63\x71\x68\x37\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7a\x50\x41\x54\x6c\x5e\x43\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x62\x7c\x75\x36\x49\x58\x4e\x73\x4b\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x47\x26\x6e\x33\x45\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x42\x46\x29\x53\x63\x34\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x68\x50\x41\x54\x63\x73\x45\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x61\x39\x46\x46\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x44\x45\x46\x64\x23\x39\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x39\x46\x46\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x36\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3e\x32\x43\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x24\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x50\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x5a\x3f\x33\x44\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x34\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x63\x71\x68\x37\x49\x35\x49\x33\x43\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x28\x54\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x41\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x21\x26\x3c\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x36\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x7b\x41\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3b\x38\x41\x54\x63\x23\x43\x45\x46\x64\x26\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x49\x34\x7e\x3f\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x48\x21\x26\x3c\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x2a\x59\x28\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x38\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x38\x42\x41\x55\x38\x42\x44\x41\x54\x63\x76\x42\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x48\x21\x26\x3c\x41\x46\x2a\x21\x49\x61\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x47\x26\x33\x77\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x23\x52\x49\x46\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x38\x46\x66\x31\x54\x33\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x68\x50\x41\x54\x75\x3b\x39\x41\x54\x63\x2a\x4c\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x46\x66\x75\x47\x34\x46\x29\x7d\x6e\x50\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x46\x5a\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x55\x51\x4b\x45\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x37\x46\x66\x31\x54\x37\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x77\x52\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x46\x2a\x47\x24\x53\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x55\x37\x7e\x39\x41\x54\x75\x3e\x41\x41\x54\x6c\x66\x3c\x48\x38\x4c\x7a\x39\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x47\x62\x7c\x75\x37\x48\x37\x70\x3d\x39\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x68\x7c\x57\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x48\x61\x30\x39\x45\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x55\x51\x54\x48\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x45\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x42\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x49\x34\x6d\x47\x43\x47\x42\x50\x59\x36\x47\x42\x59\x3f\x56\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x46\x46\x29\x53\x63\x42\x49\x56\x3e\x50\x43\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x76\x32\x45\x41\x54\x3e\x32\x43\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x47\x64\x56\x30\x45\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x48\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x47\x25\x7a\x65\x36\x46\x2a\x47\x3c\x56\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x26\x3c\x41\x47\x42\x47\x6e\x4f\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x76\x32\x45\x41\x54\x3d\x3e\x38\x41\x54\x26\x38\x46\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x71\x68\x37\x46\x29\x3d\x71\x52\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x4a\x45\x46\x64\x7b\x4a\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x37\x56\x36\x48\x61\x49\x4c\x47\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x23\x38\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x35\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x47\x6e\x4f\x41\x54\x63\x79\x44\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x29\x7d\x50\x35\x47\x42\x59\x24\x52\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x48\x61\x30\x39\x45\x46\x29\x3d\x4a\x34\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x3f\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x4b\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x47\x42\x71\x3f\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x71\x68\x37\x46\x29\x25\x65\x4f\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x35\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x42\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x35\x23\x58\x48\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x21\x76\x28\x39\x47\x42\x68\x3c\x54\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x47\x42\x68\x6b\x38\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x68\x6b\x38\x46\x2a\x21\x33\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x63\x59\x56\x35\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x47\x42\x37\x7a\x54\x41\x54\x75\x26\x37\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x34\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x26\x4c\x2b\x42\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4c\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x47\x45\x46\x64\x76\x43\x45\x46\x64\x5e\x36\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x44\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x46\x2a\x71\x7a\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x44\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x7a\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x26\x36\x45\x46\x64\x79\x43\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x47\x42\x50\x74\x50\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x47\x42\x37\x62\x4c\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x46\x2a\x68\x28\x51\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x37\x70\x3d\x38\x46\x29\x7d\x50\x35\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x36\x59\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x56\x30\x45\x46\x29\x3d\x68\x4f\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x6e\x50\x41\x54\x63\x3e\x4b\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x47\x42\x50\x7a\x52\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x3c\x52\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x66\x31\x54\x33\x47\x63\x7a\x6e\x38\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x37\x46\x29\x7d\x50\x35\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x42\x5f\x2b\x43\x47\x42\x37\x62\x4c\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x48\x61\x49\x4c\x47\x46\x2a\x68\x74\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x3c\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x68\x4e\x41\x54\x63\x73\x41\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x48\x38\x55\x28\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x36\x41\x54\x7e\x4b\x48\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x48\x38\x6d\x5f\x43\x46\x2a\x71\x7c\x55\x41\x54\x63\x70\x34\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x46\x5a\x41\x54\x75\x3e\x41\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x71\x53\x41\x54\x63\x26\x39\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x45\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x46\x66\x7d\x59\x37\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x71\x71\x39\x47\x42\x50\x77\x51\x41\x54\x6c\x73\x39\x45\x46\x64\x26\x36\x45\x46\x64\x23\x35\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x44\x48\x37\x70\x3d\x38\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x21\x3e\x5f\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x35\x48\x23\x52\x49\x46\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x23\x42\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x39\x47\x25\x4f\x25\x38\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x26\x37\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x37\x71\x50\x41\x54\x6c\x79\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x6d\x2b\x41\x47\x42\x47\x53\x35\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x49\x57\x23\x4f\x46\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x47\x42\x50\x59\x36\x48\x23\x39\x36\x44\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x77\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x5e\x42\x41\x54\x75\x7e\x44\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x46\x29\x7d\x6e\x50\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x47\x25\x4f\x25\x38\x47\x42\x50\x59\x36\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x2a\x39\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x44\x46\x66\x31\x54\x42\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x76\x4a\x45\x46\x64\x23\x39\x45\x46\x64\x76\x38\x46\x66\x31\x54\x39\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x21\x30\x55\x41\x54\x63\x76\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x69\x30\x58\x41\x54\x63\x76\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x4b\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x44\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x37\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x76\x28\x39\x46\x2a\x71\x7c\x55\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x66\x31\x54\x34\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x54\x49\x41\x55\x38\x48\x46\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x66\x31\x54\x33\x46\x66\x63\x34\x32\x46\x2a\x50\x28\x53\x41\x55\x48\x38\x42\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x34\x46\x66\x31\x54\x39\x49\x34\x6d\x47\x43\x47\x42\x71\x71\x39\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x43\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x49\x45\x46\x64\x23\x41\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x23\x49\x43\x45\x47\x42\x59\x7a\x51\x41\x54\x63\x6d\x33\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x62\x7c\x75\x36\x47\x64\x33\x28\x42\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x4b\x48\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x65\x4f\x41\x54\x63\x26\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x46\x29\x7d\x50\x35\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x46\x2a\x71\x3c\x52\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x46\x2a\x59\x3c\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x48\x61\x52\x52\x48\x47\x42\x37\x4d\x34\x46\x2a\x50\x68\x38\x46\x29\x7d\x68\x4e\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x66\x25\x4d\x35\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x48\x23\x49\x43\x45\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x23\x37\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x46\x2a\x37\x56\x36\x47\x42\x47\x24\x54\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x63\x59\x56\x35\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x59\x71\x4e\x41\x54\x63\x26\x49\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x46\x2a\x69\x30\x57\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x68\x6b\x38\x46\x2a\x50\x77\x50\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x49\x33\x43\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x47\x42\x47\x28\x55\x41\x55\x38\x48\x46\x41\x54\x75\x7b\x43\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x48\x21\x26\x3c\x41\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x57\x3b\x55\x47\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x48\x61\x49\x4c\x47\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x23\x39\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x21\x3e\x5f\x42\x46\x2a\x59\x2b\x53\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7e\x43\x41\x54\x63\x23\x44\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x71\x7a\x42\x47\x42\x50\x2b\x55\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x5f\x57\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x46\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x42\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x45\x49\x34\x6d\x47\x42\x48\x21\x76\x28\x39\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x64\x3c\x42\x46\x2a\x68\x28\x51\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x36\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x43\x33\x3f\x44\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x38\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x79\x36\x41\x54\x63\x79\x43\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x46\x47\x41\x74\x6c\x36\x48\x38\x33\x6e\x37\x46\x2a\x37\x7a\x53\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x44\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x5a\x64\x24\x39\x48\x23\x30\x30\x43\x46\x2a\x37\x7a\x53\x41\x55\x48\x4e\x47\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x25\x5f\x71\x38\x46\x2a\x71\x7c\x55\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x28\x36\x45\x46\x2a\x59\x6e\x39\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x26\x33\x77\x39\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x29\x7d\x50\x35\x47\x64\x56\x30\x45\x49\x58\x4e\x73\x4b\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x37\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x44\x47\x42\x71\x71\x39\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x47\x42\x47\x24\x54\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x66\x31\x54\x33\x47\x63\x7a\x6e\x38\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x44\x47\x41\x74\x6c\x35\x49\x35\x6a\x4c\x46\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x48\x38\x64\x3c\x42\x47\x42\x50\x28\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x47\x46\x29\x53\x63\x37\x47\x62\x7c\x75\x36\x47\x25\x5f\x71\x38\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x2a\x47\x62\x37\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x39\x49\x34\x6d\x47\x42\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x4b\x48\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x34\x47\x64\x4c\x5f\x44\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x7b\x49\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x42\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x41\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x44\x46\x66\x31\x54\x33\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x47\x25\x2b\x6b\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x45\x46\x66\x31\x54\x37\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x59\x28\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x47\x64\x43\x3c\x43\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x47\x42\x7a\x77\x41\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x63\x59\x56\x35\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x47\x42\x68\x28\x52\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x4c\x62\x41\x54\x75\x7e\x44\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x47\x42\x50\x3c\x56\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x7e\x48\x47\x41\x54\x54\x54\x2d\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x30\x57\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x68\x4f\x41\x54\x75\x7e\x44\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x63\x3e\x50\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x46\x2a\x69\x36\x59\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x3f\x56\x41\x54\x63\x73\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x41\x48\x37\x70\x3d\x38\x47\x63\x59\x56\x35\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x42\x5f\x2b\x43\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x42\x37\x4d\x34\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x74\x52\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x44\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x26\x43\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x63\x68\x62\x36\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3e\x38\x41\x54\x6c\x26\x4a\x45\x46\x64\x5e\x36\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x36\x57\x41\x54\x75\x3e\x41\x41\x54\x63\x73\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x5f\x54\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x38\x44\x41\x54\x76\x32\x45\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x3e\x41\x41\x54\x75\x2a\x38\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x46\x29\x7d\x68\x4e\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x3b\x38\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x48\x38\x33\x6e\x37\x49\x34\x7e\x3f\x41\x46\x29\x3d\x6b\x50\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x74\x50\x41\x54\x63\x70\x42\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x30\x56\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x36\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x21\x4c\x37\x49\x48\x59\x5e\x7d\x46\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x3f\x54\x41\x54\x63\x76\x46\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x49\x35\x23\x58\x48\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x4b\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x68\x4d\x41\x54\x75\x2a\x38\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4e\x45\x46\x64\x23\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x6e\x4e\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x65\x4c\x41\x54\x3e\x42\x46\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x7b\x4b\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x74\x51\x41\x54\x76\x32\x45\x41\x54\x63\x70\x34\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x73\x44\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x41\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x7a\x53\x41\x54\x63\x2a\x4d\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x61\x39\x46\x46\x48\x21\x76\x28\x39\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x39\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x44\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x21\x33\x56\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x73\x49\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x38\x49\x34\x6d\x47\x45\x47\x62\x7c\x75\x36\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x26\x41\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x61\x52\x52\x48\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x43\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x33\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x43\x33\x3f\x44\x47\x63\x5f\x7a\x41\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x5e\x43\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x49\x61\x41\x54\x25\x3b\x38\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x3c\x52\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x4b\x48\x41\x54\x75\x3b\x39\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x7e\x44\x41\x54\x63\x73\x39\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x70\x46\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x77\x52\x41\x54\x63\x3b\x47\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x37\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x2b\x53\x41\x55\x38\x32\x41\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x7a\x28\x43\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x46\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x46\x66\x75\x47\x34\x47\x42\x47\x77\x52\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x70\x47\x45\x46\x64\x2a\x39\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x77\x39\x46\x47\x42\x47\x6b\x4e\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x7e\x44\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x2b\x6b\x37\x46\x2a\x50\x74\x4f\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x49\x35\x52\x39\x44\x46\x2a\x59\x6e\x39\x47\x63\x2b\x74\x39\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x41\x49\x34\x6d\x47\x43\x47\x26\x64\x7c\x44\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x66\x31\x54\x35\x48\x21\x4c\x37\x42\x48\x38\x4c\x7a\x39\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x46\x66\x63\x34\x32\x49\x35\x6a\x4c\x46\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x2b\x74\x39\x47\x42\x50\x24\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x37\x56\x36\x47\x63\x5f\x7a\x41\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x24\x52\x41\x54\x63\x26\x39\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x43\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x47\x43\x33\x3f\x44\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7a\x50\x41\x54\x6c\x79\x36\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x2a\x21\x4c\x62\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x47\x64\x43\x3c\x43\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x48\x5a\x76\x3f\x42\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x35\x45\x41\x54\x63\x73\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6b\x4e\x41\x54\x75\x7b\x43\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x48\x38\x55\x28\x41\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x2a\x4d\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x7d\x50\x35\x47\x42\x7a\x77\x41\x47\x42\x71\x3f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x59\x5e\x7d\x39\x48\x5a\x3f\x33\x44\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x3d\x77\x54\x41\x54\x3d\x3e\x38\x41\x55\x48\x4e\x47\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x47\x63\x7a\x6e\x38\x48\x5a\x55\x77\x38\x47\x42\x2b\x24\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x42\x49\x34\x6d\x47\x43\x46\x66\x75\x47\x34\x46\x2a\x71\x3c\x52\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x2a\x50\x68\x38\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x41\x45\x46\x64\x23\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x66\x31\x54\x33\x47\x63\x59\x56\x35\x47\x42\x47\x7a\x53\x41\x54\x25\x7b\x42\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x47\x24\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x47\x42\x71\x5f\x55\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x50\x3c\x56\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x71\x52\x41\x54\x75\x7e\x44\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x47\x25\x5f\x71\x38\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x49\x35\x61\x46\x45\x46\x2a\x50\x68\x38\x48\x61\x30\x39\x45\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x71\x50\x41\x54\x6c\x79\x44\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x46\x2a\x72\x39\x59\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x26\x46\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x21\x76\x28\x39\x46\x29\x3d\x65\x4e\x41\x54\x63\x3b\x42\x41\x54\x3e\x45\x47\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x47\x64\x33\x28\x42\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x59\x2b\x53\x41\x54\x63\x2a\x4c\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x42\x59\x65\x37\x47\x42\x50\x74\x50\x41\x54\x63\x26\x49\x45\x46\x64\x76\x43\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x46\x29\x25\x6e\x52\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x74\x50\x41\x54\x75\x3b\x39\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x46\x2a\x21\x4c\x62\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x46\x2a\x68\x3c\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x46\x29\x7d\x50\x35\x47\x42\x7a\x77\x41\x47\x64\x4c\x5f\x44\x46\x29\x3d\x77\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x70\x47\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x47\x42\x50\x3c\x56\x41\x54\x75\x2a\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x47\x25\x4f\x25\x37\x47\x64\x4c\x5f\x44\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x56\x4c\x41\x54\x63\x26\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x24\x54\x41\x54\x63\x70\x41\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x42\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x21\x33\x56\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x28\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x42\x45\x46\x64\x2a\x38\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x23\x38\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x42\x46\x2a\x59\x6e\x39\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x43\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x6e\x4f\x41\x54\x63\x70\x47\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x46\x29\x25\x65\x4f\x41\x54\x63\x76\x48\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6e\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x77\x30\x44\x47\x63\x68\x62\x36\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x26\x33\x77\x39\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x48\x21\x4c\x37\x43\x49\x34\x6d\x47\x47\x46\x29\x53\x63\x35\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x45\x46\x41\x54\x63\x79\x44\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x34\x47\x43\x33\x3f\x44\x46\x2a\x72\x39\x59\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x2b\x74\x39\x46\x2a\x47\x3f\x57\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x63\x7a\x6e\x38\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x43\x3c\x43\x49\x58\x35\x67\x49\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x46\x29\x53\x63\x34\x49\x57\x73\x49\x45\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x43\x48\x21\x4c\x37\x43\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x29\x7d\x24\x55\x41\x54\x25\x2a\x37\x41\x54\x25\x72\x3e\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x5f\x7a\x41\x46\x2a\x47\x2b\x55\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x46\x67\x59\x77\x42\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x5f\x7a\x41\x49\x58\x45\x6d\x4a\x49\x57\x3b\x55\x47\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x29\x7d\x50\x35\x46\x29\x53\x63\x35\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x28\x51\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x43\x3c\x43\x48\x61\x49\x4c\x47\x47\x42\x59\x28\x53\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7c\x57\x41\x54\x7e\x38\x44\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x36\x57\x41\x54\x75\x26\x37\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x46\x29\x3d\x56\x4b\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x49\x34\x6d\x47\x44\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x47\x42\x71\x3f\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x49\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x6e\x4f\x41\x54\x25\x2a\x37\x41\x54\x25\x26\x36\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x6e\x4e\x41\x54\x75\x5e\x42\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x46\x2a\x50\x74\x4f\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x39\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x46\x29\x3d\x65\x4e\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4b\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x34\x7e\x3f\x41\x48\x23\x49\x43\x45\x46\x2a\x50\x74\x4f\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x41\x49\x34\x6d\x47\x43\x47\x26\x64\x7c\x44\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x2a\x68\x74\x41\x47\x42\x71\x24\x50\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x3c\x56\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x58\x4e\x73\x4b\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x2b\x74\x39\x47\x26\x77\x39\x46\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x46\x66\x31\x54\x33\x49\x57\x3b\x55\x47\x47\x42\x71\x3c\x53\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x49\x34\x6d\x47\x43\x48\x37\x70\x3d\x38\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x2a\x37\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x38\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x62\x4d\x41\x54\x63\x23\x43\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x4c\x2b\x42\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x24\x55\x41\x54\x63\x6d\x38\x45\x46\x64\x2a\x33\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x47\x42\x47\x6b\x4e\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x2a\x38\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x58\x4e\x73\x4b\x48\x38\x33\x6e\x37\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x66\x7d\x59\x37\x48\x21\x4c\x37\x43\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x6b\x4e\x41\x54\x63\x70\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x29\x53\x63\x34\x47\x43\x33\x3f\x44\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x46\x2a\x59\x6e\x39\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x46\x2a\x5a\x30\x58\x41\x54\x6c\x23\x42\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x48\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x39\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x43\x46\x66\x3d\x53\x36\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x72\x36\x58\x41\x54\x6c\x73\x34\x41\x54\x63\x73\x48\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x41\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x46\x2a\x47\x62\x37\x49\x35\x23\x58\x48\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x48\x47\x41\x54\x63\x73\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x47\x63\x5f\x7a\x41\x46\x2a\x37\x68\x4d\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x48\x5a\x55\x77\x38\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x55\x51\x5a\x4a\x41\x54\x75\x3e\x41\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x75\x5e\x42\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x47\x42\x2b\x24\x42\x46\x2a\x7a\x28\x43\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x36\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x5a\x6d\x2b\x41\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x47\x42\x37\x77\x53\x41\x55\x38\x4b\x47\x41\x54\x25\x2a\x37\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x46\x29\x7d\x62\x4c\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x46\x2a\x47\x3f\x57\x41\x54\x63\x76\x44\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x2a\x44\x45\x46\x64\x3b\x48\x45\x46\x64\x23\x37\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x46\x2a\x7a\x7c\x54\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x73\x41\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x45\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x74\x50\x41\x54\x63\x3b\x47\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x44\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x47\x42\x59\x65\x37\x46\x2a\x37\x77\x52\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x47\x63\x5f\x7a\x41\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x49\x35\x49\x33\x43\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x43\x74\x38\x46\x29\x7d\x71\x51\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x47\x64\x43\x3c\x43\x46\x29\x25\x50\x4a\x41\x54\x63\x6d\x37\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x28\x54\x41\x54\x25\x2a\x37\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x46\x2a\x71\x3f\x53\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x3f\x56\x41\x54\x6c\x76\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x43\x48\x23\x30\x30\x43\x46\x2a\x50\x77\x50\x41\x54\x26\x35\x45\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x42\x37\x59\x4b\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x46\x2a\x68\x3f\x54\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x37\x70\x3d\x41\x47\x25\x4f\x25\x42\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x69\x30\x58\x41\x54\x6c\x76\x43\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x49\x34\x7e\x3f\x41\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x43\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x7a\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x48\x38\x33\x6e\x37\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x74\x53\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x65\x4f\x41\x54\x75\x79\x35\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x46\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x75\x5e\x42\x41\x54\x63\x70\x48\x45\x46\x64\x76\x35\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x73\x44\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x47\x42\x71\x71\x39\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x4a\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x68\x4d\x41\x54\x75\x26\x37\x41\x54\x75\x7b\x43\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x70\x38\x45\x46\x64\x76\x42\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x39\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x2a\x68\x2b\x52\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x4c\x5f\x44\x48\x61\x30\x39\x45\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x42\x45\x46\x64\x3e\x43\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x25\x2b\x6b\x37\x49\x57\x7b\x61\x48\x46\x2a\x68\x2b\x52\x41\x54\x54\x54\x2d\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x47\x42\x59\x3f\x56\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x47\x42\x68\x7c\x57\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x5a\x3f\x33\x44\x46\x29\x3d\x6e\x51\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x5e\x42\x41\x54\x63\x70\x43\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x30\x57\x41\x54\x63\x73\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x77\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x45\x48\x21\x4c\x37\x41\x48\x23\x49\x43\x45\x46\x29\x25\x65\x4f\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x28\x54\x41\x54\x75\x7e\x44\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x48\x5a\x6d\x2b\x41\x48\x37\x70\x3d\x39\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x46\x2a\x69\x30\x57\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x29\x7d\x50\x35\x47\x63\x5f\x7a\x41\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x46\x47\x41\x74\x6c\x35\x47\x43\x33\x3f\x44\x47\x42\x47\x74\x51\x41\x55\x48\x42\x43\x41\x54\x6c\x76\x45\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x43\x46\x29\x53\x63\x35\x47\x42\x7a\x77\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x44\x45\x46\x64\x23\x45\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x47\x42\x71\x71\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x43\x33\x3f\x44\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x37\x48\x21\x4c\x37\x42\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x71\x68\x37\x46\x29\x3d\x65\x4e\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x61\x4f\x47\x46\x29\x7d\x77\x53\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x35\x47\x42\x50\x59\x36\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x55\x38\x48\x46\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x6d\x5f\x43\x46\x2a\x59\x3f\x55\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x47\x63\x2b\x74\x39\x46\x2a\x37\x28\x55\x41\x55\x48\x38\x42\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x67\x59\x77\x42\x46\x29\x25\x71\x53\x41\x54\x6c\x3b\x41\x41\x54\x6c\x3e\x42\x41\x54\x76\x32\x45\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x63\x2b\x74\x39\x46\x29\x7d\x71\x51\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x42\x59\x65\x37\x46\x2a\x68\x5f\x55\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x47\x63\x59\x56\x35\x47\x42\x68\x6b\x38\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x45\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x37\x4d\x34\x47\x42\x37\x77\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x47\x64\x33\x28\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x5a\x3f\x33\x44\x46\x29\x3d\x68\x4f\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x7e\x44\x41\x54\x63\x70\x42\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7b\x42\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x47\x42\x59\x71\x4e\x41\x54\x75\x7b\x43\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x37\x4d\x34\x47\x42\x37\x7a\x54\x41\x54\x63\x76\x45\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x42\x5f\x2b\x43\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x3d\x77\x54\x41\x54\x26\x35\x45\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x7a\x6e\x38\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x48\x59\x5e\x7d\x41\x46\x66\x7d\x59\x37\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x79\x42\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x56\x3e\x50\x45\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x26\x36\x41\x55\x51\x54\x48\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x47\x42\x59\x65\x37\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x63\x73\x39\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x26\x77\x39\x46\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x46\x2a\x50\x68\x38\x46\x29\x3d\x77\x54\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x46\x66\x6c\x41\x33\x49\x58\x4e\x73\x4b\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x63\x68\x62\x36\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x21\x4c\x37\x41\x48\x5a\x55\x77\x38\x49\x35\x3b\x64\x49\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x48\x38\x33\x6e\x37\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x47\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x48\x39\x30\x49\x47\x46\x2a\x68\x28\x51\x41\x54\x6c\x73\x45\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x52\x52\x48\x46\x29\x3d\x71\x52\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x48\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x5e\x42\x41\x54\x63\x70\x42\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x72\x30\x56\x41\x54\x25\x26\x36\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x34\x47\x63\x71\x68\x37\x46\x2a\x59\x7c\x57\x41\x54\x63\x2a\x41\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x49\x35\x38\x7c\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x49\x58\x35\x67\x49\x48\x61\x49\x4c\x47\x47\x42\x59\x24\x52\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x46\x2a\x59\x3c\x54\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x42\x50\x59\x36\x46\x29\x3d\x62\x4d\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x26\x37\x41\x54\x75\x3e\x41\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x47\x26\x4c\x2b\x42\x46\x2a\x50\x3c\x55\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x46\x67\x37\x65\x38\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x55\x38\x48\x46\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x65\x4f\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x74\x50\x41\x54\x25\x3b\x38\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x46\x2a\x21\x30\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x23\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x42\x45\x46\x64\x7b\x4a\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x77\x39\x46\x46\x2a\x37\x74\x51\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x7e\x44\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x26\x4c\x2b\x42\x46\x29\x25\x50\x4a\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x34\x47\x25\x5f\x71\x38\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x4b\x48\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x4c\x7a\x39\x47\x42\x68\x24\x51\x41\x54\x63\x73\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x5f\x7a\x41\x46\x2a\x47\x3c\x56\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x25\x5f\x71\x38\x47\x42\x59\x74\x4f\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x47\x25\x2b\x6b\x37\x47\x42\x59\x65\x37\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x71\x51\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x26\x33\x77\x39\x46\x29\x25\x53\x4b\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x48\x38\x77\x30\x44\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x63\x68\x62\x36\x46\x2a\x71\x3c\x52\x41\x54\x63\x2a\x4e\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x49\x56\x3e\x50\x43\x49\x58\x35\x67\x49\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x73\x49\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x6d\x5f\x43\x47\x26\x4c\x2b\x42\x47\x42\x71\x3f\x54\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x68\x4f\x41\x54\x63\x70\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x28\x54\x41\x54\x63\x70\x45\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x30\x39\x45\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x44\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x55\x3f\x43\x48\x61\x39\x46\x46\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x26\x38\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x43\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x50\x74\x4f\x41\x54\x63\x79\x44\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x73\x48\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x46\x29\x53\x63\x37\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x42\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x47\x42\x71\x5f\x55\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x49\x35\x73\x52\x47\x47\x63\x59\x56\x35\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x45\x46\x64\x3e\x45\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x25\x7a\x65\x36\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x44\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x44\x46\x66\x31\x54\x33\x47\x26\x43\x24\x41\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x21\x4c\x37\x41\x46\x66\x63\x34\x32\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x42\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x47\x42\x37\x4d\x34\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x46\x2a\x21\x43\x59\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x47\x25\x2b\x6b\x37\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x43\x33\x3f\x44\x46\x2a\x37\x71\x50\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x36\x41\x54\x63\x70\x45\x45\x46\x64\x2a\x47\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x47\x42\x47\x71\x50\x41\x55\x48\x57\x4a\x41\x54\x25\x5e\x41\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x42\x2b\x24\x42\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x44\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x42\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x63\x68\x62\x36\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4b\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x46\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x47\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x2b\x55\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x69\x30\x58\x41\x54\x63\x76\x47\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x4a\x49\x56\x3e\x50\x48\x47\x25\x4f\x25\x37\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x46\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x59\x2b\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x52\x52\x48\x46\x2a\x37\x71\x50\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x42\x45\x46\x64\x23\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x30\x56\x41\x54\x63\x79\x49\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x26\x46\x45\x46\x64\x79\x39\x46\x66\x31\x54\x38\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x4c\x7a\x39\x46\x29\x7d\x71\x51\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x46\x29\x3d\x71\x52\x41\x54\x6c\x3b\x41\x41\x54\x75\x26\x37\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x64\x7c\x44\x47\x42\x37\x74\x52\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x49\x35\x38\x7c\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x42\x47\x65\x4c\x41\x54\x3d\x3e\x38\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x49\x35\x23\x58\x48\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x26\x35\x45\x41\x54\x6c\x79\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3b\x39\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x75\x7e\x44\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x46\x29\x7d\x71\x51\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x34\x47\x25\x5f\x71\x38\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x3b\x41\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x47\x42\x50\x59\x36\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x39\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x24\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x4a\x48\x37\x70\x3d\x41\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x46\x29\x3d\x74\x53\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x47\x26\x4c\x2b\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x23\x52\x49\x46\x47\x42\x50\x28\x54\x41\x54\x63\x23\x46\x45\x46\x64\x3b\x41\x45\x46\x64\x79\x39\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x43\x33\x3f\x44\x47\x42\x47\x7a\x53\x41\x54\x63\x70\x45\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x42\x59\x65\x37\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x2b\x74\x39\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x46\x29\x3d\x68\x4f\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x42\x2b\x24\x42\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4a\x45\x46\x64\x23\x36\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x63\x59\x56\x35\x46\x29\x7d\x7a\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x49\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x25\x5f\x71\x38\x46\x2a\x21\x4c\x62\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x47\x64\x56\x30\x45\x46\x2a\x5a\x33\x59\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x55\x51\x5a\x4a\x41\x54\x63\x73\x46\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6b\x4e\x41\x54\x63\x70\x48\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x48\x61\x39\x46\x46\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x47\x42\x50\x77\x51\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x7d\x50\x35\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x43\x33\x3f\x44\x46\x2a\x37\x24\x54\x41\x55\x51\x5a\x4a\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x21\x3e\x5f\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x42\x48\x21\x4c\x37\x39\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x43\x74\x38\x47\x42\x47\x28\x55\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x5e\x42\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x2b\x55\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x59\x71\x4e\x41\x54\x63\x70\x34\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x49\x4c\x47\x46\x2a\x37\x77\x52\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x26\x55\x3f\x43\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x46\x29\x25\x44\x33\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x74\x52\x41\x55\x51\x57\x49\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x48\x5a\x64\x24\x39\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x46\x66\x75\x47\x34\x46\x2a\x21\x46\x5a\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x49\x35\x7b\x6a\x4a\x46\x29\x3d\x65\x4e\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x42\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x28\x55\x41\x54\x75\x7e\x44\x41\x54\x63\x6d\x47\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x79\x44\x45\x46\x64\x26\x39\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x3f\x56\x41\x54\x63\x79\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x42\x50\x59\x36\x46\x29\x3d\x62\x4d\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x37\x6e\x4f\x41\x54\x6c\x79\x48\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x48\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x26\x7c\x43\x47\x42\x47\x53\x35\x46\x2a\x5a\x30\x58\x41\x54\x63\x3b\x4a\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x39\x47\x64\x4c\x5f\x44\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x26\x46\x45\x46\x64\x79\x36\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x26\x77\x39\x46\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x37\x45\x46\x64\x23\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x72\x30\x56\x41\x54\x25\x2a\x37\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x25\x7a\x65\x36\x46\x2a\x69\x39\x5a\x41\x54\x26\x35\x45\x41\x54\x25\x2a\x37\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x44\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x64\x3c\x42\x48\x5a\x26\x7c\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x47\x26\x64\x7c\x44\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x48\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x49\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x49\x35\x73\x52\x47\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x37\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x48\x21\x76\x28\x39\x46\x29\x25\x62\x4e\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x46\x66\x31\x54\x35\x46\x66\x31\x54\x33\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x44\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x76\x48\x45\x46\x64\x26\x38\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x49\x35\x38\x7c\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x36\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x64\x3c\x42\x47\x26\x55\x3f\x43\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x47\x42\x71\x5f\x55\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x75\x23\x36\x41\x54\x63\x76\x43\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x46\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x24\x54\x41\x54\x75\x26\x37\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x43\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4b\x45\x46\x64\x26\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x77\x52\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x39\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x2b\x74\x39\x47\x42\x59\x65\x37\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x34\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x55\x51\x54\x48\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x47\x64\x56\x30\x45\x46\x29\x25\x65\x4f\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x46\x2a\x21\x33\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x64\x3c\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x46\x2a\x71\x7a\x42\x48\x23\x39\x36\x44\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x59\x71\x4e\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x36\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x47\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x46\x2a\x71\x7a\x42\x48\x61\x30\x39\x45\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x48\x47\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x28\x53\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x46\x2a\x69\x30\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x67\x59\x77\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x23\x38\x45\x46\x64\x79\x34\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x47\x42\x50\x77\x51\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x3b\x41\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x56\x4c\x41\x54\x63\x26\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x71\x50\x41\x54\x75\x26\x37\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x46\x2a\x21\x36\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x47\x42\x71\x3f\x54\x41\x54\x6c\x26\x46\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x47\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x69\x30\x58\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x49\x35\x73\x52\x47\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x42\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x74\x50\x41\x54\x63\x2a\x4b\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x48\x61\x39\x46\x46\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x39\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x47\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3f\x57\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x46\x67\x47\x6b\x39\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x39\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x7a\x28\x43\x47\x63\x7a\x6e\x38\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3f\x56\x41\x54\x75\x23\x36\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x38\x47\x26\x4c\x2b\x42\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3b\x38\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x48\x38\x4c\x7a\x39\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x34\x6d\x47\x43\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x37\x47\x25\x4f\x25\x37\x48\x23\x6a\x55\x48\x47\x42\x59\x2b\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x42\x68\x6b\x38\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x37\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x36\x46\x29\x53\x63\x41\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x48\x21\x26\x3c\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x48\x38\x33\x6e\x37\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x43\x74\x38\x47\x25\x5f\x71\x38\x47\x42\x59\x24\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x29\x7d\x50\x35\x46\x29\x3d\x62\x4d\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x42\x2b\x24\x42\x46\x29\x3d\x56\x4b\x41\x54\x63\x3b\x4b\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x47\x42\x50\x7a\x52\x41\x54\x7e\x48\x47\x41\x54\x25\x5e\x41\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x46\x66\x25\x4d\x35\x47\x42\x59\x3c\x55\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x26\x33\x77\x39\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x38\x33\x6e\x37\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x43\x47\x41\x74\x6c\x35\x47\x42\x59\x65\x37\x46\x2a\x59\x3f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x46\x29\x3d\x68\x4f\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x43\x33\x3f\x44\x47\x26\x6e\x33\x45\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x29\x7d\x7a\x54\x41\x55\x38\x48\x46\x41\x54\x75\x3e\x41\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x75\x3b\x39\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x3d\x56\x4b\x41\x54\x7e\x42\x45\x41\x54\x75\x7b\x43\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x46\x67\x37\x65\x38\x48\x38\x64\x3c\x42\x47\x63\x59\x56\x35\x48\x38\x33\x6e\x37\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x37\x4d\x34\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x36\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x23\x61\x4f\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x47\x42\x68\x2b\x53\x41\x54\x63\x73\x41\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x29\x25\x53\x4b\x41\x54\x63\x23\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x4c\x2b\x42\x46\x2a\x37\x2b\x56\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x42\x47\x71\x50\x41\x55\x51\x45\x43\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x46\x45\x46\x64\x26\x41\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x42\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x36\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x49\x57\x23\x4f\x46\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x43\x46\x29\x53\x63\x36\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x29\x7d\x7a\x54\x41\x54\x63\x70\x44\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x66\x31\x54\x34\x47\x42\x37\x4d\x34\x46\x2a\x21\x36\x57\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x39\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x70\x38\x45\x46\x64\x76\x42\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x42\x47\x42\x68\x6b\x38\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x43\x47\x41\x74\x6c\x36\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x59\x28\x52\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x2b\x74\x39\x47\x42\x37\x4d\x34\x47\x42\x59\x7a\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x2a\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x47\x63\x71\x68\x37\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x73\x34\x41\x54\x63\x76\x45\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x46\x5a\x41\x54\x75\x7e\x44\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x3c\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x38\x46\x66\x31\x54\x34\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x55\x37\x7e\x39\x41\x54\x75\x5e\x42\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x49\x58\x35\x67\x49\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x46\x29\x25\x44\x33\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x3f\x54\x41\x54\x6c\x7b\x44\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x48\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6b\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x57\x3b\x55\x47\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x46\x2a\x37\x56\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x33\x28\x42\x49\x58\x4e\x73\x4b\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x41\x48\x23\x52\x49\x46\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x48\x23\x6a\x55\x48\x48\x23\x30\x30\x43\x47\x42\x47\x65\x4c\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x39\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x54\x48\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x24\x54\x41\x54\x75\x5e\x42\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x46\x2a\x21\x46\x5a\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x64\x3c\x42\x46\x2a\x68\x3c\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x48\x61\x30\x39\x45\x47\x42\x37\x4d\x34\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x59\x5e\x7d\x39\x47\x63\x5f\x7a\x41\x46\x2a\x59\x24\x51\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x49\x57\x6a\x43\x44\x48\x38\x28\x36\x45\x47\x42\x59\x7a\x51\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x46\x66\x31\x54\x33\x48\x5a\x6d\x2b\x41\x46\x29\x25\x68\x50\x41\x54\x63\x73\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x25\x5f\x71\x38\x47\x42\x59\x7a\x51\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x34\x7e\x3f\x41\x46\x2a\x59\x3f\x55\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x42\x50\x59\x36\x46\x29\x3d\x62\x4d\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x46\x2a\x37\x56\x36\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x2b\x74\x39\x46\x2a\x69\x30\x57\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x5f\x57\x41\x54\x7e\x42\x45\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x26\x39\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x47\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x77\x54\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x77\x30\x44\x47\x42\x50\x59\x36\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x26\x33\x77\x39\x47\x42\x59\x71\x4e\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x6b\x50\x41\x54\x75\x5e\x42\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x71\x51\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x34\x47\x26\x33\x77\x39\x47\x42\x71\x5f\x55\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x5f\x57\x41\x54\x6c\x73\x48\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x3f\x33\x44\x47\x42\x59\x24\x52\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x2b\x54\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x4c\x5f\x44\x47\x63\x5f\x7a\x41\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x43\x33\x3f\x44\x46\x2a\x69\x39\x5a\x41\x54\x63\x2a\x45\x45\x46\x64\x26\x46\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x66\x31\x54\x33\x47\x63\x59\x56\x35\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x42\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x73\x48\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x46\x67\x47\x6b\x39\x47\x25\x7a\x65\x36\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x68\x28\x51\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x49\x35\x6a\x4c\x46\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x36\x47\x41\x74\x6c\x35\x48\x5a\x3f\x33\x44\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x26\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x49\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x46\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x25\x4f\x25\x42\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x47\x42\x59\x2b\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x48\x37\x70\x3d\x38\x46\x2a\x59\x6e\x39\x49\x58\x4e\x73\x4b\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x44\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x79\x36\x41\x54\x63\x79\x44\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x39\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x47\x42\x5f\x2b\x43\x47\x63\x5f\x7a\x41\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x73\x34\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x30\x55\x41\x54\x75\x3b\x39\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x48\x5a\x55\x77\x38\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x35\x48\x23\x6a\x55\x48\x46\x2a\x7a\x7c\x54\x41\x54\x63\x2a\x45\x45\x46\x64\x3e\x42\x45\x46\x64\x26\x45\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x46\x2a\x71\x3c\x52\x41\x54\x63\x73\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x46\x2a\x50\x68\x38\x46\x29\x7d\x68\x4e\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x46\x66\x31\x54\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x38\x47\x26\x33\x77\x39\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x66\x31\x54\x36\x47\x62\x7c\x75\x36\x47\x26\x77\x39\x46\x49\x35\x23\x58\x48\x46\x2a\x47\x3f\x57\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x46\x2a\x59\x3f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x46\x2a\x71\x7a\x42\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x68\x4e\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x26\x4c\x2b\x42\x46\x29\x3d\x68\x4f\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x3d\x71\x52\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x50\x59\x36\x47\x42\x50\x3c\x56\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x74\x4f\x41\x54\x63\x73\x48\x45\x46\x64\x2a\x44\x45\x46\x64\x3b\x34\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x29\x3d\x6e\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x46\x2a\x47\x24\x53\x41\x54\x63\x73\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x63\x71\x68\x37\x47\x42\x68\x7c\x57\x41\x54\x6c\x23\x46\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x37\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x68\x3c\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x39\x47\x64\x4c\x5f\x44\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x46\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6b\x50\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x43\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x48\x38\x33\x6e\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x47\x42\x37\x74\x52\x41\x54\x63\x23\x45\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x47\x42\x59\x65\x37\x46\x2a\x47\x7a\x52\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x26\x37\x41\x54\x3d\x5e\x39\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x63\x68\x62\x36\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x43\x3c\x43\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x46\x2a\x21\x43\x59\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x47\x42\x71\x71\x39\x48\x61\x39\x46\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x6e\x4e\x41\x54\x63\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x43\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x47\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x21\x33\x56\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x38\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x38\x49\x56\x3e\x50\x46\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x46\x2a\x59\x28\x52\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x46\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x46\x67\x59\x77\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x28\x52\x41\x55\x38\x32\x41\x41\x54\x63\x26\x44\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x63\x2b\x74\x39\x47\x42\x59\x71\x4e\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x47\x42\x71\x3c\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x36\x49\x56\x3e\x50\x48\x48\x37\x70\x3d\x39\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x48\x59\x5e\x7d\x39\x46\x2a\x7a\x28\x43\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x42\x46\x66\x31\x54\x42\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x42\x50\x59\x36\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3e\x38\x41\x54\x63\x26\x4b\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x68\x4f\x41\x54\x63\x23\x44\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x6b\x4e\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x7a\x53\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x38\x49\x56\x3e\x50\x46\x48\x21\x4c\x37\x42\x47\x42\x68\x6b\x38\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x42\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x42\x50\x59\x36\x46\x2a\x47\x74\x50\x41\x54\x6c\x26\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x64\x3c\x42\x47\x42\x37\x4d\x34\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x26\x38\x45\x46\x64\x76\x38\x46\x66\x31\x54\x39\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x47\x42\x37\x59\x4b\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x73\x48\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x68\x50\x41\x54\x26\x32\x44\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x75\x2a\x38\x41\x54\x63\x6d\x33\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x26\x55\x3f\x43\x46\x2a\x71\x7c\x55\x41\x54\x6c\x23\x4b\x45\x46\x64\x3e\x44\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x71\x71\x39\x47\x42\x50\x77\x51\x41\x54\x63\x26\x4b\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x42\x46\x2a\x47\x62\x37\x46\x2a\x50\x2b\x54\x41\x54\x7e\x4b\x48\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x46\x2a\x47\x2b\x55\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x39\x47\x62\x7c\x75\x39\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x44\x48\x21\x4c\x37\x41\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x4b\x48\x41\x54\x63\x76\x43\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x43\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x23\x37\x41\x54\x75\x5e\x42\x41\x54\x63\x6d\x39\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x43\x74\x38\x46\x29\x7d\x24\x55\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x2a\x38\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x3d\x71\x52\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x47\x25\x7a\x65\x36\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x38\x44\x41\x54\x6c\x76\x45\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x43\x48\x38\x28\x36\x45\x47\x26\x33\x77\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x42\x2b\x24\x42\x46\x2a\x21\x36\x57\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x59\x77\x42\x47\x42\x50\x59\x36\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x68\x4e\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x26\x43\x24\x41\x46\x29\x3d\x71\x52\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x39\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x37\x56\x36\x48\x23\x30\x30\x43\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x66\x75\x47\x34\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x46\x29\x3d\x68\x4f\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x46\x2a\x50\x74\x4f\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x2a\x71\x7c\x55\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x34\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x42\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x2a\x59\x28\x52\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x23\x58\x48\x48\x61\x49\x4c\x47\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x41\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x6b\x50\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x47\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x44\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x47\x42\x37\x59\x4b\x41\x54\x63\x79\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x68\x2b\x52\x41\x54\x6c\x73\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x39\x45\x46\x64\x26\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x64\x3c\x42\x47\x42\x47\x65\x4c\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x70\x42\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x35\x23\x58\x48\x46\x2a\x59\x7c\x57\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x35\x41\x54\x6c\x3b\x41\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x50\x68\x38\x46\x29\x25\x50\x4a\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x49\x57\x3b\x55\x47\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x42\x37\x65\x4d\x41\x54\x63\x76\x43\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x6b\x4e\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x41\x47\x25\x4f\x25\x37\x48\x21\x3e\x5f\x42\x47\x42\x68\x24\x51\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x4b\x45\x46\x64\x26\x43\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x63\x59\x56\x35\x47\x42\x47\x77\x52\x41\x54\x63\x26\x4b\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x35\x46\x66\x75\x47\x34\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x7b\x44\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x49\x61\x41\x54\x75\x3b\x39\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x46\x2a\x71\x5f\x54\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x26\x6e\x33\x45\x47\x42\x59\x65\x37\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x2a\x59\x28\x52\x41\x54\x63\x26\x4d\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x39\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x46\x2a\x59\x6e\x39\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x49\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x57\x4a\x41\x55\x38\x35\x42\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x37\x46\x66\x31\x54\x39\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x48\x61\x39\x46\x46\x46\x2a\x37\x6e\x4f\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x26\x64\x7c\x44\x46\x29\x3d\x65\x4e\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x3d\x4a\x34\x48\x5a\x64\x24\x39\x46\x29\x3d\x71\x52\x41\x54\x63\x73\x41\x45\x46\x64\x79\x41\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x6e\x33\x45\x47\x42\x47\x24\x54\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x7b\x43\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x24\x53\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x55\x51\x4b\x45\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x35\x49\x34\x6d\x47\x42\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x26\x3c\x41\x47\x42\x47\x68\x4d\x41\x54\x63\x2a\x4b\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x47\x42\x59\x3f\x56\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x35\x49\x33\x43\x47\x42\x69\x30\x58\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x63\x59\x56\x35\x46\x29\x3d\x77\x54\x41\x54\x75\x6c\x3d\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x39\x49\x34\x7e\x3f\x41\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x37\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x48\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x7b\x41\x41\x54\x63\x26\x46\x45\x46\x64\x76\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x5f\x7a\x41\x46\x2a\x50\x2b\x54\x41\x54\x7e\x42\x45\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x38\x45\x46\x64\x26\x43\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x63\x70\x48\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x23\x39\x36\x44\x47\x42\x71\x24\x50\x41\x54\x63\x5a\x3b\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x63\x68\x62\x36\x47\x42\x50\x3c\x56\x41\x54\x6c\x76\x44\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x49\x34\x6d\x47\x43\x46\x29\x3d\x4a\x34\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x45\x47\x25\x4f\x25\x37\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x73\x49\x45\x46\x64\x2a\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x43\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x41\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x25\x7a\x65\x36\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x24\x54\x41\x54\x63\x70\x44\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x46\x2a\x50\x7a\x51\x41\x55\x38\x35\x42\x41\x54\x6c\x2a\x45\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x68\x4d\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x3e\x38\x45\x41\x54\x6c\x73\x34\x41\x54\x7e\x32\x42\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x45\x46\x41\x54\x63\x76\x48\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x46\x2a\x71\x7a\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x2b\x53\x41\x54\x6c\x7b\x44\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x47\x7a\x52\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x47\x25\x2b\x6b\x37\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x71\x53\x41\x54\x63\x3e\x43\x41\x54\x63\x70\x47\x45\x46\x64\x76\x41\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x47\x42\x47\x6e\x4f\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x7e\x44\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x55\x3f\x43\x46\x2a\x47\x7a\x52\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x35\x52\x39\x44\x48\x5a\x3f\x33\x44\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x46\x45\x46\x64\x23\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x50\x68\x38\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x48\x23\x61\x4f\x47\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x48\x21\x76\x28\x39\x46\x29\x7d\x6b\x4f\x41\x54\x63\x6d\x33\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x46\x29\x7d\x50\x35\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x2b\x74\x39\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x48\x59\x5e\x7d\x39\x49\x58\x4e\x73\x4b\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x39\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x35\x47\x63\x2b\x74\x39\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x47\x42\x47\x53\x35\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x48\x23\x6a\x55\x48\x46\x2a\x68\x3c\x53\x41\x54\x6c\x76\x42\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x46\x67\x37\x65\x38\x47\x26\x43\x24\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x3c\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x6b\x4f\x41\x54\x63\x70\x48\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7b\x42\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x41\x46\x2a\x47\x62\x37\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x38\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x63\x7a\x6e\x38\x48\x38\x43\x74\x38\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x37\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x44\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x48\x38\x4c\x7a\x39\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x46\x2a\x37\x56\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x3d\x77\x54\x41\x54\x3d\x5e\x39\x41\x54\x26\x38\x46\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x43\x3c\x43\x46\x29\x3d\x65\x4e\x41\x54\x75\x7b\x43\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x25\x5f\x71\x38\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x71\x71\x39\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x41\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x46\x29\x7d\x50\x35\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x47\x26\x6e\x33\x45\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x61\x49\x4c\x47\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x45\x49\x34\x6d\x47\x48\x47\x62\x7c\x75\x36\x47\x26\x55\x3f\x43\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x46\x2a\x50\x68\x38\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x46\x66\x75\x47\x34\x46\x2a\x21\x4c\x62\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x6a\x55\x48\x47\x42\x47\x6b\x4e\x41\x55\x48\x57\x4a\x41\x55\x51\x57\x49\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x38\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x77\x54\x41\x54\x63\x3e\x4a\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x47\x42\x50\x74\x50\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x2a\x37\x77\x52\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x7b\x43\x41\x54\x63\x6d\x39\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6e\x4f\x41\x54\x63\x70\x42\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x48\x38\x43\x74\x38\x47\x42\x47\x6b\x4e\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x48\x38\x43\x74\x38\x46\x2a\x72\x46\x61\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x39\x5a\x41\x54\x6c\x76\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3b\x38\x41\x54\x63\x3e\x4f\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x61\x52\x52\x48\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x61\x52\x52\x48\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x46\x2a\x71\x7a\x42\x47\x42\x68\x24\x51\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x3d\x53\x36\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x49\x35\x7b\x6a\x4a\x48\x37\x70\x3d\x38\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x26\x37\x41\x55\x51\x5a\x4a\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x47\x25\x2b\x6b\x37\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x44\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x48\x38\x43\x74\x38\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x47\x42\x68\x7c\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x46\x2a\x47\x62\x37\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x4a\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x28\x55\x41\x54\x63\x70\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x46\x2a\x37\x2b\x56\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x39\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x48\x38\x33\x6e\x37\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x45\x46\x64\x23\x37\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x37\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x4b\x45\x46\x64\x26\x44\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x46\x67\x37\x65\x38\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x43\x49\x56\x3e\x50\x45\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x48\x5a\x64\x24\x39\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x75\x3b\x39\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x26\x77\x39\x46\x46\x2a\x71\x7a\x42\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x5f\x7a\x41\x46\x2a\x69\x36\x59\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x68\x4e\x41\x54\x63\x70\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x61\x30\x39\x45\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x44\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x48\x45\x46\x64\x5e\x49\x45\x46\x64\x23\x37\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x4b\x48\x41\x54\x63\x70\x41\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x44\x45\x46\x64\x23\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x28\x54\x41\x54\x25\x26\x36\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x35\x46\x2a\x71\x7a\x42\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x55\x38\x4b\x47\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x34\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x26\x3c\x41\x46\x2a\x37\x74\x51\x41\x54\x63\x3e\x4b\x45\x46\x64\x3e\x43\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x46\x61\x41\x54\x63\x79\x49\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x68\x50\x41\x54\x26\x32\x44\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x5f\x7a\x41\x47\x64\x4c\x5f\x44\x48\x38\x33\x6e\x37\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x39\x5a\x41\x54\x63\x2a\x41\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x47\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x3f\x54\x41\x55\x38\x32\x41\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x4c\x62\x41\x54\x75\x26\x37\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x42\x50\x28\x54\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x47\x63\x2b\x74\x39\x48\x61\x49\x4c\x47\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x35\x45\x41\x54\x25\x7b\x42\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x29\x3d\x65\x4e\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x5f\x53\x41\x55\x48\x35\x41\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x36\x49\x34\x6d\x47\x42\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x49\x4c\x47\x47\x42\x37\x77\x53\x41\x54\x63\x26\x46\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x37\x56\x36\x47\x42\x59\x28\x53\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x38\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x43\x74\x38\x47\x63\x5f\x7a\x41\x46\x2a\x47\x28\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x46\x29\x3d\x77\x54\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x42\x5f\x2b\x43\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x41\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x34\x6d\x47\x43\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x46\x2a\x37\x6e\x4f\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x48\x45\x46\x64\x79\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x68\x4f\x41\x54\x63\x23\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x28\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x44\x46\x2a\x71\x7a\x42\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x23\x42\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x61\x52\x52\x48\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x38\x45\x46\x64\x23\x38\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x33\x58\x41\x54\x63\x73\x39\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x63\x7a\x6e\x38\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x43\x46\x29\x53\x63\x42\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x6e\x4f\x41\x54\x75\x7b\x43\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x49\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x6b\x4e\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x65\x4c\x41\x54\x7d\x5e\x38\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x7b\x4b\x45\x46\x64\x26\x42\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x46\x2a\x37\x6b\x4e\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x70\x42\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x46\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x26\x4c\x2b\x42\x48\x21\x4c\x37\x42\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x33\x41\x55\x38\x35\x42\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x43\x74\x38\x47\x42\x68\x5f\x56\x41\x55\x51\x4e\x46\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x25\x5f\x71\x38\x47\x42\x59\x24\x52\x41\x54\x63\x26\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x30\x39\x45\x46\x29\x3d\x6b\x50\x41\x54\x25\x3e\x39\x41\x55\x48\x4e\x47\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x54\x75\x2a\x38\x41\x54\x63\x70\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x77\x51\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x63\x68\x62\x36\x46\x2a\x47\x77\x51\x41\x54\x63\x3b\x47\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x4b\x46\x66\x31\x54\x33\x46\x29\x25\x44\x33\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x25\x5f\x71\x38\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x46\x2a\x5a\x30\x58\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x7a\x28\x43\x47\x26\x6e\x33\x45\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x39\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x36\x49\x35\x49\x33\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x26\x43\x24\x41\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x4a\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x47\x64\x4c\x5f\x44\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x35\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x4c\x62\x41\x54\x76\x32\x45\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x59\x3c\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x48\x38\x77\x30\x44\x49\x35\x23\x58\x48\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x43\x3c\x43\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x3e\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6b\x4f\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x47\x42\x37\x6b\x4f\x41\x55\x38\x4b\x47\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x5e\x43\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x49\x61\x41\x54\x75\x3b\x39\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x47\x42\x50\x77\x51\x41\x54\x63\x26\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x28\x36\x45\x46\x2a\x7a\x28\x43\x47\x43\x33\x3f\x44\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x50\x3c\x56\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x6b\x4f\x41\x54\x63\x73\x39\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x24\x53\x41\x54\x25\x3b\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x21\x4c\x37\x42\x46\x2a\x71\x7a\x42\x47\x42\x68\x2b\x53\x41\x55\x48\x54\x49\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x36\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x76\x28\x39\x47\x42\x47\x68\x4d\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x46\x29\x3d\x74\x53\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x46\x29\x25\x71\x53\x41\x54\x63\x70\x45\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x64\x43\x3c\x43\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x46\x29\x3d\x77\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x46\x29\x3d\x6e\x51\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x21\x4c\x37\x42\x46\x2a\x71\x7a\x42\x46\x2a\x69\x36\x59\x41\x54\x75\x23\x36\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x48\x59\x5e\x7d\x39\x47\x62\x7c\x75\x36\x48\x61\x49\x4c\x47\x49\x35\x38\x7c\x42\x46\x29\x7d\x7a\x54\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x38\x44\x41\x54\x63\x70\x42\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x68\x7c\x57\x41\x54\x63\x73\x48\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x38\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x61\x4f\x47\x47\x42\x47\x24\x54\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x75\x79\x35\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x46\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x47\x42\x5f\x2b\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x49\x57\x23\x4f\x46\x46\x29\x3d\x77\x54\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x47\x26\x77\x39\x46\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x3e\x38\x41\x54\x75\x3b\x39\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x2a\x38\x41\x54\x75\x2a\x38\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x3d\x71\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x46\x2a\x7a\x7c\x54\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x3f\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3b\x38\x41\x54\x63\x23\x43\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x48\x23\x6a\x55\x48\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x21\x76\x28\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x43\x33\x3f\x44\x46\x2a\x68\x2b\x52\x41\x54\x63\x26\x49\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x44\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x46\x29\x7d\x6e\x50\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x37\x70\x3d\x45\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x45\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x42\x5f\x2b\x43\x46\x2a\x47\x6e\x4e\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x39\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x35\x6a\x4c\x46\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x23\x45\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x61\x49\x4c\x47\x47\x42\x47\x77\x52\x41\x54\x63\x70\x45\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x48\x61\x52\x52\x48\x46\x2a\x68\x2b\x52\x41\x54\x6c\x66\x3c\x46\x2a\x50\x3f\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x42\x71\x71\x39\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x29\x7d\x24\x55\x41\x54\x63\x70\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x46\x2a\x68\x3c\x53\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x39\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x46\x45\x46\x64\x79\x36\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x41\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x41\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x59\x2b\x53\x41\x54\x63\x2a\x4d\x45\x46\x64\x7b\x37\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x62\x7c\x75\x36\x47\x25\x2b\x6b\x37\x47\x42\x37\x6b\x4f\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x39\x5a\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x49\x56\x3e\x50\x43\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3e\x39\x41\x54\x63\x3e\x49\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x46\x2a\x37\x28\x55\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x26\x3c\x41\x46\x2a\x37\x6e\x4f\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x3e\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x63\x71\x68\x37\x46\x2a\x59\x24\x51\x41\x54\x63\x73\x41\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x47\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x48\x45\x46\x64\x7b\x46\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x47\x64\x4c\x5f\x44\x47\x26\x33\x77\x39\x47\x42\x71\x28\x51\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x50\x68\x38\x46\x29\x3d\x65\x4e\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x21\x30\x55\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x46\x29\x25\x71\x53\x41\x54\x63\x73\x44\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x21\x26\x3c\x41\x47\x42\x47\x6e\x4f\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x7b\x43\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x63\x5f\x7a\x41\x48\x38\x6d\x5f\x43\x46\x2a\x50\x5f\x57\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x6d\x5f\x43\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x7b\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x6d\x5f\x43\x47\x42\x68\x5f\x56\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x46\x29\x3d\x68\x4f\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x50\x74\x4f\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x21\x3e\x5f\x42\x46\x2a\x68\x7c\x56\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x46\x2a\x7a\x28\x43\x48\x38\x55\x28\x41\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x43\x48\x59\x5e\x7d\x48\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x47\x42\x7a\x77\x41\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x23\x61\x4f\x47\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x29\x25\x71\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x2a\x21\x49\x61\x41\x54\x76\x32\x45\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x75\x3b\x39\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x49\x35\x61\x46\x45\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x37\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x46\x2a\x71\x7a\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x26\x39\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x29\x7d\x6e\x50\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x25\x7a\x65\x36\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x47\x26\x6e\x33\x45\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x7e\x42\x41\x54\x25\x7b\x42\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x7e\x44\x41\x54\x63\x70\x45\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x26\x36\x41\x54\x63\x3e\x50\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x49\x45\x46\x64\x5e\x49\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x46\x29\x3d\x6e\x51\x41\x54\x76\x32\x45\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x25\x3b\x38\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x47\x42\x47\x6e\x4f\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x70\x42\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x42\x37\x65\x4d\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x42\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x57\x4a\x41\x55\x38\x51\x49\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x62\x4e\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x24\x54\x41\x54\x25\x3b\x38\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x46\x2a\x47\x2b\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x2a\x59\x28\x52\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x46\x29\x7d\x50\x35\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x33\x58\x41\x54\x63\x26\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x7a\x6e\x38\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x61\x4f\x47\x47\x25\x2b\x6b\x37\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x36\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x42\x68\x6b\x38\x47\x64\x33\x28\x42\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x49\x45\x46\x64\x23\x39\x45\x46\x64\x26\x42\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x46\x2a\x47\x74\x50\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3c\x53\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x44\x49\x56\x3e\x50\x43\x47\x42\x2b\x24\x42\x47\x42\x68\x77\x4f\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x47\x25\x4f\x25\x37\x47\x42\x59\x65\x37\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x72\x36\x58\x41\x54\x6c\x73\x34\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x38\x49\x56\x3e\x50\x43\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x46\x29\x53\x63\x34\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3e\x39\x41\x54\x63\x23\x47\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x47\x42\x47\x7a\x53\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x2a\x37\x6e\x4f\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x3e\x41\x41\x54\x3d\x7e\x42\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x63\x68\x62\x36\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x33\x28\x42\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x43\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x46\x2a\x50\x68\x38\x49\x58\x45\x6d\x4a\x47\x42\x37\x4d\x34\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x25\x5f\x71\x38\x47\x42\x59\x7a\x51\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x34\x7e\x3f\x41\x46\x2a\x68\x2b\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x46\x2a\x71\x7a\x42\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x62\x4c\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x62\x4d\x41\x54\x76\x32\x45\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x42\x2b\x24\x42\x46\x2a\x59\x6e\x39\x46\x2a\x50\x2b\x54\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x54\x63\x73\x35\x41\x55\x48\x48\x45\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x46\x29\x25\x59\x4d\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x45\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x63\x2b\x74\x39\x47\x42\x68\x7a\x50\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x46\x45\x46\x64\x7b\x4b\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x46\x2a\x37\x77\x52\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x70\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7b\x42\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x50\x59\x36\x46\x2a\x71\x3f\x53\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x5f\x54\x41\x54\x6c\x76\x39\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x42\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x45\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x47\x63\x7a\x6e\x38\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x46\x2a\x47\x3c\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x63\x59\x56\x35\x46\x29\x7d\x24\x55\x41\x54\x75\x3b\x39\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x49\x57\x3b\x55\x47\x46\x2a\x47\x77\x51\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x46\x2a\x59\x6e\x39\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x46\x29\x25\x44\x33\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x77\x53\x41\x54\x63\x6d\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x24\x54\x41\x54\x25\x7b\x42\x41\x54\x6c\x3e\x42\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x49\x34\x7e\x3f\x41\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x41\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x38\x7c\x42\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x46\x66\x31\x54\x34\x47\x26\x55\x3f\x43\x46\x29\x7d\x71\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x36\x57\x41\x54\x63\x70\x44\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x7a\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x59\x2b\x54\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x46\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x46\x48\x37\x70\x3d\x38\x47\x63\x2b\x74\x39\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x39\x49\x34\x6d\x47\x42\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x42\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x48\x61\x49\x4c\x47\x46\x2a\x50\x68\x38\x47\x42\x50\x71\x4f\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3e\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x37\x48\x38\x28\x36\x45\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x46\x2a\x47\x3c\x56\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x34\x7e\x3f\x41\x46\x2a\x59\x3f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x48\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x59\x5e\x7d\x39\x46\x67\x37\x65\x38\x48\x21\x26\x3c\x41\x46\x2a\x59\x7a\x50\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x6b\x4f\x41\x54\x75\x3e\x41\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x47\x26\x64\x7c\x44\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x37\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x48\x61\x39\x46\x46\x48\x38\x28\x36\x45\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x42\x45\x46\x64\x23\x44\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x66\x31\x54\x34\x47\x42\x47\x53\x35\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x44\x47\x62\x7c\x75\x36\x49\x57\x61\x36\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x23\x49\x43\x45\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x62\x7c\x75\x36\x46\x2a\x71\x7a\x42\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x7a\x6e\x38\x46\x29\x3d\x68\x4f\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x6a\x4c\x46\x46\x29\x3d\x6e\x51\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x47\x25\x4f\x25\x37\x47\x64\x43\x3c\x43\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x75\x79\x35\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x46\x66\x31\x54\x38\x47\x25\x4f\x25\x37\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x47\x53\x35\x47\x42\x37\x77\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x47\x25\x5f\x71\x38\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x49\x34\x7e\x3f\x41\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x46\x29\x25\x44\x33\x48\x23\x30\x30\x43\x47\x64\x43\x3c\x43\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x3c\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x71\x52\x41\x54\x75\x7e\x44\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x65\x4d\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x48\x45\x46\x64\x7b\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x43\x33\x3f\x44\x47\x25\x7a\x65\x36\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x38\x44\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x28\x54\x41\x54\x75\x26\x37\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x7d\x50\x35\x48\x5a\x76\x3f\x42\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x35\x45\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x47\x63\x7a\x6e\x38\x47\x42\x2b\x24\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x72\x39\x59\x41\x54\x7e\x35\x43\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x39\x47\x62\x7c\x75\x36\x49\x34\x6d\x47\x42\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x47\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x47\x6e\x4f\x41\x54\x63\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x46\x2a\x72\x39\x59\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x46\x2a\x68\x28\x51\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x30\x39\x45\x46\x29\x3d\x74\x53\x41\x54\x75\x3e\x41\x41\x54\x75\x3b\x39\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x63\x2b\x74\x39\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x28\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x34\x6d\x47\x42\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x55\x38\x32\x41\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x49\x57\x61\x36\x43\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x73\x34\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x49\x61\x41\x54\x75\x26\x37\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x42\x47\x43\x33\x3f\x44\x46\x2a\x47\x24\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x48\x5a\x55\x77\x38\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x5e\x39\x41\x54\x75\x3e\x41\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x62\x4c\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x47\x42\x50\x3c\x56\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x3f\x56\x41\x54\x63\x73\x49\x45\x46\x64\x5e\x45\x45\x46\x64\x5e\x36\x41\x54\x6c\x2a\x44\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x25\x3e\x39\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x2b\x54\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x68\x50\x41\x54\x7e\x48\x47\x41\x54\x63\x70\x48\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x34\x48\x61\x30\x39\x45\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x39\x5a\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x2a\x38\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x42\x68\x6b\x38\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x47\x26\x77\x39\x46\x46\x29\x7d\x68\x4e\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x64\x33\x28\x42\x46\x29\x25\x56\x4c\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x42\x45\x46\x64\x23\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x7a\x54\x41\x54\x75\x3e\x41\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x48\x38\x4c\x7a\x39\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x49\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x48\x23\x61\x4f\x47\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x23\x38\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x5f\x7a\x41\x46\x2a\x47\x71\x4f\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x76\x28\x39\x47\x42\x37\x59\x4b\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x47\x42\x68\x77\x4f\x41\x54\x63\x23\x44\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x2a\x37\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x46\x2a\x71\x3f\x53\x41\x55\x50\x7d\x60\x46\x66\x31\x54\x33\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x43\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x37\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x44\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x48\x47\x41\x54\x63\x73\x47\x45\x46\x64\x2a\x45\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x47\x45\x46\x64\x23\x45\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x73\x43\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x49\x35\x49\x33\x43\x47\x42\x71\x71\x39\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x34\x45\x46\x64\x79\x39\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x6b\x50\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x47\x42\x37\x4d\x34\x47\x42\x47\x7a\x53\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x49\x35\x7b\x6a\x4a\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x48\x38\x55\x28\x41\x47\x42\x50\x74\x50\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x44\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x68\x7c\x57\x41\x54\x63\x76\x46\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7e\x43\x41\x54\x63\x23\x43\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x38\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x47\x25\x7a\x65\x36\x48\x5a\x64\x24\x39\x46\x2a\x59\x3c\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x46\x29\x3d\x71\x52\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x46\x2a\x5a\x30\x58\x41\x54\x6c\x26\x4c\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x47\x47\x25\x4f\x25\x44\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x68\x7c\x57\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x49\x35\x38\x7c\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x37\x71\x50\x41\x54\x6c\x23\x42\x45\x46\x64\x79\x37\x45\x46\x64\x23\x37\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3b\x37\x41\x54\x6c\x2a\x48\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x79\x48\x45\x46\x64\x23\x45\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x47\x25\x7a\x65\x36\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x52\x39\x44\x47\x42\x71\x5f\x55\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x79\x36\x41\x54\x63\x76\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x33\x49\x35\x49\x33\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x76\x4a\x45\x46\x64\x23\x38\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x25\x4f\x25\x42\x47\x41\x74\x6c\x38\x48\x21\x4c\x37\x41\x48\x23\x6a\x55\x48\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x45\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x41\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x74\x50\x41\x54\x6c\x79\x49\x45\x46\x64\x3e\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x46\x29\x3d\x74\x53\x41\x54\x63\x73\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x42\x5f\x2b\x43\x47\x42\x50\x74\x50\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x46\x2a\x50\x24\x52\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x47\x42\x68\x7c\x57\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x41\x46\x2a\x47\x62\x37\x47\x26\x33\x77\x39\x48\x21\x26\x3c\x41\x46\x2a\x37\x7a\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x33\x28\x42\x46\x29\x3d\x77\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x29\x7d\x68\x4e\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x75\x79\x35\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x4c\x7a\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x65\x4e\x41\x54\x63\x3e\x50\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x38\x33\x6e\x37\x47\x42\x50\x71\x4f\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x7a\x54\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x46\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x47\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x59\x2b\x53\x41\x54\x6c\x76\x49\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x36\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x64\x3c\x42\x46\x2a\x71\x3f\x53\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x47\x42\x59\x28\x53\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x46\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x37\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x47\x25\x4f\x25\x39\x49\x34\x6d\x47\x42\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x75\x79\x35\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x45\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x28\x55\x41\x54\x63\x70\x46\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x66\x31\x54\x33\x47\x63\x7a\x6e\x38\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x41\x46\x2a\x71\x7a\x42\x46\x2a\x59\x7c\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x59\x3f\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x42\x59\x65\x37\x46\x29\x3d\x71\x52\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x23\x42\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x33\x58\x41\x54\x25\x3b\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x46\x2a\x71\x5f\x54\x41\x54\x25\x2a\x37\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x43\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x5a\x26\x7c\x43\x47\x42\x47\x6b\x4e\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x46\x29\x3d\x65\x4e\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x46\x2a\x69\x33\x58\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x28\x36\x45\x47\x42\x47\x53\x35\x47\x42\x7a\x77\x41\x47\x64\x4c\x5f\x44\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x47\x63\x71\x68\x37\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x72\x39\x59\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x48\x38\x33\x6e\x37\x47\x42\x59\x3c\x55\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x29\x3d\x4a\x34\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x45\x45\x46\x64\x23\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x47\x41\x74\x6c\x36\x48\x38\x43\x74\x38\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x47\x42\x47\x6e\x4f\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x41\x46\x2a\x47\x62\x37\x46\x2a\x59\x6e\x39\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x47\x42\x37\x4d\x34\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x77\x51\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x59\x7a\x51\x41\x54\x7d\x25\x40\x46\x2a\x37\x6e\x4f\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x38\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7c\x57\x41\x54\x63\x26\x39\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x65\x4e\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x48\x38\x55\x28\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x46\x29\x7d\x50\x35\x49\x35\x52\x39\x44\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x5a\x30\x58\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x37\x70\x3d\x39\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x46\x2a\x7a\x5f\x53\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x4b\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x74\x53\x41\x54\x63\x79\x48\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x38\x33\x6e\x37\x47\x42\x50\x71\x4f\x41\x54\x63\x76\x47\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x48\x5a\x6d\x2b\x41\x46\x2a\x37\x28\x55\x41\x54\x63\x70\x47\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x47\x25\x4f\x25\x39\x47\x25\x4f\x25\x37\x48\x21\x76\x28\x39\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x43\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x59\x2b\x53\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x41\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x37\x71\x50\x41\x54\x63\x2a\x4b\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x46\x2a\x7a\x28\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x49\x57\x23\x4f\x46\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x23\x43\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x48\x23\x49\x43\x45\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x42\x46\x29\x53\x63\x34\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x49\x58\x4e\x73\x4b\x47\x25\x2b\x6b\x37\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x46\x2a\x47\x62\x37\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x46\x2a\x37\x56\x36\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x46\x29\x7d\x7a\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x42\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x79\x48\x45\x46\x64\x23\x42\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x59\x2b\x54\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x46\x45\x46\x64\x26\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x47\x42\x47\x28\x55\x41\x54\x63\x73\x41\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x4c\x7a\x39\x47\x42\x37\x6e\x50\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x34\x6d\x47\x43\x47\x26\x4c\x2b\x42\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x55\x38\x4b\x47\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x4a\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x26\x3c\x41\x46\x2a\x37\x68\x4d\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x46\x29\x3d\x74\x53\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x26\x77\x39\x46\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x35\x45\x41\x54\x25\x7b\x42\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x26\x4c\x2b\x42\x47\x42\x7a\x77\x41\x48\x38\x3f\x43\x46\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x29\x7d\x50\x35\x49\x35\x52\x39\x44\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x46\x66\x7d\x59\x37\x46\x2a\x50\x7a\x51\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x47\x64\x56\x30\x45\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x44\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x47\x42\x59\x28\x53\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x6d\x2b\x41\x46\x2a\x37\x6e\x4f\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x70\x47\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x28\x51\x41\x54\x6c\x73\x48\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x46\x66\x31\x54\x34\x47\x63\x59\x56\x35\x46\x2a\x72\x39\x59\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x48\x23\x39\x36\x44\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x45\x46\x64\x3e\x45\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x23\x61\x4f\x47\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x41\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x68\x74\x41\x46\x2a\x47\x24\x53\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x47\x63\x59\x56\x35\x47\x42\x59\x2b\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x48\x39\x30\x49\x47\x46\x2a\x71\x7a\x42\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x25\x5f\x71\x38\x46\x2a\x71\x5f\x54\x41\x54\x6c\x26\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x56\x30\x45\x47\x63\x2b\x74\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x46\x2a\x72\x36\x58\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x35\x38\x7c\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x63\x59\x56\x35\x46\x2a\x37\x6b\x4e\x41\x54\x63\x73\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x42\x46\x67\x50\x71\x41\x46\x2a\x47\x3f\x57\x41\x55\x51\x63\x4b\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x21\x4c\x62\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x2a\x68\x2b\x52\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x68\x28\x51\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x41\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x37\x59\x4b\x41\x54\x6c\x23\x42\x45\x46\x64\x26\x39\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x39\x46\x46\x46\x2a\x37\x24\x54\x41\x54\x63\x26\x49\x45\x46\x64\x79\x43\x45\x46\x64\x5e\x49\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x6e\x51\x41\x54\x3d\x3b\x37\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x56\x30\x45\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x44\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x61\x30\x39\x45\x47\x42\x68\x3f\x55\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x70\x48\x45\x46\x64\x2a\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x64\x3c\x42\x46\x2a\x37\x6e\x4f\x41\x54\x25\x3e\x39\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6b\x4f\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x54\x63\x70\x34\x41\x54\x6c\x7b\x44\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x48\x38\x43\x74\x38\x46\x2a\x50\x77\x50\x41\x54\x63\x5a\x3b\x47\x42\x37\x7a\x54\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x47\x64\x4c\x5f\x44\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x35\x47\x42\x2b\x24\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x67\x59\x77\x42\x47\x42\x68\x6b\x38\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x54\x63\x73\x42\x45\x46\x64\x3b\x34\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x25\x5f\x71\x38\x47\x42\x47\x7a\x53\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x37\x47\x63\x59\x56\x35\x49\x35\x49\x33\x43\x48\x38\x55\x28\x41\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x23\x38\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x5f\x7a\x41\x46\x2a\x37\x24\x54\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x49\x35\x23\x58\x48\x46\x2a\x37\x2b\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x47\x42\x71\x5f\x55\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x46\x2a\x59\x28\x52\x41\x54\x63\x26\x48\x45\x46\x64\x23\x41\x45\x46\x64\x23\x38\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x38\x46\x66\x6c\x41\x33\x46\x2a\x21\x46\x5a\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x46\x29\x53\x63\x41\x46\x66\x31\x54\x33\x49\x35\x38\x7c\x42\x47\x42\x50\x74\x50\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x49\x45\x46\x64\x79\x35\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x2b\x74\x39\x46\x2a\x21\x30\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x42\x5f\x2b\x43\x47\x42\x59\x2b\x54\x41\x54\x26\x32\x44\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x38\x45\x46\x64\x26\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x7a\x54\x41\x54\x76\x32\x45\x41\x54\x6c\x7b\x44\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x41\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x3d\x4a\x34\x48\x61\x52\x52\x48\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x45\x46\x66\x31\x54\x33\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x68\x4d\x41\x54\x6c\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x47\x42\x59\x28\x53\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x48\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x5a\x3f\x33\x44\x46\x29\x3d\x74\x53\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x3d\x77\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x25\x7a\x65\x36\x46\x2a\x71\x3f\x53\x41\x54\x25\x7e\x43\x41\x55\x37\x2d\x5e\x46\x2a\x47\x24\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x46\x66\x31\x54\x34\x47\x26\x4c\x2b\x42\x48\x61\x52\x52\x48\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x47\x42\x59\x2b\x54\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x28\x36\x45\x47\x42\x47\x53\x35\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x71\x51\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x43\x3c\x43\x46\x29\x3d\x77\x54\x41\x54\x63\x3e\x43\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x47\x25\x7a\x65\x36\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x63\x59\x56\x35\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x37\x47\x25\x7a\x65\x36\x49\x35\x6a\x4c\x46\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x47\x64\x43\x3c\x43\x46\x2a\x50\x5f\x57\x41\x54\x63\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x71\x7a\x42\x49\x58\x4e\x73\x4b\x47\x63\x5f\x7a\x41\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x46\x2a\x68\x5f\x55\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x2b\x74\x39\x48\x61\x49\x4c\x47\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x41\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x3d\x7b\x41\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x74\x50\x41\x54\x63\x70\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x5f\x57\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x45\x47\x41\x74\x6c\x43\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x3f\x53\x41\x54\x63\x26\x46\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x38\x46\x29\x53\x63\x36\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x28\x51\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x41\x49\x35\x7b\x6a\x4a\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x45\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x45\x47\x25\x4f\x25\x37\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x48\x23\x39\x36\x44\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x48\x21\x4c\x37\x42\x49\x34\x6d\x47\x46\x47\x41\x74\x6c\x39\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x43\x45\x46\x64\x3b\x44\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x39\x36\x44\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x44\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x48\x45\x46\x64\x5e\x42\x45\x46\x64\x23\x41\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x25\x2b\x6b\x37\x46\x29\x25\x62\x4e\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x2a\x68\x74\x41\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x25\x3e\x39\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x39\x5a\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x42\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x55\x37\x7e\x39\x41\x54\x75\x3e\x41\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x56\x4c\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x2b\x55\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x71\x5f\x54\x41\x55\x48\x35\x41\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x73\x34\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x63\x2b\x74\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x23\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x79\x39\x46\x66\x31\x54\x42\x46\x29\x53\x63\x34\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x68\x50\x41\x54\x63\x73\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6e\x4f\x41\x54\x63\x70\x46\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x48\x21\x76\x28\x39\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x47\x25\x2b\x6b\x37\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x7b\x44\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x26\x33\x77\x39\x47\x42\x59\x3c\x55\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x36\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x59\x5e\x7d\x39\x46\x67\x37\x65\x38\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x44\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x59\x28\x52\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x7a\x6e\x38\x46\x2a\x71\x7a\x42\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x41\x45\x46\x64\x79\x44\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x47\x25\x5f\x71\x38\x47\x25\x7a\x65\x36\x47\x42\x59\x24\x52\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x47\x63\x5f\x7a\x41\x47\x42\x37\x62\x4c\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x46\x2a\x59\x28\x52\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x75\x23\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x42\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x47\x45\x46\x64\x23\x38\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x6e\x33\x45\x47\x42\x50\x28\x54\x41\x54\x7d\x7e\x41\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x62\x7c\x75\x36\x47\x64\x33\x28\x42\x47\x42\x47\x28\x55\x41\x54\x6c\x3e\x42\x41\x55\x51\x48\x44\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x37\x56\x36\x48\x38\x33\x6e\x37\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x36\x46\x66\x31\x54\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x38\x44\x41\x54\x75\x5e\x42\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4c\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x2b\x74\x39\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x7c\x54\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x46\x2a\x37\x56\x36\x47\x26\x43\x24\x41\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x23\x38\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x47\x42\x37\x4d\x34\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x38\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x3e\x38\x45\x41\x54\x7e\x42\x45\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3e\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x2a\x38\x41\x54\x75\x3e\x41\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x7a\x52\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x55\x51\x4b\x45\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x37\x46\x66\x31\x54\x33\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x5a\x3f\x33\x44\x47\x42\x50\x6b\x4d\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x46\x29\x3d\x62\x4d\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x47\x26\x77\x39\x46\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x43\x3c\x43\x48\x38\x43\x74\x38\x49\x35\x52\x39\x44\x47\x42\x59\x24\x52\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x47\x42\x71\x3f\x54\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x4b\x48\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x76\x44\x45\x46\x64\x23\x38\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x48\x48\x37\x70\x3d\x38\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x47\x42\x37\x4d\x34\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x64\x43\x3c\x43\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x46\x29\x7d\x50\x35\x46\x29\x3d\x68\x4f\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x46\x29\x7d\x77\x53\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x4b\x48\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x47\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x64\x3c\x42\x48\x61\x49\x4c\x47\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x39\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x39\x46\x29\x53\x63\x34\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x47\x26\x4c\x2b\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x48\x48\x59\x5e\x7d\x45\x47\x41\x74\x6c\x35\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x39\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x42\x69\x30\x58\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x47\x64\x43\x3c\x43\x49\x56\x3e\x50\x44\x47\x42\x37\x4d\x34\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x75\x79\x35\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x55\x28\x41\x46\x2a\x59\x2b\x53\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x7a\x65\x36\x46\x29\x3d\x68\x4f\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x2a\x21\x46\x5a\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x47\x64\x33\x28\x42\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x5f\x54\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x43\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x36\x59\x41\x54\x63\x3b\x42\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x46\x66\x31\x54\x39\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x29\x7d\x24\x55\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x48\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x75\x26\x37\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x44\x45\x46\x64\x23\x39\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x30\x57\x41\x54\x25\x26\x36\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x46\x2a\x69\x33\x58\x41\x54\x25\x3b\x38\x41\x55\x38\x42\x44\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x43\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x2b\x54\x41\x54\x75\x26\x37\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x46\x29\x25\x6b\x51\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x46\x2a\x68\x7c\x56\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x49\x35\x23\x58\x48\x46\x29\x7d\x68\x4e\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x46\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x44\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x64\x56\x30\x45\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x36\x49\x34\x6d\x47\x42\x48\x59\x5e\x7d\x42\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x52\x49\x46\x47\x42\x71\x2b\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x29\x3d\x6e\x51\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x63\x79\x46\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x41\x74\x6c\x36\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x35\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x46\x29\x25\x56\x4c\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x47\x25\x5f\x71\x38\x49\x57\x73\x49\x45\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x23\x4f\x46\x46\x2a\x50\x7c\x58\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x47\x42\x47\x6b\x4e\x41\x54\x7d\x7e\x41\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x42\x47\x53\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x71\x68\x37\x47\x63\x5f\x7a\x41\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x61\x49\x4c\x47\x46\x2a\x71\x3f\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x46\x2a\x71\x7a\x42\x46\x2a\x37\x68\x4d\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x46\x2a\x68\x74\x41\x46\x2a\x59\x7c\x57\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x26\x77\x39\x46\x47\x42\x50\x59\x36\x48\x38\x77\x30\x44\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x7c\x55\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x7a\x6e\x38\x46\x29\x7d\x62\x4c\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x68\x4e\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x48\x45\x46\x64\x7b\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x29\x3d\x6e\x51\x41\x54\x54\x54\x2d\x47\x42\x68\x7c\x57\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x7a\x65\x36\x47\x25\x5f\x71\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x47\x26\x55\x3f\x43\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x45\x46\x64\x23\x42\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x77\x52\x41\x54\x75\x2a\x38\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4b\x45\x46\x64\x23\x42\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x68\x4d\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x37\x7a\x54\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x23\x41\x45\x46\x64\x23\x42\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x46\x2a\x69\x36\x59\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x37\x6e\x4f\x41\x54\x6c\x79\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x4a\x47\x62\x7c\x75\x36\x46\x67\x37\x65\x38\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x44\x45\x46\x64\x79\x36\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x48\x5a\x3f\x33\x44\x46\x2a\x37\x68\x4d\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x63\x59\x56\x35\x46\x29\x7d\x74\x52\x41\x54\x6c\x7b\x44\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x63\x71\x68\x37\x47\x26\x33\x77\x39\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x77\x51\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x7d\x59\x37\x47\x42\x59\x3c\x55\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x49\x35\x3b\x64\x49\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x43\x45\x46\x64\x23\x43\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x47\x6e\x4f\x41\x54\x63\x79\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x47\x42\x59\x7a\x51\x41\x54\x6c\x73\x43\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x52\x52\x48\x46\x29\x7d\x74\x52\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x49\x35\x61\x46\x45\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x3d\x65\x4e\x41\x54\x63\x2a\x4c\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x71\x7c\x55\x41\x54\x63\x73\x35\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x7b\x44\x41\x54\x6c\x73\x47\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x42\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x26\x4c\x2b\x42\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x77\x53\x41\x55\x51\x57\x49\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x63\x2b\x74\x39\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x62\x4c\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x41\x46\x67\x59\x77\x42\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x36\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x44\x33\x48\x23\x61\x4f\x47\x46\x2a\x59\x3f\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x44\x46\x2a\x37\x56\x36\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x41\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x46\x29\x3d\x6b\x50\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x5e\x42\x41\x54\x63\x73\x39\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x34\x46\x2a\x71\x7a\x42\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x26\x38\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x55\x28\x41\x46\x2a\x59\x7a\x50\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x29\x3d\x77\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x46\x2a\x50\x74\x4f\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x69\x30\x58\x41\x54\x63\x76\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x46\x66\x25\x4d\x35\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x5f\x7a\x41\x46\x2a\x69\x30\x57\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x68\x4e\x41\x54\x75\x3e\x41\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x61\x4f\x47\x46\x29\x3d\x6e\x51\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x56\x3e\x50\x43\x47\x64\x56\x30\x45\x46\x2a\x72\x43\x5a\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x5f\x57\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x41\x45\x46\x64\x76\x38\x46\x66\x31\x54\x39\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x21\x33\x56\x41\x54\x63\x76\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x28\x51\x41\x54\x6c\x76\x41\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x46\x67\x37\x65\x38\x46\x29\x7d\x62\x4c\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x71\x68\x37\x47\x63\x71\x68\x37\x48\x38\x4c\x7a\x39\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x5f\x57\x41\x54\x63\x3b\x42\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x49\x35\x38\x7c\x42\x46\x2a\x37\x7a\x53\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x44\x45\x46\x64\x79\x35\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x5f\x7a\x41\x46\x2a\x47\x7a\x52\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x46\x2a\x68\x74\x41\x46\x2a\x59\x2b\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x55\x51\x5a\x4a\x41\x54\x63\x73\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x65\x4c\x41\x54\x75\x26\x37\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x24\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x23\x38\x41\x55\x38\x51\x49\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x48\x38\x43\x74\x38\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x37\x46\x66\x31\x54\x36\x46\x29\x53\x63\x35\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x49\x57\x7b\x61\x48\x46\x29\x7d\x6e\x50\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x26\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6b\x4e\x41\x54\x63\x70\x48\x45\x46\x64\x79\x38\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x47\x42\x50\x2b\x55\x41\x54\x25\x26\x36\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x55\x38\x4b\x47\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x65\x4f\x41\x54\x63\x26\x44\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x6d\x5f\x43\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x42\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x49\x34\x7e\x3f\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x21\x26\x3c\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x23\x41\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x23\x49\x43\x45\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x37\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x75\x79\x35\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x41\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x47\x63\x71\x68\x37\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7c\x57\x41\x54\x6c\x7b\x44\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x62\x7c\x75\x36\x49\x58\x35\x67\x49\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x38\x46\x29\x53\x63\x34\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x43\x74\x38\x47\x26\x43\x24\x41\x46\x2a\x47\x2b\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x47\x63\x71\x68\x37\x46\x29\x3d\x77\x54\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x7a\x65\x36\x46\x2a\x47\x24\x53\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x70\x34\x41\x55\x38\x38\x43\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x2a\x50\x68\x38\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x5e\x43\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x28\x54\x41\x54\x63\x70\x41\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x74\x50\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x6b\x4e\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x38\x47\x42\x7a\x77\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x26\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x6b\x4f\x41\x54\x75\x7e\x44\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x24\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x41\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x7a\x77\x41\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x37\x4d\x34\x47\x42\x47\x71\x50\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x26\x55\x3f\x43\x47\x25\x5f\x71\x38\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x49\x35\x49\x33\x43\x46\x2a\x59\x3f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x66\x7d\x59\x37\x46\x2a\x71\x7a\x42\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x2b\x74\x39\x47\x42\x50\x3c\x56\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x43\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x77\x52\x41\x54\x6c\x23\x42\x45\x46\x64\x7b\x43\x45\x46\x64\x79\x35\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x54\x63\x6d\x41\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x46\x66\x7d\x59\x37\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x48\x38\x6d\x5f\x43\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x35\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x7a\x28\x43\x48\x38\x4c\x7a\x39\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x36\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x46\x29\x7d\x50\x35\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x41\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x26\x35\x45\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x74\x50\x41\x54\x75\x7b\x43\x41\x54\x6c\x73\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x38\x33\x6e\x37\x47\x42\x47\x77\x52\x41\x54\x63\x79\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x24\x54\x41\x54\x3e\x38\x45\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3f\x56\x41\x54\x7e\x42\x45\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x37\x45\x46\x64\x23\x31\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x49\x58\x45\x6d\x4a\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x23\x4f\x46\x47\x42\x37\x6e\x50\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x6e\x33\x45\x46\x2a\x37\x74\x51\x41\x54\x3d\x7e\x42\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x43\x45\x46\x64\x23\x41\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x48\x38\x4c\x7a\x39\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x49\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x34\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x5f\x7a\x41\x47\x64\x56\x30\x45\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x63\x3b\x42\x41\x54\x63\x76\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x46\x5a\x41\x54\x63\x70\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x6e\x4e\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x68\x4d\x41\x54\x63\x70\x38\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x46\x67\x47\x6b\x39\x46\x29\x7d\x71\x51\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x71\x68\x37\x46\x29\x3d\x68\x4f\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x7a\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x69\x30\x57\x41\x54\x63\x23\x38\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x46\x2a\x37\x56\x36\x47\x26\x43\x24\x41\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x48\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6e\x51\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x2b\x54\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x3d\x56\x4b\x41\x54\x7e\x42\x45\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x43\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x68\x7c\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x4c\x5f\x44\x46\x2a\x59\x6e\x39\x46\x2a\x37\x68\x4d\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x26\x35\x45\x41\x54\x63\x26\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x6e\x4e\x41\x54\x63\x70\x46\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x43\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x5a\x3f\x33\x44\x46\x29\x7d\x77\x53\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x48\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x4c\x5f\x44\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x46\x2a\x68\x74\x41\x46\x2a\x21\x36\x57\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x37\x47\x42\x71\x71\x39\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x61\x4f\x47\x46\x2a\x37\x77\x52\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x34\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x71\x52\x41\x54\x63\x3e\x4e\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x77\x39\x46\x47\x42\x50\x74\x50\x41\x54\x63\x76\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x70\x38\x45\x46\x64\x3b\x44\x45\x46\x64\x79\x39\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x42\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x26\x38\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x52\x52\x48\x47\x42\x47\x77\x52\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3e\x38\x41\x54\x63\x26\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x24\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x68\x2b\x52\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x47\x64\x33\x28\x42\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x5f\x54\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x33\x28\x42\x47\x64\x33\x28\x42\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x47\x42\x37\x4d\x34\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x61\x4f\x47\x46\x2a\x37\x6b\x4e\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x4b\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x2b\x74\x39\x46\x2a\x21\x46\x5a\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x30\x57\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x71\x53\x41\x54\x63\x3e\x43\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x45\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x41\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x41\x74\x6c\x36\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x42\x45\x41\x54\x63\x79\x42\x45\x46\x64\x79\x36\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x3f\x55\x41\x54\x7e\x45\x46\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x36\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x44\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x5f\x55\x41\x54\x6c\x76\x48\x45\x46\x64\x7b\x4a\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x48\x23\x30\x30\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x42\x47\x25\x4f\x25\x37\x49\x57\x73\x49\x45\x46\x2a\x71\x3c\x52\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x50\x77\x51\x41\x54\x63\x76\x43\x45\x46\x64\x26\x37\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x66\x31\x54\x33\x47\x63\x5f\x7a\x41\x47\x42\x47\x71\x50\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x38\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x47\x26\x4c\x2b\x42\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x26\x6e\x33\x45\x46\x2a\x21\x43\x59\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x70\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x47\x42\x47\x68\x4d\x41\x54\x63\x73\x46\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x48\x21\x3e\x5f\x42\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x47\x40\x5f\x48\x61\x52\x52\x48\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x45\x46\x66\x31\x54\x33\x49\x35\x52\x39\x44\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x36\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x47\x26\x64\x7c\x44\x46\x2a\x59\x2b\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x48\x38\x77\x30\x44\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x63\x70\x46\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x46\x2a\x59\x2b\x53\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x47\x40\x5f\x48\x23\x6a\x55\x48\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x41\x46\x66\x31\x54\x33\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x71\x50\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x46\x2a\x68\x7c\x56\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x36\x49\x56\x3e\x50\x44\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x46\x66\x7d\x59\x37\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x47\x42\x50\x28\x54\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x3d\x53\x36\x47\x42\x59\x7a\x51\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x49\x57\x73\x49\x45\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x48\x45\x46\x64\x23\x37\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x47\x6e\x4f\x41\x54\x63\x79\x44\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x48\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x47\x42\x37\x59\x4b\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x68\x7c\x57\x41\x54\x6c\x76\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x42\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x45\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x47\x42\x37\x62\x4c\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x46\x2a\x5a\x30\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x48\x21\x4c\x37\x42\x46\x66\x3d\x53\x36\x47\x42\x37\x62\x4c\x41\x54\x63\x3b\x42\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x49\x56\x3e\x50\x49\x48\x21\x4c\x37\x41\x48\x23\x73\x61\x49\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x39\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x64\x33\x28\x42\x46\x2a\x21\x46\x5a\x41\x54\x63\x70\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x2b\x56\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x65\x4c\x41\x54\x7e\x32\x42\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x38\x45\x46\x64\x26\x42\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x37\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x47\x43\x33\x3f\x44\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x5f\x55\x41\x55\x37\x7e\x39\x41\x54\x63\x79\x48\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x57\x23\x4f\x46\x46\x29\x7d\x7a\x54\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x4c\x7a\x39\x46\x2a\x37\x7a\x53\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x7b\x43\x41\x54\x26\x38\x46\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x47\x63\x2b\x74\x39\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x43\x3c\x43\x47\x42\x59\x74\x4f\x41\x54\x6c\x26\x43\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x48\x37\x70\x3d\x38\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x4b\x48\x41\x54\x63\x79\x44\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x47\x25\x4f\x25\x38\x47\x42\x71\x71\x39\x46\x2a\x59\x5f\x56\x41\x54\x3d\x3b\x37\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x44\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x50\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x46\x2a\x71\x3f\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x3f\x33\x44\x46\x2a\x59\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x41\x46\x2a\x68\x74\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x33\x58\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x4c\x5f\x44\x47\x63\x2b\x74\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x37\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x46\x67\x59\x77\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x47\x42\x47\x71\x50\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x37\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x37\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x70\x38\x45\x46\x64\x76\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x69\x30\x58\x41\x54\x6c\x76\x43\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x44\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7e\x43\x41\x54\x63\x3e\x50\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x71\x7a\x42\x46\x2a\x69\x39\x5a\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x3c\x52\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x76\x28\x39\x47\x42\x37\x7a\x54\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x4e\x73\x4b\x46\x29\x3d\x65\x4e\x41\x54\x6c\x26\x43\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x48\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x48\x47\x41\x54\x63\x73\x47\x45\x46\x64\x3b\x34\x41\x54\x63\x70\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x63\x71\x68\x37\x46\x2a\x37\x7a\x53\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x73\x39\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x46\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x24\x54\x41\x54\x63\x2a\x4c\x45\x46\x64\x26\x36\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x47\x63\x71\x68\x37\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x35\x43\x41\x54\x63\x76\x44\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x28\x54\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x51\x45\x43\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3e\x41\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x26\x37\x41\x54\x75\x5e\x42\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x61\x4f\x47\x47\x25\x5f\x71\x38\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x48\x61\x39\x46\x46\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x46\x2a\x37\x74\x51\x41\x55\x48\x57\x4a\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x43\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x79\x49\x45\x46\x64\x23\x41\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x26\x38\x46\x41\x54\x63\x3e\x43\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x41\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x47\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x21\x26\x3c\x41\x47\x42\x50\x6e\x4e\x41\x54\x63\x2a\x4a\x45\x46\x64\x5e\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6b\x50\x41\x55\x51\x63\x4b\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x2a\x47\x62\x37\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x75\x3e\x41\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x33\x58\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x28\x36\x45\x47\x63\x59\x56\x35\x47\x26\x55\x3f\x43\x47\x63\x7a\x6e\x38\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x47\x25\x4f\x25\x37\x48\x23\x61\x4f\x47\x46\x2a\x21\x4c\x62\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x48\x23\x30\x30\x43\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x4a\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x45\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x5a\x3f\x33\x44\x47\x42\x47\x68\x4d\x41\x54\x6c\x76\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x3f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x43\x47\x26\x43\x24\x41\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x46\x66\x7d\x59\x37\x46\x2a\x37\x56\x36\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x2b\x74\x39\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4b\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x5f\x7a\x41\x47\x63\x7a\x6e\x38\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x47\x42\x50\x6b\x4d\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x24\x53\x41\x55\x48\x54\x49\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x44\x47\x25\x4f\x25\x42\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x74\x51\x41\x54\x63\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x38\x49\x35\x61\x46\x45\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x46\x2a\x68\x3f\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x7b\x43\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x34\x45\x46\x64\x3b\x34\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x2a\x47\x62\x37\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x4c\x5f\x44\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x48\x38\x33\x6e\x37\x46\x2a\x72\x43\x5a\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x46\x2a\x50\x68\x38\x47\x63\x71\x68\x37\x46\x2a\x37\x2b\x56\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x59\x5e\x7d\x41\x47\x26\x55\x3f\x43\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x47\x42\x59\x3c\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x46\x29\x25\x71\x53\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x7b\x4b\x45\x46\x64\x26\x37\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x48\x45\x46\x64\x23\x37\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x47\x42\x50\x77\x51\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x70\x34\x41\x55\x38\x35\x42\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x46\x29\x25\x62\x4e\x41\x54\x63\x23\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x24\x54\x41\x54\x25\x3b\x38\x41\x54\x63\x23\x48\x45\x46\x64\x26\x42\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x7a\x53\x41\x54\x63\x6d\x44\x45\x46\x64\x7b\x4b\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x44\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x69\x30\x58\x41\x54\x6c\x76\x39\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x42\x45\x46\x64\x26\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x72\x33\x57\x41\x54\x63\x73\x42\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x5a\x26\x7c\x43\x47\x42\x47\x24\x54\x41\x54\x63\x3e\x4b\x45\x46\x64\x76\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x2b\x74\x39\x47\x64\x43\x3c\x43\x46\x29\x3d\x68\x4f\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x46\x2a\x47\x62\x37\x48\x38\x55\x28\x41\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x26\x6e\x33\x45\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x23\x42\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x61\x49\x4c\x47\x46\x2a\x72\x30\x56\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x73\x41\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x45\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x42\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x37\x6e\x4f\x41\x54\x63\x2a\x4e\x45\x46\x64\x2a\x43\x45\x46\x64\x26\x44\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x26\x35\x45\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x47\x25\x5f\x71\x38\x46\x29\x25\x65\x4f\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x46\x2a\x47\x24\x53\x41\x54\x63\x79\x44\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x5f\x55\x41\x54\x6c\x76\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x45\x45\x46\x64\x2a\x43\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x2a\x37\x6b\x4e\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x7e\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x4c\x2b\x42\x46\x2a\x47\x3c\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x47\x42\x47\x71\x50\x41\x55\x51\x5a\x4a\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x49\x45\x46\x64\x23\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x63\x71\x68\x37\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x46\x29\x7d\x7a\x54\x41\x54\x3d\x3b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3b\x37\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x6d\x2b\x41\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x4c\x2b\x42\x46\x29\x25\x50\x4a\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x47\x42\x37\x74\x52\x41\x54\x25\x5e\x41\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x37\x47\x41\x74\x6c\x35\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x49\x4c\x47\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x63\x2b\x74\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x47\x48\x59\x5e\x7d\x39\x47\x42\x37\x4d\x34\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x5f\x7a\x41\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x5f\x7a\x41\x46\x29\x7d\x65\x4d\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x3d\x6e\x51\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x2b\x74\x39\x47\x64\x33\x28\x42\x46\x2a\x37\x56\x36\x46\x2a\x71\x3c\x52\x41\x54\x25\x72\x3e\x46\x2a\x69\x33\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x64\x43\x3c\x43\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x46\x2a\x68\x74\x41\x48\x38\x43\x74\x38\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x30\x57\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x5f\x7a\x41\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x47\x25\x2b\x6b\x37\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x37\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x48\x61\x49\x4c\x47\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x37\x6e\x4f\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x49\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x47\x26\x33\x77\x39\x46\x29\x25\x68\x50\x41\x54\x6c\x73\x45\x45\x46\x64\x23\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x68\x4d\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x34\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x45\x45\x46\x64\x26\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x72\x30\x56\x41\x54\x25\x26\x36\x41\x54\x63\x26\x45\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x59\x65\x37\x46\x2a\x69\x33\x58\x41\x54\x75\x3b\x39\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x37\x56\x36\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x45\x46\x41\x54\x63\x76\x45\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x49\x61\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x63\x68\x62\x36\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x48\x38\x3f\x43\x46\x46\x29\x7d\x65\x4d\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x47\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x5f\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x6e\x4e\x41\x54\x63\x3b\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4c\x45\x46\x64\x79\x35\x46\x29\x53\x63\x37\x47\x25\x4f\x25\x37\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x39\x46\x46\x47\x42\x47\x6b\x4e\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x35\x67\x49\x47\x64\x33\x28\x42\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x47\x42\x7a\x77\x41\x46\x2a\x59\x28\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x59\x77\x42\x48\x5a\x3f\x33\x44\x47\x42\x37\x4d\x34\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x71\x3f\x53\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x42\x46\x66\x31\x54\x39\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x36\x48\x23\x52\x49\x46\x47\x42\x37\x74\x52\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x23\x58\x48\x48\x61\x52\x52\x48\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x49\x35\x52\x39\x44\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x3f\x55\x41\x55\x37\x7e\x39\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x68\x74\x41\x46\x2a\x21\x36\x57\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x47\x25\x5f\x71\x38\x46\x2a\x50\x7c\x58\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x26\x6e\x33\x45\x46\x29\x3d\x56\x4b\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x75\x7b\x43\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x44\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x48\x45\x46\x64\x5e\x4a\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x47\x26\x4c\x2b\x42\x48\x38\x77\x30\x44\x48\x5a\x55\x77\x38\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x76\x42\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x48\x21\x4c\x37\x41\x49\x57\x7b\x61\x48\x46\x29\x25\x56\x4c\x41\x54\x63\x23\x46\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x38\x47\x25\x7a\x65\x36\x49\x58\x4e\x73\x4b\x49\x56\x3e\x50\x44\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x37\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x26\x41\x45\x46\x64\x23\x44\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x6d\x5f\x43\x47\x42\x50\x28\x54\x41\x54\x6c\x79\x36\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x75\x79\x35\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x43\x74\x38\x47\x42\x68\x77\x4f\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x7a\x65\x36\x47\x63\x2b\x74\x39\x46\x2a\x37\x77\x52\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x25\x7a\x65\x36\x46\x2a\x59\x3c\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x55\x51\x63\x4b\x41\x54\x25\x26\x36\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x71\x68\x37\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x37\x56\x36\x48\x23\x6a\x55\x48\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x23\x37\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x46\x29\x3d\x65\x4e\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x47\x62\x37\x46\x2a\x50\x77\x50\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x2a\x37\x56\x36\x47\x25\x5f\x71\x38\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x37\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6e\x4f\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x48\x38\x43\x74\x38\x47\x42\x59\x24\x52\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x39\x47\x63\x5f\x7a\x41\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x3b\x41\x41\x54\x63\x2a\x4c\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x44\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x48\x61\x49\x4c\x47\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x49\x57\x23\x4f\x46\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x44\x47\x62\x7c\x75\x45\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x38\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x45\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x69\x30\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x35\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x30\x41\x54\x6c\x26\x44\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x37\x4d\x34\x47\x42\x47\x68\x4d\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x4e\x73\x4b\x46\x29\x3d\x6e\x51\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x46\x2a\x69\x39\x5a\x41\x54\x6c\x26\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x65\x4f\x41\x54\x75\x23\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x41\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x41\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x34\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x35\x43\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x46\x2a\x50\x2b\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x47\x45\x46\x64\x79\x34\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x63\x2b\x74\x39\x46\x2a\x50\x77\x50\x41\x54\x63\x73\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x7d\x7e\x41\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x46\x45\x46\x64\x23\x43\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x61\x52\x52\x48\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x49\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x48\x45\x46\x64\x7b\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x47\x63\x2b\x74\x39\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x45\x46\x41\x54\x63\x73\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x62\x4d\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x7c\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x26\x77\x39\x46\x47\x63\x59\x56\x35\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x25\x5f\x71\x38\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x41\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x2b\x52\x41\x54\x63\x3b\x4b\x45\x46\x64\x79\x30\x41\x54\x63\x73\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x48\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x6e\x51\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x37\x46\x2a\x37\x56\x36\x46\x2a\x47\x71\x4f\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x63\x5f\x7a\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x21\x26\x3c\x41\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x36\x59\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x47\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x49\x35\x6a\x4c\x46\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x47\x41\x74\x6c\x37\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x6b\x4e\x41\x54\x63\x70\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x47\x63\x2b\x74\x39\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x42\x47\x42\x5f\x2b\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x26\x45\x45\x46\x64\x23\x35\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x26\x39\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x42\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x43\x3c\x43\x47\x63\x59\x56\x35\x47\x42\x71\x3f\x54\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x38\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3b\x37\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x46\x45\x46\x64\x76\x38\x46\x29\x53\x63\x41\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x21\x30\x55\x41\x54\x63\x76\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x5a\x55\x77\x38\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x43\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x68\x7c\x56\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x43\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x47\x63\x68\x62\x36\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x43\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x46\x67\x59\x77\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x3e\x43\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x68\x74\x41\x46\x2a\x50\x28\x53\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x43\x33\x3f\x44\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x56\x30\x45\x49\x58\x35\x67\x49\x48\x39\x30\x49\x47\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x46\x2a\x68\x74\x41\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x77\x51\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x72\x30\x56\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x2a\x37\x56\x36\x48\x21\x76\x28\x39\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x46\x46\x29\x53\x63\x34\x47\x26\x43\x24\x41\x46\x29\x25\x62\x4e\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x28\x53\x41\x54\x75\x26\x37\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x46\x66\x31\x54\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x38\x47\x25\x4f\x25\x38\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x39\x46\x46\x46\x2a\x47\x77\x51\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3e\x38\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x74\x50\x41\x54\x63\x70\x42\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x39\x59\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x59\x3f\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x44\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x28\x51\x41\x54\x63\x76\x45\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x26\x36\x41\x54\x63\x23\x44\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x46\x2a\x69\x33\x58\x41\x54\x7d\x5e\x38\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x39\x46\x46\x47\x42\x37\x77\x53\x41\x54\x63\x79\x45\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x48\x38\x55\x28\x41\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x46\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x66\x3d\x53\x36\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x43\x45\x46\x64\x23\x43\x45\x46\x64\x26\x44\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x6e\x33\x45\x46\x2a\x71\x5f\x54\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x48\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x35\x41\x54\x75\x23\x36\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x37\x56\x36\x49\x58\x35\x67\x49\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x41\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x44\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x62\x4d\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x3c\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x48\x38\x28\x36\x45\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x36\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x46\x2a\x5a\x33\x59\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x70\x41\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x47\x42\x71\x71\x39\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x70\x34\x41\x55\x38\x45\x45\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x43\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x77\x52\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x47\x64\x56\x30\x45\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x47\x42\x47\x53\x35\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x35\x45\x41\x54\x63\x73\x41\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x35\x3b\x64\x49\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x23\x37\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x38\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x2a\x37\x56\x36\x48\x39\x30\x49\x47\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x35\x43\x41\x54\x63\x73\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x4c\x62\x41\x54\x63\x70\x41\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x68\x4d\x41\x54\x7e\x32\x42\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x39\x45\x46\x64\x23\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x77\x52\x41\x54\x25\x7b\x42\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6b\x4f\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x5f\x53\x41\x54\x63\x73\x35\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x48\x59\x5e\x7d\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x21\x76\x28\x39\x46\x29\x7d\x24\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x47\x63\x7a\x6e\x38\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x48\x23\x73\x61\x49\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x47\x63\x68\x62\x36\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x25\x5f\x71\x38\x47\x42\x50\x77\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x46\x29\x3d\x77\x54\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x49\x35\x38\x7c\x42\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4b\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x34\x6d\x47\x47\x49\x56\x3e\x50\x43\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x2a\x37\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x71\x50\x41\x54\x75\x3e\x41\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x47\x3f\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x21\x3e\x5f\x42\x46\x2a\x68\x5f\x55\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x62\x7c\x75\x36\x46\x2a\x37\x56\x36\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x2b\x54\x41\x54\x63\x26\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x71\x68\x37\x47\x64\x43\x3c\x43\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x46\x48\x37\x70\x3d\x38\x47\x63\x7a\x6e\x38\x47\x42\x68\x5f\x56\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x46\x2a\x37\x56\x36\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x62\x7c\x75\x37\x47\x42\x71\x71\x39\x46\x29\x3d\x68\x4f\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x68\x74\x41\x46\x2a\x47\x7a\x52\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x63\x68\x62\x36\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x47\x63\x68\x62\x36\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x2b\x74\x39\x46\x29\x25\x6b\x51\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x3d\x71\x52\x41\x54\x63\x79\x46\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x42\x50\x59\x36\x47\x42\x47\x65\x4c\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x36\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x61\x39\x46\x46\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3c\x54\x41\x54\x63\x26\x39\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x44\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x47\x42\x50\x77\x51\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3f\x56\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x39\x47\x41\x74\x6c\x35\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x43\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x5f\x7a\x41\x46\x2a\x37\x2b\x56\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x38\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x75\x7e\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x42\x45\x46\x64\x76\x35\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x26\x36\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x6e\x4e\x41\x54\x63\x2a\x4b\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x64\x3c\x42\x46\x2a\x7a\x28\x43\x47\x42\x47\x7a\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x46\x29\x3d\x6b\x50\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x6c\x23\x37\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x48\x45\x46\x64\x23\x38\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x6e\x33\x45\x46\x2a\x72\x30\x56\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x47\x47\x25\x4f\x25\x37\x49\x57\x73\x49\x45\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x55\x38\x48\x46\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x62\x4e\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x28\x55\x41\x54\x75\x7e\x44\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x46\x2a\x47\x28\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x59\x28\x52\x41\x54\x63\x76\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x67\x37\x65\x38\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x29\x7d\x50\x35\x47\x42\x50\x77\x51\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x46\x2a\x72\x30\x56\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x49\x35\x38\x7c\x42\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x48\x45\x46\x64\x23\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x42\x37\x68\x4e\x41\x54\x63\x73\x39\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x45\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x47\x42\x37\x59\x4b\x41\x54\x63\x79\x44\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x76\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x42\x45\x46\x64\x76\x33\x46\x66\x31\x54\x39\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x59\x28\x52\x41\x54\x63\x73\x49\x45\x46\x64\x23\x43\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x48\x45\x46\x64\x26\x43\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x49\x4c\x47\x47\x42\x50\x6e\x4e\x41\x54\x63\x2a\x45\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x4a\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x5f\x2b\x43\x47\x42\x37\x77\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x47\x63\x5f\x7a\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x59\x3c\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x71\x7a\x42\x49\x58\x45\x6d\x4a\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x42\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x47\x42\x71\x28\x51\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x48\x23\x6a\x55\x48\x46\x29\x3d\x56\x4b\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x46\x29\x53\x63\x35\x48\x37\x70\x3d\x38\x49\x57\x61\x36\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x26\x45\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x45\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x79\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x63\x2b\x74\x39\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x47\x26\x6e\x33\x45\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x2a\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x41\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x33\x6e\x37\x46\x2a\x37\x6b\x4e\x41\x54\x7e\x45\x46\x41\x54\x63\x6d\x37\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x6d\x2b\x41\x46\x2a\x69\x30\x57\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x43\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x57\x4a\x41\x54\x7e\x48\x47\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x46\x29\x25\x65\x4f\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x44\x47\x42\x37\x4d\x34\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x75\x3b\x39\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x7c\x55\x41\x54\x63\x26\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x26\x6e\x33\x45\x47\x42\x50\x59\x36\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x63\x2b\x74\x39\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x2b\x74\x39\x46\x2a\x72\x39\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x46\x29\x53\x63\x34\x49\x57\x23\x4f\x46\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x44\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x41\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x48\x61\x39\x46\x46\x47\x63\x2b\x74\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x25\x5f\x71\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x58\x35\x67\x49\x46\x2a\x37\x2b\x56\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x47\x42\x37\x7a\x54\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x46\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x46\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x2b\x52\x41\x54\x63\x73\x48\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x39\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7e\x43\x41\x54\x6c\x73\x43\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x47\x45\x46\x64\x5e\x36\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x45\x46\x66\x31\x54\x33\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x5f\x2b\x43\x46\x2a\x37\x77\x52\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x47\x64\x56\x30\x45\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x46\x67\x37\x65\x38\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x42\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x7a\x54\x41\x54\x63\x70\x48\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x23\x39\x36\x44\x47\x42\x59\x3f\x56\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x46\x48\x21\x4c\x37\x41\x47\x26\x43\x24\x41\x46\x2a\x72\x46\x61\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x3f\x53\x41\x54\x6c\x76\x45\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x47\x41\x74\x6c\x35\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3e\x39\x41\x54\x63\x3e\x4a\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x61\x30\x39\x45\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x61\x49\x4c\x47\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x43\x45\x46\x64\x23\x37\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x21\x26\x3c\x41\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x49\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x42\x45\x46\x64\x7b\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x54\x26\x35\x45\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x74\x51\x41\x54\x25\x3b\x38\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x47\x3f\x57\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x46\x2a\x7a\x28\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x26\x46\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x41\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x75\x7b\x43\x41\x54\x63\x70\x48\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x46\x2a\x71\x3c\x52\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x43\x48\x59\x5e\x7d\x41\x46\x67\x59\x77\x42\x47\x42\x68\x5f\x56\x41\x54\x63\x23\x38\x41\x54\x63\x70\x34\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x34\x46\x66\x63\x34\x32\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x26\x33\x77\x39\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x48\x61\x30\x39\x45\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x25\x5f\x71\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x7a\x51\x41\x55\x38\x32\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x43\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x44\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x76\x48\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x47\x64\x43\x3c\x43\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x7a\x28\x43\x48\x38\x64\x3c\x42\x47\x25\x5f\x71\x38\x46\x2a\x37\x7a\x53\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x47\x42\x68\x6b\x38\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x69\x36\x59\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x47\x49\x56\x3e\x50\x43\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x48\x47\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x41\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3c\x54\x41\x54\x6c\x76\x35\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x62\x7c\x75\x36\x47\x26\x77\x39\x46\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x44\x47\x25\x4f\x25\x37\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x26\x33\x77\x39\x46\x2a\x71\x5f\x54\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x33\x28\x42\x46\x29\x3d\x65\x4e\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x25\x7a\x65\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x59\x71\x4e\x41\x54\x63\x70\x34\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x36\x48\x38\x64\x3c\x42\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x36\x48\x38\x4c\x7a\x39\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x41\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x49\x58\x4e\x73\x4b\x47\x25\x2b\x6b\x37\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x37\x47\x25\x4f\x25\x39\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x47\x42\x69\x30\x58\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x49\x35\x7b\x6a\x4a\x46\x29\x3d\x68\x4f\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x46\x2a\x72\x33\x57\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x66\x31\x54\x33\x47\x63\x59\x56\x35\x46\x2a\x71\x7c\x55\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x49\x57\x61\x36\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x48\x38\x55\x28\x41\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x34\x46\x66\x31\x54\x34\x47\x41\x74\x6c\x41\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x28\x51\x41\x54\x63\x76\x46\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x47\x45\x46\x64\x5e\x49\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x6d\x42\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x46\x67\x37\x65\x38\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x48\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x26\x33\x77\x39\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x37\x49\x34\x6d\x47\x43\x48\x21\x4c\x37\x42\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x37\x46\x66\x7d\x59\x37\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x50\x7a\x52\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x46\x2a\x7a\x28\x43\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x71\x71\x39\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x41\x49\x34\x6d\x47\x43\x47\x26\x4c\x2b\x42\x46\x29\x7d\x50\x35\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x47\x64\x4c\x5f\x44\x47\x42\x71\x3f\x54\x41\x54\x63\x23\x43\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x46\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x30\x57\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x6b\x50\x41\x54\x63\x73\x39\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x73\x44\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x49\x4c\x47\x47\x42\x47\x77\x52\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x44\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x26\x35\x45\x41\x54\x6c\x2a\x49\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x68\x4f\x41\x54\x63\x79\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x26\x77\x39\x46\x46\x2a\x47\x77\x51\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x46\x2a\x37\x24\x54\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x76\x32\x45\x41\x54\x63\x6d\x39\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x4c\x7a\x39\x47\x42\x47\x68\x4d\x41\x54\x63\x73\x41\x45\x46\x64\x26\x41\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x46\x2a\x71\x3c\x52\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x46\x29\x53\x63\x34\x47\x63\x59\x56\x35\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x75\x23\x36\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x49\x58\x35\x67\x49\x46\x2a\x59\x3c\x54\x41\x55\x48\x48\x45\x41\x54\x6c\x73\x45\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x44\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x65\x4e\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x26\x6e\x33\x45\x46\x2a\x59\x6e\x39\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x68\x4e\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x70\x41\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x46\x2a\x72\x30\x56\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x62\x7c\x75\x37\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x57\x4a\x41\x55\x38\x4b\x47\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x46\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x26\x7c\x43\x48\x5a\x3f\x33\x44\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x39\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x48\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3f\x57\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x68\x28\x51\x41\x54\x6c\x76\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x43\x45\x46\x64\x76\x33\x46\x66\x31\x54\x38\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x26\x42\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x39\x47\x26\x6e\x33\x45\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x48\x45\x46\x64\x7b\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x47\x63\x2b\x74\x39\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x35\x43\x41\x54\x63\x73\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x2b\x55\x41\x54\x63\x70\x42\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x77\x52\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x46\x66\x75\x47\x34\x47\x42\x68\x28\x52\x41\x54\x25\x5e\x41\x41\x54\x63\x3b\x42\x41\x54\x3e\x35\x44\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x26\x7c\x43\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x5f\x7a\x41\x47\x42\x59\x71\x4e\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x7d\x59\x37\x46\x2a\x7a\x7c\x54\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x49\x35\x7b\x6a\x4a\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x49\x45\x46\x64\x23\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6b\x4d\x41\x54\x63\x76\x4a\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x29\x7d\x50\x35\x46\x2a\x7a\x7c\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x35\x49\x33\x43\x46\x2a\x68\x5f\x55\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x5a\x3f\x33\x44\x46\x29\x7d\x77\x53\x41\x54\x63\x6d\x39\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x21\x26\x3c\x41\x47\x42\x47\x71\x50\x41\x54\x26\x32\x44\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x7a\x52\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x71\x5f\x54\x41\x55\x48\x54\x49\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x46\x46\x29\x53\x63\x34\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x37\x4d\x34\x47\x42\x50\x6b\x4d\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x4e\x73\x4b\x47\x63\x71\x68\x37\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x47\x42\x71\x3c\x53\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x30\x39\x45\x46\x29\x3d\x6b\x50\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x46\x2a\x37\x56\x36\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x62\x4c\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x4c\x2b\x42\x46\x2a\x47\x3c\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x48\x38\x33\x6e\x37\x49\x34\x6d\x47\x42\x48\x23\x30\x30\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x44\x45\x46\x64\x23\x39\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x42\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3f\x57\x41\x54\x63\x79\x43\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x2b\x52\x41\x54\x63\x76\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x37\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x59\x28\x52\x41\x54\x6c\x76\x43\x45\x46\x64\x26\x38\x45\x46\x64\x3b\x34\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x44\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x50\x68\x38\x47\x43\x33\x3f\x44\x47\x42\x68\x3c\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x37\x47\x25\x7a\x65\x36\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x46\x29\x7d\x50\x35\x47\x42\x71\x5f\x55\x41\x55\x51\x54\x48\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x42\x50\x24\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x7d\x50\x35\x48\x5a\x76\x3f\x42\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x5e\x39\x41\x54\x25\x5e\x41\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x70\x48\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x43\x74\x38\x46\x2a\x71\x3f\x53\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x21\x26\x3c\x41\x46\x2a\x37\x71\x50\x41\x54\x63\x3e\x50\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x48\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x46\x2a\x59\x6e\x39\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x47\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3c\x56\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x76\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x47\x26\x77\x39\x46\x47\x26\x64\x7c\x44\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x38\x46\x2a\x7a\x28\x43\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x47\x42\x7a\x77\x41\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x66\x31\x54\x42\x48\x37\x70\x3d\x38\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x26\x36\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x2b\x74\x39\x47\x42\x50\x6b\x4d\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x63\x59\x56\x35\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x5a\x26\x7c\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x26\x45\x45\x46\x64\x76\x41\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x47\x42\x71\x28\x51\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x47\x42\x2b\x24\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x37\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x34\x7e\x3f\x41\x47\x42\x47\x68\x4d\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x44\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4b\x45\x46\x64\x23\x42\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x24\x54\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x6b\x4e\x41\x54\x3e\x35\x44\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x26\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x74\x51\x41\x54\x75\x7b\x43\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x46\x5a\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x55\x48\x38\x42\x41\x55\x47\x40\x5f\x46\x2a\x37\x28\x55\x41\x54\x63\x3e\x4c\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x42\x47\x41\x74\x6c\x35\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x46\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x45\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x47\x42\x37\x59\x4b\x41\x54\x63\x76\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x76\x46\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x46\x66\x63\x34\x32\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x41\x48\x23\x6a\x55\x48\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x49\x58\x35\x67\x49\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x45\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x67\x59\x77\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x3f\x54\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x7a\x28\x43\x46\x2a\x47\x3c\x56\x41\x55\x51\x42\x42\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x33\x58\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x76\x32\x45\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x62\x4c\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x7a\x52\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x55\x48\x38\x42\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x46\x29\x53\x63\x34\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x49\x4c\x47\x46\x29\x7d\x24\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x47\x42\x2b\x24\x42\x46\x2a\x59\x28\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x59\x77\x42\x48\x61\x49\x4c\x47\x46\x29\x7d\x62\x4c\x41\x54\x63\x73\x43\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x21\x26\x3c\x41\x47\x42\x37\x7a\x54\x41\x55\x48\x35\x41\x41\x54\x75\x79\x35\x41\x54\x6c\x5e\x43\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x55\x3f\x43\x46\x2a\x21\x33\x56\x41\x54\x6c\x26\x4a\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x35\x61\x46\x45\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x37\x6b\x4e\x41\x55\x48\x45\x44\x41\x54\x25\x3b\x38\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x2a\x59\x6e\x39\x47\x26\x55\x3f\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x57\x7b\x61\x48\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x23\x49\x43\x45\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x45\x46\x64\x23\x41\x45\x46\x64\x2a\x44\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x47\x42\x47\x6b\x4e\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3e\x41\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x26\x64\x7c\x44\x46\x2a\x21\x43\x59\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x6a\x55\x48\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x47\x42\x47\x65\x4c\x41\x54\x63\x73\x42\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x29\x7d\x24\x55\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x26\x4c\x2b\x42\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x48\x38\x55\x28\x41\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x66\x7d\x59\x37\x47\x63\x59\x56\x35\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x25\x5f\x71\x38\x46\x2a\x69\x30\x57\x41\x54\x63\x26\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x4c\x5f\x44\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x29\x7d\x65\x4d\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x48\x21\x4c\x37\x41\x47\x25\x2b\x6b\x37\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x75\x23\x36\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x49\x57\x7b\x61\x48\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x47\x63\x5f\x7a\x41\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x57\x73\x49\x45\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x48\x38\x43\x74\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x70\x48\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x43\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x23\x45\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x46\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x45\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x48\x23\x61\x4f\x47\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x26\x36\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x35\x46\x67\x47\x6b\x39\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3e\x32\x43\x41\x54\x25\x7e\x43\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x47\x26\x4c\x2b\x42\x46\x2a\x7a\x28\x43\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x39\x5a\x41\x54\x6c\x79\x36\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x44\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6e\x4e\x41\x54\x6c\x76\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x46\x2a\x72\x46\x61\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x47\x42\x71\x24\x50\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x47\x6b\x39\x48\x21\x76\x28\x39\x46\x2a\x47\x62\x37\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x6b\x50\x41\x54\x75\x7e\x44\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x46\x66\x63\x34\x32\x46\x2a\x37\x28\x55\x41\x54\x63\x26\x4b\x45\x46\x64\x26\x36\x45\x46\x64\x79\x41\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x57\x73\x49\x45\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x28\x52\x41\x55\x37\x7e\x39\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x49\x61\x41\x54\x75\x7e\x44\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x55\x37\x7e\x39\x41\x54\x63\x70\x41\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x6e\x33\x45\x46\x2a\x37\x77\x52\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x7e\x44\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x5f\x71\x38\x46\x2a\x50\x74\x4f\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x26\x4a\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x25\x5f\x71\x38\x46\x2a\x21\x49\x61\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x46\x2a\x59\x6e\x39\x47\x42\x59\x77\x50\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x48\x38\x3f\x43\x46\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x55\x51\x63\x4b\x41\x54\x25\x7e\x43\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x3d\x4a\x34\x46\x29\x3d\x71\x52\x41\x54\x3d\x3e\x38\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x23\x6a\x55\x48\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x7b\x6a\x4a\x47\x42\x7a\x77\x41\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x39\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x6b\x51\x41\x54\x75\x3e\x41\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x5e\x42\x41\x54\x63\x70\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x24\x53\x41\x54\x63\x73\x42\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x39\x46\x46\x47\x42\x50\x74\x50\x41\x54\x63\x26\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x2b\x74\x39\x46\x29\x3d\x68\x4f\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x23\x48\x45\x46\x64\x23\x38\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x3e\x35\x44\x41\x54\x7e\x48\x47\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x42\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x2a\x4c\x45\x46\x64\x79\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x71\x4f\x41\x54\x63\x2a\x4c\x45\x46\x64\x5e\x36\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x46\x2a\x68\x74\x41\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x55\x38\x32\x41\x41\x54\x6c\x76\x45\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x2b\x55\x41\x54\x63\x70\x41\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x64\x56\x30\x45\x47\x42\x68\x24\x51\x41\x55\x38\x48\x46\x41\x55\x47\x40\x5f\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x74\x52\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x33\x28\x42\x47\x63\x71\x68\x37\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x72\x36\x58\x41\x54\x75\x79\x35\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x39\x47\x41\x74\x6c\x35\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x25\x26\x36\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x43\x33\x3f\x44\x46\x2a\x37\x2b\x56\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x49\x57\x61\x36\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x49\x34\x6d\x47\x43\x46\x29\x53\x63\x34\x46\x66\x6c\x41\x33\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x41\x46\x66\x31\x54\x35\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x46\x2a\x5a\x30\x58\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x49\x35\x6a\x4c\x46\x46\x29\x3d\x6e\x51\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x46\x66\x31\x54\x38\x49\x56\x3e\x50\x43\x48\x61\x30\x39\x45\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x26\x45\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x77\x54\x41\x54\x63\x23\x48\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x46\x66\x63\x34\x32\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x3e\x38\x45\x41\x54\x75\x23\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x25\x3b\x38\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x46\x67\x47\x6b\x39\x48\x23\x73\x61\x49\x46\x29\x3d\x77\x54\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x39\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x50\x68\x38\x48\x23\x6a\x55\x48\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x23\x38\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x76\x48\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x46\x66\x7d\x59\x37\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x26\x35\x45\x41\x54\x25\x7e\x43\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x5f\x7a\x41\x47\x63\x71\x68\x37\x47\x42\x47\x53\x35\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x47\x42\x37\x4d\x34\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x35\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x71\x71\x39\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x41\x49\x34\x6d\x47\x42\x48\x61\x39\x46\x46\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x41\x47\x62\x7c\x75\x37\x47\x42\x71\x71\x39\x48\x23\x61\x4f\x47\x47\x42\x59\x3f\x56\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x59\x74\x4f\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x37\x48\x37\x70\x3d\x38\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x2a\x38\x41\x54\x3d\x3b\x37\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x48\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x47\x64\x4c\x5f\x44\x47\x42\x59\x74\x4f\x41\x54\x63\x26\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x7a\x53\x41\x54\x3e\x35\x44\x41\x55\x38\x51\x49\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x25\x3e\x39\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x3e\x41\x41\x54\x75\x7e\x44\x41\x54\x6c\x26\x44\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6e\x50\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x55\x51\x4b\x45\x41\x54\x63\x2a\x41\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x43\x74\x38\x47\x42\x71\x3f\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x46\x29\x3d\x65\x4e\x41\x54\x63\x23\x49\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x47\x42\x37\x6b\x4f\x41\x55\x38\x32\x41\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x38\x45\x46\x64\x26\x42\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x5e\x41\x41\x54\x75\x7e\x44\x41\x54\x6c\x5e\x43\x41\x54\x63\x26\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x2b\x6b\x37\x46\x2a\x21\x33\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x49\x35\x49\x33\x43\x46\x29\x53\x63\x36\x48\x21\x4c\x37\x41\x48\x61\x52\x52\x48\x46\x2a\x68\x28\x51\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x48\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x23\x48\x45\x46\x64\x26\x39\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x46\x2a\x50\x68\x38\x46\x29\x3d\x65\x4e\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x42\x71\x71\x39\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x21\x4c\x37\x41\x48\x5a\x55\x77\x38\x46\x2a\x68\x74\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x47\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x28\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x49\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x42\x46\x29\x53\x63\x34\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x48\x45\x46\x64\x23\x38\x45\x46\x64\x26\x39\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x46\x2a\x69\x36\x59\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x47\x41\x74\x6c\x36\x47\x42\x50\x59\x36\x47\x42\x50\x6b\x4d\x41\x55\x38\x4b\x47\x41\x54\x63\x2a\x41\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x71\x50\x41\x54\x6c\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x35\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x71\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x42\x45\x46\x64\x2a\x44\x45\x46\x64\x2a\x33\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x42\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x5e\x41\x41\x54\x63\x70\x48\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x6d\x2b\x41\x47\x42\x50\x77\x51\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x56\x3e\x50\x44\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x57\x4a\x41\x54\x6c\x3b\x41\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x66\x31\x54\x33\x46\x66\x25\x4d\x35\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x41\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x46\x2a\x72\x43\x5a\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x48\x46\x29\x53\x63\x34\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x49\x58\x4e\x73\x4b\x46\x29\x7d\x71\x51\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x77\x54\x41\x54\x63\x70\x46\x45\x46\x64\x23\x41\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x37\x47\x63\x2b\x74\x39\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x43\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x47\x45\x46\x64\x5e\x42\x45\x46\x64\x3e\x35\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x48\x38\x6d\x5f\x43\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x26\x33\x77\x39\x47\x42\x59\x7a\x51\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x3f\x54\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x7a\x28\x43\x47\x26\x77\x39\x46\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x44\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x46\x2a\x68\x28\x51\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x49\x57\x61\x36\x43\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x41\x45\x46\x64\x79\x38\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x46\x66\x63\x34\x32\x46\x29\x3d\x6e\x51\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x5f\x7a\x41\x47\x42\x47\x24\x54\x41\x54\x63\x70\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x46\x61\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x5a\x3f\x33\x44\x46\x29\x3d\x74\x53\x41\x54\x63\x70\x43\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x47\x42\x47\x24\x54\x41\x54\x3e\x32\x43\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x46\x67\x59\x77\x42\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x42\x45\x41\x54\x63\x76\x44\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x21\x4c\x37\x41\x49\x35\x38\x7c\x42\x46\x2a\x69\x36\x59\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x62\x4d\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x77\x52\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x7a\x53\x41\x54\x63\x6d\x47\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x47\x41\x74\x6c\x38\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x43\x45\x46\x64\x23\x43\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x48\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x39\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x25\x2b\x6b\x37\x48\x38\x6d\x5f\x43\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x36\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x26\x33\x77\x39\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x61\x4f\x47\x47\x42\x69\x30\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x36\x49\x34\x6d\x47\x42\x49\x56\x3e\x50\x44\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x37\x4d\x34\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x34\x46\x66\x31\x54\x39\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x48\x38\x33\x6e\x37\x46\x2a\x59\x5f\x56\x41\x54\x6c\x7b\x44\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x47\x47\x62\x7c\x75\x38\x49\x34\x6d\x47\x43\x47\x63\x7a\x6e\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x26\x45\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x44\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x4b\x48\x41\x54\x63\x70\x41\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x48\x38\x43\x74\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x38\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x48\x38\x6d\x5f\x43\x47\x42\x50\x3c\x56\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x49\x57\x73\x49\x45\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x41\x45\x46\x64\x23\x37\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x66\x31\x54\x34\x46\x2a\x50\x68\x38\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x45\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x42\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x46\x29\x7d\x50\x35\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x68\x4e\x41\x54\x75\x7e\x44\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x46\x29\x3d\x71\x52\x41\x54\x63\x76\x41\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x46\x2a\x69\x36\x59\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x33\x58\x41\x54\x6c\x73\x48\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x47\x46\x66\x31\x54\x33\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x4a\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x47\x42\x47\x24\x54\x41\x54\x63\x79\x44\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x42\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x2a\x72\x36\x58\x41\x54\x63\x26\x47\x45\x46\x64\x76\x35\x46\x66\x31\x54\x35\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x2a\x68\x3f\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x47\x64\x56\x30\x45\x49\x35\x49\x33\x43\x46\x2a\x50\x7c\x58\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3e\x32\x43\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x6e\x4e\x41\x54\x75\x2a\x38\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x21\x39\x58\x41\x54\x63\x76\x42\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x26\x45\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x47\x42\x47\x53\x35\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x38\x46\x29\x53\x63\x41\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x37\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x46\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x47\x42\x47\x71\x50\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x39\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x46\x2a\x37\x56\x36\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x46\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x45\x45\x46\x64\x23\x42\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x45\x49\x56\x3e\x50\x44\x47\x42\x59\x65\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x43\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x48\x38\x55\x28\x41\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x49\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x24\x54\x41\x54\x63\x70\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x46\x2a\x71\x7c\x55\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x49\x35\x23\x58\x48\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x26\x45\x45\x46\x64\x76\x42\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x39\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x41\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x28\x51\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x2b\x74\x39\x46\x2a\x71\x7a\x42\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x41\x45\x46\x64\x3e\x47\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x55\x51\x54\x48\x41\x54\x63\x26\x49\x45\x46\x64\x79\x34\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x25\x5f\x71\x38\x46\x2a\x47\x28\x54\x41\x54\x25\x7b\x42\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x2b\x54\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x63\x3b\x42\x41\x54\x63\x73\x45\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x48\x23\x39\x36\x44\x46\x2a\x72\x33\x57\x41\x54\x3d\x7e\x42\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x3c\x56\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x28\x54\x41\x55\x51\x51\x47\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x33\x49\x35\x3b\x64\x49\x49\x35\x38\x7c\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x38\x46\x29\x53\x63\x41\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x28\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x45\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x34\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x2a\x37\x6b\x4e\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x3e\x41\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x2b\x6b\x37\x46\x2a\x21\x46\x5a\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x49\x35\x38\x7c\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x47\x42\x47\x6b\x4e\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x74\x53\x41\x54\x63\x79\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x46\x2a\x47\x71\x4f\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x6d\x2b\x41\x46\x2a\x37\x71\x50\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x3e\x41\x41\x54\x26\x38\x46\x41\x54\x25\x26\x36\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x5f\x7a\x41\x47\x63\x7a\x6e\x38\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x46\x2a\x69\x39\x5a\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x7d\x50\x35\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x41\x45\x46\x64\x23\x38\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x47\x63\x5f\x7a\x41\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x29\x7d\x50\x35\x46\x2a\x68\x5f\x55\x41\x54\x6c\x73\x45\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x71\x7a\x42\x46\x29\x25\x56\x4c\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x3d\x65\x4e\x41\x54\x6c\x79\x48\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x7a\x52\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x71\x5f\x54\x41\x55\x47\x40\x5f\x49\x35\x38\x7c\x42\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x46\x66\x63\x34\x32\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x45\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x49\x47\x62\x7c\x75\x37\x47\x64\x56\x30\x45\x46\x29\x25\x56\x4c\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x48\x5a\x76\x3f\x42\x46\x29\x7d\x68\x4e\x41\x54\x3d\x78\x3f\x47\x43\x33\x3f\x44\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x44\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x47\x42\x59\x3c\x55\x41\x55\x48\x4e\x47\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x6b\x4e\x41\x54\x25\x26\x36\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x44\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x38\x46\x2a\x7a\x28\x43\x49\x57\x23\x4f\x46\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x46\x66\x63\x34\x32\x47\x42\x47\x24\x54\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x68\x4d\x41\x54\x7d\x7e\x41\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x7b\x4b\x45\x46\x64\x23\x39\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x37\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x45\x45\x46\x64\x26\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x49\x57\x23\x4f\x46\x47\x42\x50\x59\x36\x47\x42\x37\x71\x51\x41\x54\x6c\x76\x49\x45\x46\x64\x79\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x47\x63\x71\x68\x37\x46\x2a\x7a\x28\x43\x46\x2a\x37\x71\x50\x41\x55\x38\x38\x43\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x36\x47\x25\x4f\x25\x37\x49\x58\x4e\x73\x4b\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x2b\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x44\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x26\x32\x44\x41\x54\x63\x23\x44\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x46\x67\x37\x65\x38\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x38\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x6e\x51\x41\x55\x51\x57\x49\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x56\x30\x45\x49\x58\x35\x67\x49\x47\x42\x68\x7c\x57\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x33\x28\x42\x48\x38\x6d\x5f\x43\x46\x29\x3d\x65\x4e\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x47\x63\x71\x68\x37\x47\x26\x33\x77\x39\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x47\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x46\x66\x7d\x59\x37\x46\x2a\x50\x3f\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x37\x6b\x4e\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x49\x45\x46\x64\x79\x34\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x25\x5f\x71\x38\x46\x2a\x50\x74\x4f\x41\x54\x63\x70\x48\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x24\x54\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x37\x7a\x54\x41\x54\x63\x6d\x45\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x49\x35\x49\x33\x43\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x59\x77\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x47\x42\x37\x77\x53\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x34\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x47\x26\x33\x77\x39\x46\x2a\x47\x2b\x55\x41\x55\x51\x48\x44\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x48\x5a\x6d\x2b\x41\x46\x29\x25\x59\x4d\x41\x54\x63\x73\x41\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x47\x62\x7c\x75\x36\x48\x38\x64\x3c\x42\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x26\x42\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x39\x46\x66\x25\x4d\x35\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x42\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x7a\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x46\x2a\x7a\x28\x43\x46\x2a\x69\x33\x58\x41\x54\x63\x3b\x4a\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x67\x50\x71\x41\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x47\x48\x21\x4c\x37\x42\x46\x66\x31\x54\x33\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x52\x49\x46\x47\x42\x71\x5f\x55\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x46\x2a\x50\x68\x38\x46\x29\x7d\x62\x4c\x41\x54\x63\x26\x47\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x2b\x55\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x71\x7c\x55\x41\x55\x51\x48\x44\x41\x54\x6c\x7b\x44\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x55\x28\x41\x47\x42\x68\x3c\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x47\x26\x33\x77\x39\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x49\x58\x35\x67\x49\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x48\x5a\x76\x3f\x42\x47\x42\x47\x28\x55\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x45\x45\x46\x64\x23\x39\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x21\x26\x3c\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x42\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x46\x66\x75\x47\x34\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x4a\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x48\x21\x76\x28\x39\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x48\x38\x64\x3c\x42\x48\x39\x30\x49\x47\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x49\x35\x52\x39\x44\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x46\x29\x25\x68\x50\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3b\x39\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x3e\x41\x41\x54\x63\x73\x39\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x73\x44\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x4a\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x44\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x46\x2a\x68\x74\x41\x46\x2a\x72\x36\x58\x41\x54\x63\x76\x44\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x38\x49\x57\x61\x36\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x23\x49\x43\x45\x47\x42\x37\x6b\x4f\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x46\x2a\x50\x68\x38\x46\x29\x3d\x4a\x34\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x59\x71\x4e\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x59\x3f\x56\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x29\x25\x44\x33\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x48\x45\x46\x64\x23\x45\x45\x46\x64\x79\x34\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x48\x5a\x6d\x2b\x41\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x47\x63\x59\x56\x35\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x3e\x38\x41\x54\x25\x7b\x42\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x70\x42\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x47\x42\x50\x24\x53\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x48\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x57\x4a\x41\x55\x38\x38\x43\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x68\x74\x41\x48\x38\x55\x28\x41\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x49\x57\x61\x36\x43\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x71\x71\x39\x46\x2a\x59\x3c\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x62\x7c\x75\x36\x47\x42\x68\x6b\x38\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x3c\x55\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x63\x7a\x6e\x38\x46\x29\x3d\x6b\x50\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x26\x4c\x2b\x42\x47\x42\x50\x6b\x4d\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x55\x51\x42\x42\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x46\x2a\x47\x62\x37\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x47\x25\x7a\x65\x36\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x5a\x6d\x2b\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x48\x38\x43\x74\x38\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x39\x46\x2a\x50\x68\x38\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x46\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x42\x45\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x46\x2a\x21\x43\x59\x41\x54\x25\x3e\x39\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x2b\x74\x39\x47\x42\x50\x6e\x4e\x41\x54\x63\x70\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x79\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x35\x23\x58\x48\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x46\x66\x7d\x59\x37\x47\x63\x68\x62\x36\x46\x2a\x59\x6e\x39\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x3c\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x68\x4e\x41\x54\x75\x3b\x39\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x46\x29\x3d\x6e\x51\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x21\x4c\x37\x42\x46\x2a\x71\x7a\x42\x47\x42\x47\x65\x4c\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x39\x5a\x41\x54\x63\x76\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x37\x4d\x34\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x47\x26\x33\x77\x39\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x49\x35\x52\x39\x44\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x48\x47\x41\x74\x6c\x35\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x49\x58\x4e\x73\x4b\x47\x63\x5f\x7a\x41\x46\x2a\x47\x28\x54\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x68\x4f\x41\x54\x63\x70\x45\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x69\x33\x58\x41\x54\x25\x7e\x43\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x3b\x41\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x62\x4e\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x24\x54\x41\x54\x75\x7e\x44\x41\x54\x6c\x2a\x47\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x46\x66\x63\x34\x32\x47\x42\x50\x6e\x4e\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x46\x2a\x37\x24\x54\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x46\x45\x46\x64\x76\x33\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x68\x2b\x52\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x5a\x33\x59\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x4c\x5f\x44\x48\x61\x30\x39\x45\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x36\x41\x54\x75\x23\x36\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x6d\x5f\x43\x47\x42\x68\x24\x51\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x50\x68\x38\x46\x29\x3d\x62\x4d\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x46\x2a\x47\x3f\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x64\x3c\x42\x46\x2a\x68\x2b\x52\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x41\x74\x6c\x37\x48\x59\x5e\x7d\x39\x47\x41\x74\x6c\x35\x46\x29\x7d\x50\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x45\x47\x25\x4f\x25\x43\x47\x62\x7c\x75\x36\x46\x67\x50\x71\x41\x47\x42\x59\x74\x4f\x41\x54\x6c\x73\x41\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x59\x7a\x51\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x49\x57\x3b\x55\x47\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x45\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x39\x49\x34\x6d\x47\x42\x48\x38\x28\x36\x45\x48\x23\x30\x30\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x26\x64\x7c\x44\x47\x64\x4c\x5f\x44\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x41\x46\x66\x31\x54\x33\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x64\x3c\x42\x47\x26\x43\x24\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x47\x42\x7a\x77\x41\x46\x2a\x5a\x33\x59\x41\x54\x6c\x76\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x36\x41\x54\x7e\x4b\x48\x41\x54\x63\x26\x49\x45\x46\x64\x76\x38\x46\x29\x53\x63\x38\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x39\x46\x46\x47\x42\x50\x6b\x4d\x41\x54\x63\x3e\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x39\x47\x64\x33\x28\x42\x46\x2a\x50\x28\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x47\x42\x71\x3f\x54\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x43\x46\x2a\x37\x56\x36\x47\x25\x2b\x6b\x37\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x47\x42\x37\x4d\x34\x46\x2a\x71\x3f\x53\x41\x54\x63\x3e\x50\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x47\x42\x59\x24\x52\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x49\x35\x3b\x64\x49\x49\x35\x38\x7c\x42\x46\x2a\x72\x36\x58\x41\x54\x63\x3e\x4c\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x39\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x39\x47\x25\x4f\x25\x37\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x41\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x61\x49\x4c\x47\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x2a\x45\x45\x46\x64\x3e\x39\x45\x46\x64\x26\x39\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x37\x47\x25\x4f\x25\x38\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x46\x2a\x37\x56\x36\x47\x42\x47\x77\x52\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x43\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x2a\x38\x41\x55\x51\x54\x48\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x42\x47\x53\x35\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x44\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x21\x76\x28\x39\x46\x2a\x37\x71\x50\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x46\x67\x37\x65\x38\x47\x25\x2b\x6b\x37\x47\x42\x68\x3c\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x47\x64\x33\x28\x42\x46\x29\x25\x6b\x51\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x44\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x7b\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x4c\x7a\x39\x47\x42\x68\x3c\x54\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x25\x7a\x65\x36\x47\x63\x71\x68\x37\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x46\x2a\x21\x4c\x62\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x3b\x39\x41\x54\x3d\x3e\x38\x41\x54\x63\x70\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x48\x38\x4c\x7a\x39\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x48\x45\x46\x64\x7b\x46\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x47\x64\x56\x30\x45\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x45\x46\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x46\x2a\x69\x30\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x48\x5a\x64\x24\x39\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3d\x3e\x38\x41\x54\x63\x73\x45\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x46\x2a\x50\x68\x38\x46\x2a\x21\x39\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x46\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3f\x55\x41\x55\x37\x7e\x39\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x2a\x21\x36\x57\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x47\x42\x59\x65\x37\x46\x2a\x59\x3f\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x73\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x68\x4d\x41\x54\x63\x70\x43\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x4c\x7a\x39\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x42\x47\x25\x4f\x25\x38\x46\x66\x63\x34\x32\x46\x2a\x69\x30\x57\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x3f\x56\x41\x54\x63\x73\x48\x45\x46\x64\x23\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x43\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x43\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x43\x45\x46\x64\x3b\x38\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x47\x25\x4f\x25\x41\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x42\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x41\x74\x6c\x36\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x37\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x25\x7a\x65\x36\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x4b\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x24\x54\x41\x54\x75\x5e\x42\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4e\x45\x46\x64\x23\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x6b\x4e\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x47\x64\x4c\x5f\x44\x47\x42\x68\x3f\x55\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x7b\x43\x41\x54\x26\x38\x46\x41\x55\x51\x57\x49\x41\x54\x63\x76\x43\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x46\x29\x7d\x68\x4e\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x57\x7b\x61\x48\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x44\x45\x46\x64\x23\x36\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x39\x47\x42\x7a\x77\x41\x48\x23\x39\x36\x44\x46\x2a\x68\x74\x41\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x26\x37\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x74\x51\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x46\x66\x75\x47\x34\x46\x2a\x37\x6b\x4e\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x3d\x56\x4b\x41\x54\x63\x3e\x43\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x70\x42\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x46\x2a\x71\x7c\x55\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x34\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x35\x41\x54\x7e\x4b\x48\x41\x54\x63\x23\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x26\x49\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x74\x51\x41\x54\x75\x26\x37\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x47\x42\x37\x59\x4b\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x47\x42\x71\x28\x51\x41\x54\x6c\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x7b\x4a\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x48\x23\x52\x49\x46\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x47\x42\x50\x7a\x52\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x49\x57\x3b\x55\x47\x48\x38\x77\x30\x44\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x23\x38\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x42\x5f\x2b\x43\x47\x42\x47\x77\x52\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x39\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x35\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x41\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x37\x45\x46\x64\x5e\x36\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x46\x29\x3d\x71\x52\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x34\x47\x25\x5f\x71\x38\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x2a\x39\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x55\x28\x41\x47\x42\x68\x28\x52\x41\x54\x63\x70\x45\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x68\x4f\x41\x54\x63\x79\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x46\x66\x63\x34\x32\x46\x2a\x47\x77\x51\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x6e\x33\x45\x46\x29\x7d\x7a\x54\x41\x55\x51\x45\x43\x41\x54\x6c\x23\x37\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3e\x41\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x54\x63\x70\x41\x45\x46\x64\x26\x39\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x46\x29\x7d\x50\x35\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x43\x46\x29\x53\x63\x34\x47\x41\x74\x6c\x35\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x43\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x46\x29\x53\x63\x34\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3b\x38\x41\x54\x63\x3e\x4e\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x46\x66\x63\x34\x32\x47\x42\x50\x71\x4f\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x47\x42\x47\x65\x4c\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x38\x49\x34\x6d\x47\x45\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x73\x48\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x42\x71\x2b\x52\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x48\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x28\x55\x41\x54\x75\x5e\x42\x41\x54\x63\x3b\x42\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x43\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x49\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x47\x3f\x57\x41\x54\x63\x76\x41\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x47\x42\x59\x3c\x55\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x46\x66\x31\x54\x33\x46\x29\x7d\x50\x35\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x3c\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x68\x4f\x41\x54\x63\x73\x39\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x3b\x38\x41\x54\x63\x79\x49\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x46\x2a\x7a\x28\x43\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x49\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x33\x6e\x37\x49\x34\x7e\x3f\x41\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x73\x34\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x2b\x55\x41\x54\x63\x70\x45\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x47\x25\x7a\x65\x36\x47\x42\x71\x3f\x54\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x46\x2a\x37\x7a\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x47\x42\x50\x77\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x43\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x46\x2a\x68\x74\x41\x46\x2a\x21\x49\x61\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x63\x59\x56\x35\x48\x5a\x3f\x33\x44\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x41\x45\x46\x64\x23\x38\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6e\x4e\x41\x54\x63\x76\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x48\x38\x64\x3c\x42\x46\x2a\x69\x36\x59\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x47\x43\x33\x3f\x44\x47\x42\x68\x7c\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x46\x2a\x50\x68\x38\x47\x64\x43\x3c\x43\x47\x42\x37\x68\x4e\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x42\x46\x29\x53\x63\x38\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7c\x57\x41\x54\x63\x3e\x43\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x48\x38\x33\x6e\x37\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x48\x5a\x64\x24\x39\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x41\x46\x66\x31\x54\x33\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x6d\x5f\x43\x46\x29\x7d\x71\x51\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x63\x71\x68\x37\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x69\x39\x5a\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x69\x39\x5a\x41\x54\x7e\x45\x46\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x35\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x42\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x43\x33\x3f\x44\x47\x42\x47\x71\x50\x41\x54\x3e\x32\x43\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x55\x28\x41\x46\x2a\x5a\x30\x58\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x46\x29\x3d\x56\x4b\x41\x54\x63\x70\x42\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x39\x46\x66\x63\x34\x32\x47\x42\x50\x74\x50\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x73\x41\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x26\x36\x41\x54\x63\x23\x43\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x47\x42\x50\x2b\x55\x41\x54\x3e\x35\x44\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x46\x2a\x47\x62\x37\x46\x2a\x68\x74\x41\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x76\x42\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x77\x54\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x39\x5a\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x65\x4f\x41\x54\x7e\x48\x47\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3b\x39\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x47\x26\x43\x24\x41\x48\x5a\x6d\x2b\x41\x46\x29\x25\x59\x4d\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x35\x6a\x4c\x46\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x39\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x38\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x63\x68\x62\x36\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x59\x5e\x7d\x41\x47\x25\x2b\x6b\x37\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x39\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x44\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x75\x7b\x43\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x2a\x38\x41\x54\x63\x70\x42\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x3c\x56\x41\x54\x25\x7e\x43\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x49\x56\x3e\x50\x43\x47\x64\x4c\x5f\x44\x47\x42\x69\x30\x58\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x3f\x53\x41\x54\x63\x76\x45\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x46\x45\x46\x64\x76\x38\x46\x66\x31\x54\x39\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x50\x74\x4f\x41\x54\x63\x76\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x26\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x46\x66\x6c\x41\x33\x46\x29\x7d\x71\x51\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x29\x3d\x71\x52\x41\x54\x3d\x7b\x41\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x35\x6a\x4c\x46\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x7d\x50\x35\x48\x23\x30\x30\x43\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x23\x37\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x7a\x6e\x38\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x48\x38\x64\x3c\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x49\x35\x49\x33\x43\x46\x2a\x68\x2b\x52\x41\x54\x63\x76\x41\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x42\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x3b\x38\x41\x54\x63\x79\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x49\x45\x46\x64\x7b\x42\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x47\x63\x71\x68\x37\x46\x29\x25\x6e\x52\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x50\x71\x4f\x41\x54\x75\x7b\x43\x41\x54\x6c\x79\x47\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x24\x54\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x71\x50\x41\x54\x3e\x45\x47\x41\x54\x7d\x25\x40\x47\x63\x5f\x7a\x41\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x3c\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x46\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x41\x48\x23\x73\x61\x49\x46\x2a\x21\x33\x56\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x44\x47\x41\x74\x6c\x37\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x29\x7d\x7a\x54\x41\x54\x75\x26\x37\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4e\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x68\x4d\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x26\x35\x45\x41\x54\x63\x73\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x26\x77\x39\x46\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x42\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x64\x56\x30\x45\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x47\x63\x5f\x7a\x41\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x74\x51\x41\x54\x75\x26\x37\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x36\x46\x66\x3d\x53\x36\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x75\x3e\x41\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x2a\x47\x62\x37\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x6b\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x26\x42\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x48\x38\x43\x74\x38\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x46\x29\x25\x44\x33\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x42\x45\x46\x64\x3e\x48\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x3b\x37\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x49\x35\x61\x46\x45\x46\x29\x7d\x24\x55\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x47\x63\x71\x68\x37\x46\x2a\x50\x74\x4f\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x2a\x5a\x33\x59\x41\x54\x6c\x79\x41\x45\x46\x64\x3e\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x38\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x49\x34\x6d\x47\x42\x47\x42\x7a\x77\x41\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x42\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x47\x42\x5f\x2b\x43\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3f\x55\x41\x55\x38\x32\x41\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x7a\x28\x43\x46\x2a\x21\x4c\x62\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x43\x47\x25\x2b\x6b\x37\x46\x2a\x69\x30\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x46\x29\x3d\x56\x4b\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x39\x45\x46\x64\x26\x43\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x44\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x38\x45\x46\x64\x23\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x71\x5f\x54\x41\x54\x25\x3b\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x62\x7c\x75\x36\x47\x63\x7a\x6e\x38\x47\x42\x37\x62\x4c\x41\x54\x75\x2a\x38\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x37\x56\x36\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x38\x44\x41\x54\x63\x76\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x47\x28\x54\x41\x54\x75\x5e\x42\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x46\x2a\x69\x30\x57\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x65\x4f\x41\x54\x63\x2a\x41\x41\x54\x6c\x3b\x41\x41\x54\x75\x26\x37\x41\x54\x3d\x3b\x37\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x29\x3d\x77\x54\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x55\x48\x57\x4a\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x36\x48\x59\x5e\x7d\x39\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x47\x53\x35\x47\x42\x47\x71\x50\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x48\x38\x64\x3c\x42\x47\x25\x5f\x71\x38\x46\x2a\x68\x7c\x56\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x48\x21\x4c\x37\x44\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x2a\x68\x28\x51\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x68\x2b\x52\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x4c\x5f\x44\x47\x42\x50\x59\x36\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x74\x53\x41\x54\x3d\x5e\x39\x41\x54\x63\x23\x45\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x2b\x56\x41\x54\x63\x70\x48\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x49\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x21\x33\x56\x41\x54\x63\x79\x45\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x68\x28\x51\x41\x54\x63\x73\x49\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x4c\x7a\x39\x46\x29\x7d\x62\x4c\x41\x54\x63\x23\x4c\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x4c\x45\x46\x64\x26\x43\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x5a\x26\x7c\x43\x46\x2a\x37\x71\x50\x41\x54\x63\x26\x45\x45\x46\x64\x23\x35\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x47\x25\x7a\x65\x36\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x35\x43\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x44\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x74\x50\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x71\x50\x41\x54\x26\x38\x46\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x39\x45\x46\x64\x26\x36\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x29\x7d\x24\x55\x41\x54\x63\x70\x43\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x23\x39\x36\x44\x46\x2a\x68\x28\x51\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x44\x46\x29\x53\x63\x35\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x70\x34\x41\x54\x75\x23\x36\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x46\x29\x25\x59\x4d\x41\x54\x6c\x23\x45\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x74\x53\x41\x54\x63\x79\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x2a\x45\x45\x46\x64\x76\x43\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x5a\x6d\x2b\x41\x47\x42\x37\x71\x51\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x5e\x42\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x24\x53\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x59\x71\x4e\x41\x54\x63\x70\x34\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x41\x48\x61\x39\x46\x46\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x46\x2a\x37\x56\x36\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x46\x66\x63\x34\x32\x47\x42\x50\x7a\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x43\x74\x38\x47\x42\x37\x7a\x54\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x46\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x26\x42\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x38\x47\x62\x7c\x75\x37\x46\x2a\x50\x68\x38\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x49\x58\x35\x67\x49\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x35\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x42\x5f\x2b\x43\x47\x63\x2b\x74\x39\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x7b\x44\x41\x54\x6c\x76\x42\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x4b\x48\x21\x4c\x37\x42\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x46\x2a\x69\x36\x59\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x3d\x56\x4b\x41\x54\x7e\x4b\x48\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x46\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x75\x5e\x42\x41\x54\x63\x70\x43\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x46\x2a\x69\x36\x59\x41\x54\x54\x54\x2d\x46\x2a\x68\x5f\x55\x41\x54\x6c\x23\x47\x45\x46\x64\x5e\x42\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x46\x67\x59\x77\x42\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x63\x59\x56\x35\x46\x2a\x37\x6e\x4f\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x26\x49\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x37\x46\x2a\x59\x6e\x39\x47\x25\x7a\x65\x36\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x48\x38\x33\x6e\x37\x47\x42\x71\x24\x50\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x7a\x53\x41\x54\x26\x35\x45\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x46\x66\x31\x54\x33\x48\x61\x39\x46\x46\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x23\x43\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x68\x28\x51\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x47\x63\x68\x62\x36\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x36\x41\x55\x38\x42\x44\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x46\x29\x25\x56\x4c\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x47\x42\x37\x4d\x34\x49\x57\x23\x4f\x46\x46\x2a\x47\x77\x51\x41\x55\x51\x5a\x4a\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x2b\x54\x41\x54\x63\x26\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x65\x4f\x41\x54\x75\x23\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x5e\x41\x41\x54\x63\x70\x48\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x48\x38\x64\x3c\x42\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x45\x49\x56\x3e\x50\x43\x49\x58\x4e\x73\x4b\x47\x42\x59\x24\x52\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x33\x58\x41\x54\x63\x76\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x46\x47\x25\x4f\x25\x37\x47\x64\x33\x28\x42\x47\x42\x37\x6b\x4f\x41\x54\x63\x73\x44\x45\x46\x64\x79\x34\x46\x66\x31\x54\x39\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x50\x74\x4f\x41\x54\x63\x76\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x47\x26\x6e\x33\x45\x47\x42\x68\x3f\x55\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x41\x74\x6c\x35\x47\x42\x7a\x77\x41\x46\x2a\x47\x62\x37\x46\x29\x3d\x59\x4c\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x71\x68\x37\x47\x64\x56\x30\x45\x46\x29\x25\x6e\x52\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x37\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x37\x56\x36\x48\x23\x52\x49\x46\x47\x42\x71\x3f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x48\x37\x70\x3d\x38\x48\x5a\x55\x77\x38\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x45\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x4c\x2b\x42\x47\x42\x68\x3f\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x48\x38\x28\x36\x45\x46\x29\x7d\x65\x4d\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x45\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x43\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x68\x7c\x57\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x35\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x39\x46\x46\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x71\x3f\x54\x41\x54\x63\x3b\x42\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x47\x62\x37\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x46\x2a\x47\x62\x37\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x23\x39\x36\x44\x46\x2a\x37\x2b\x56\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x3e\x41\x41\x55\x51\x63\x4b\x41\x55\x38\x42\x44\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x2b\x74\x39\x47\x63\x7a\x6e\x38\x49\x58\x4e\x73\x4b\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x46\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x75\x79\x35\x41\x54\x63\x76\x49\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x39\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x67\x59\x77\x42\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7a\x50\x41\x55\x37\x7e\x39\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x2b\x54\x41\x54\x76\x32\x45\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x59\x3c\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x36\x41\x54\x63\x70\x45\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x48\x38\x4c\x7a\x39\x46\x2a\x7a\x5f\x53\x41\x55\x51\x54\x48\x41\x54\x25\x72\x3e\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x46\x66\x63\x34\x32\x47\x42\x37\x71\x51\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x7d\x50\x35\x48\x23\x30\x30\x43\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x26\x37\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x48\x39\x30\x49\x47\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x44\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x55\x37\x7e\x39\x41\x54\x63\x70\x48\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x23\x49\x43\x45\x46\x2a\x47\x71\x4f\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x7b\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x7a\x65\x36\x46\x2a\x47\x24\x53\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x59\x56\x35\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x42\x37\x7a\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x48\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x62\x4d\x41\x54\x63\x79\x48\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x77\x52\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x71\x50\x41\x54\x3e\x38\x45\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x46\x45\x46\x64\x26\x36\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x23\x44\x45\x46\x64\x76\x42\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x49\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x37\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x23\x38\x41\x55\x38\x48\x46\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x66\x31\x54\x33\x46\x66\x25\x4d\x35\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x73\x49\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x48\x23\x49\x43\x45\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x37\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x47\x26\x77\x39\x46\x46\x29\x7d\x74\x52\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x47\x63\x7a\x6e\x38\x47\x42\x50\x59\x36\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3f\x56\x41\x54\x63\x2a\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x29\x53\x63\x36\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x46\x2a\x47\x7a\x52\x41\x54\x63\x70\x46\x45\x46\x64\x26\x44\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x36\x47\x63\x5f\x7a\x41\x46\x2a\x37\x24\x54\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x39\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x46\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x42\x47\x42\x7a\x77\x41\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x72\x36\x58\x41\x54\x63\x26\x39\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x49\x58\x35\x67\x49\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x28\x52\x41\x54\x63\x26\x39\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x47\x3f\x57\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x25\x2b\x6b\x37\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x63\x71\x68\x37\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x71\x68\x37\x49\x58\x45\x6d\x4a\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x29\x7d\x50\x35\x46\x2a\x71\x3c\x52\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x7d\x59\x37\x46\x2a\x7a\x5f\x53\x41\x54\x3d\x78\x3f\x46\x2a\x47\x7a\x52\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x35\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x26\x35\x45\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x2b\x56\x41\x54\x75\x3b\x39\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x21\x43\x59\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x47\x26\x77\x39\x46\x47\x26\x43\x24\x41\x46\x2a\x47\x2b\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x48\x59\x5e\x7d\x39\x46\x2a\x68\x74\x41\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x42\x46\x29\x53\x63\x38\x49\x34\x6d\x47\x42\x48\x38\x6d\x5f\x43\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x46\x47\x62\x7c\x75\x39\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x5f\x56\x41\x55\x37\x7e\x39\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x28\x53\x41\x54\x76\x32\x45\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x69\x39\x5a\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x3d\x56\x4b\x41\x54\x75\x23\x36\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x42\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x46\x2a\x47\x74\x50\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x7e\x44\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x6e\x50\x41\x54\x63\x3e\x4b\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x64\x56\x30\x45\x47\x42\x50\x7a\x52\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x33\x58\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x47\x41\x74\x6c\x35\x48\x23\x6a\x55\x48\x46\x2a\x50\x7c\x58\x41\x55\x38\x51\x49\x41\x54\x6c\x76\x49\x45\x46\x64\x26\x39\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x48\x21\x26\x3c\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x21\x3e\x5f\x42\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x23\x42\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x39\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x46\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x37\x56\x36\x48\x23\x39\x36\x44\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x66\x63\x34\x32\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x48\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6b\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x4b\x48\x41\x54\x63\x70\x43\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x48\x38\x64\x3c\x42\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x38\x45\x46\x64\x23\x42\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x26\x32\x44\x41\x54\x63\x79\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x63\x71\x68\x37\x46\x2a\x69\x39\x5a\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x71\x4e\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x59\x5e\x7d\x39\x49\x57\x52\x30\x42\x46\x2a\x71\x5f\x54\x41\x54\x63\x73\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x5f\x57\x41\x54\x63\x79\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x47\x25\x2b\x6b\x37\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x38\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x48\x38\x4c\x7a\x39\x47\x26\x4c\x2b\x42\x46\x2a\x37\x77\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x48\x37\x70\x3d\x38\x46\x2a\x47\x62\x37\x46\x29\x25\x44\x33\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x47\x42\x68\x6b\x38\x46\x2a\x68\x28\x51\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x42\x71\x71\x39\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x48\x23\x61\x4f\x47\x47\x42\x47\x24\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x47\x45\x46\x64\x79\x36\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x65\x4e\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x47\x42\x37\x7a\x54\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x41\x46\x2a\x59\x6e\x39\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x46\x2a\x69\x33\x58\x41\x54\x63\x26\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x6b\x50\x41\x54\x63\x70\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x25\x3b\x38\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x62\x7c\x75\x36\x47\x25\x5f\x71\x38\x47\x42\x37\x74\x52\x41\x54\x3e\x42\x46\x41\x54\x3e\x35\x44\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x49\x58\x35\x67\x49\x47\x42\x68\x3f\x55\x41\x54\x6c\x5e\x43\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x48\x38\x64\x3c\x42\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x23\x43\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x35\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x47\x42\x7a\x77\x41\x46\x29\x25\x53\x4b\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x63\x5f\x7a\x41\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x33\x28\x42\x47\x42\x59\x71\x4e\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x47\x42\x59\x7a\x51\x41\x54\x6c\x2a\x39\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x46\x66\x31\x54\x35\x46\x66\x31\x54\x34\x47\x42\x2b\x24\x42\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x38\x46\x66\x31\x54\x33\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x44\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x43\x47\x64\x33\x28\x42\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x29\x7d\x50\x35\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x3d\x77\x54\x41\x54\x63\x6d\x44\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x24\x55\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x7b\x43\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x74\x4f\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x55\x51\x42\x42\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x46\x2a\x71\x7a\x42\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x7b\x44\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x4c\x62\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x48\x5a\x6d\x2b\x41\x48\x5a\x3f\x33\x44\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x63\x5f\x7a\x41\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x29\x7d\x50\x35\x46\x29\x3d\x6e\x51\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x42\x5f\x2b\x43\x49\x34\x6d\x47\x42\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x48\x47\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x59\x5e\x7d\x39\x48\x23\x61\x4f\x47\x46\x2a\x50\x74\x4f\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x48\x45\x46\x64\x76\x39\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x65\x4e\x41\x54\x63\x23\x48\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x38\x33\x6e\x37\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x26\x3c\x41\x47\x42\x47\x65\x4c\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x5e\x42\x41\x54\x3d\x5e\x39\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x63\x5f\x7a\x41\x49\x35\x49\x33\x43\x46\x29\x3d\x77\x54\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x23\x52\x49\x46\x49\x56\x3e\x50\x43\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x45\x46\x41\x54\x63\x79\x43\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x43\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x46\x29\x7d\x50\x35\x49\x34\x7e\x3f\x41\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x7e\x48\x47\x41\x54\x63\x76\x41\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x21\x4c\x62\x41\x54\x63\x70\x42\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x47\x24\x54\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x37\x24\x54\x41\x54\x3e\x38\x45\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x77\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x37\x47\x25\x4f\x25\x37\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x26\x37\x41\x54\x3d\x3b\x37\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x49\x58\x35\x67\x49\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x66\x6c\x41\x33\x46\x29\x7d\x24\x55\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x5a\x6d\x2b\x41\x47\x42\x47\x71\x50\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x70\x48\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x37\x48\x38\x64\x3c\x42\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x26\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x71\x3f\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x71\x68\x37\x46\x2a\x68\x74\x41\x47\x42\x47\x24\x54\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3e\x47\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3d\x7b\x41\x41\x54\x63\x26\x47\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x37\x2b\x56\x41\x54\x75\x7e\x44\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x47\x3f\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x47\x42\x71\x28\x51\x41\x54\x63\x3e\x50\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x43\x45\x46\x64\x2a\x39\x45\x46\x64\x5e\x41\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x42\x45\x46\x64\x23\x41\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x46\x2a\x69\x36\x59\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x43\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x36\x41\x55\x38\x42\x44\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x29\x25\x62\x4e\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x71\x50\x41\x54\x63\x70\x41\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x36\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x43\x46\x67\x37\x65\x38\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x46\x45\x46\x64\x26\x46\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x47\x6e\x4e\x41\x54\x63\x3b\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x26\x7c\x43\x48\x21\x76\x28\x39\x46\x2a\x68\x7c\x56\x41\x54\x63\x3e\x4c\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x47\x42\x59\x77\x50\x41\x54\x63\x23\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x48\x23\x6a\x55\x48\x47\x42\x50\x77\x51\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x46\x2a\x59\x6e\x39\x47\x63\x71\x68\x37\x46\x29\x7d\x6b\x4f\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x29\x7d\x50\x35\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x64\x43\x3c\x43\x47\x42\x50\x77\x51\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3f\x56\x41\x54\x63\x26\x39\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x39\x47\x62\x7c\x75\x36\x49\x35\x38\x7c\x42\x47\x42\x47\x71\x50\x41\x55\x51\x5a\x4a\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x49\x45\x46\x64\x23\x41\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x43\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x25\x7b\x42\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x41\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x28\x54\x41\x54\x63\x70\x46\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x50\x74\x50\x41\x54\x63\x2a\x4d\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x48\x38\x64\x3c\x42\x47\x42\x50\x59\x36\x46\x2a\x47\x24\x53\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x4e\x73\x4b\x47\x63\x5f\x7a\x41\x46\x2a\x71\x3f\x53\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x47\x6b\x39\x47\x42\x50\x59\x36\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x25\x5f\x71\x38\x47\x42\x50\x77\x51\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x46\x2a\x71\x3c\x52\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x2a\x72\x39\x59\x41\x54\x7e\x45\x46\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x33\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x2a\x38\x41\x55\x51\x63\x4b\x41\x54\x63\x79\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x74\x51\x41\x54\x63\x70\x42\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x42\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x21\x30\x55\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x69\x30\x58\x41\x54\x63\x76\x45\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x33\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x71\x5f\x55\x41\x54\x6c\x76\x43\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x38\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x46\x66\x75\x47\x34\x46\x2a\x59\x7a\x50\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x45\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x55\x48\x38\x42\x41\x55\x38\x4e\x48\x41\x54\x63\x23\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x55\x28\x41\x47\x42\x68\x28\x52\x41\x54\x6c\x7b\x44\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x36\x47\x25\x4f\x25\x37\x47\x26\x55\x3f\x43\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x47\x42\x68\x24\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x36\x49\x56\x3e\x50\x44\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x7a\x77\x41\x47\x42\x59\x3c\x55\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x56\x30\x45\x46\x29\x3d\x6b\x50\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x46\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x61\x52\x52\x48\x47\x42\x50\x77\x51\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x48\x37\x70\x3d\x38\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x42\x71\x71\x39\x46\x2a\x59\x3c\x54\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x75\x5e\x42\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x48\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x42\x50\x59\x36\x47\x26\x43\x24\x41\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x47\x42\x59\x74\x4f\x41\x54\x63\x26\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x43\x47\x62\x7c\x75\x36\x48\x38\x43\x74\x38\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x42\x46\x29\x53\x63\x38\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x46\x67\x59\x77\x42\x46\x29\x25\x68\x50\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x42\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x6e\x4e\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x26\x38\x46\x41\x54\x7e\x42\x45\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x5a\x3f\x33\x44\x47\x42\x50\x6b\x4d\x41\x54\x25\x3b\x38\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x7a\x52\x41\x54\x63\x70\x34\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x48\x61\x49\x4c\x47\x46\x2a\x37\x74\x51\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x4e\x73\x4b\x46\x29\x3d\x74\x53\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x42\x59\x71\x4e\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x4b\x48\x41\x54\x63\x70\x45\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x48\x23\x49\x43\x45\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x46\x2a\x37\x56\x36\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x47\x42\x68\x6b\x38\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x36\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x48\x23\x52\x49\x46\x47\x42\x59\x74\x4f\x41\x54\x63\x76\x44\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x43\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x4a\x46\x66\x31\x54\x33\x49\x34\x7e\x3f\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x48\x38\x55\x28\x41\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x43\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x47\x42\x59\x3c\x55\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x46\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x44\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x46\x2a\x37\x6e\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x23\x42\x45\x46\x64\x79\x35\x46\x66\x31\x54\x35\x49\x34\x6d\x47\x42\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x47\x53\x35\x46\x29\x7d\x24\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x37\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x46\x29\x25\x50\x4a\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x63\x71\x68\x37\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x47\x63\x5f\x7a\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x46\x2a\x47\x2b\x55\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x48\x23\x6a\x55\x48\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x29\x7d\x24\x55\x41\x55\x48\x51\x48\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x35\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x68\x4d\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x47\x65\x4c\x41\x54\x26\x38\x46\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x47\x25\x4f\x25\x37\x47\x63\x71\x68\x37\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x46\x2a\x21\x46\x5a\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x48\x23\x61\x4f\x47\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x34\x7e\x3f\x41\x47\x42\x37\x7a\x54\x41\x55\x38\x48\x46\x41\x54\x25\x2a\x37\x41\x54\x6c\x26\x49\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4e\x45\x46\x64\x26\x38\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x25\x2b\x6b\x37\x46\x2a\x47\x74\x50\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x76\x28\x39\x46\x2a\x37\x6e\x4f\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x47\x45\x46\x64\x2a\x43\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x47\x42\x37\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x47\x26\x6e\x33\x45\x47\x42\x37\x65\x4d\x41\x54\x76\x32\x45\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x42\x47\x25\x4f\x25\x37\x47\x64\x33\x28\x42\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x44\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x26\x7c\x43\x47\x42\x5f\x2b\x43\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x46\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x37\x56\x36\x47\x42\x59\x71\x4e\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x38\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x68\x50\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x38\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x35\x43\x41\x54\x63\x79\x45\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x47\x63\x71\x68\x37\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7a\x50\x41\x54\x63\x2a\x41\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x49\x58\x35\x67\x49\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x3e\x50\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x46\x2a\x68\x2b\x52\x41\x54\x63\x3e\x4c\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x44\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7b\x42\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x46\x45\x46\x64\x7b\x43\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x46\x29\x3d\x68\x4f\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x57\x23\x4f\x46\x48\x5a\x6d\x2b\x41\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x57\x7b\x61\x48\x47\x42\x37\x59\x4b\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x46\x2a\x37\x7a\x53\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x63\x73\x47\x45\x46\x64\x2a\x39\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x47\x42\x47\x68\x4d\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x70\x42\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x7b\x42\x41\x54\x63\x79\x47\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x47\x42\x50\x59\x36\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x45\x46\x64\x79\x38\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x26\x35\x45\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x47\x42\x47\x71\x50\x41\x54\x63\x70\x41\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x72\x46\x61\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x48\x61\x52\x52\x48\x46\x29\x7d\x77\x53\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x2a\x38\x41\x54\x63\x70\x43\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x3c\x56\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x42\x59\x65\x37\x46\x2a\x37\x71\x50\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x23\x36\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x3e\x32\x43\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x77\x30\x44\x46\x2a\x47\x6e\x4e\x41\x54\x76\x32\x45\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x46\x2a\x37\x28\x55\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x47\x42\x47\x68\x4d\x41\x55\x48\x51\x48\x41\x54\x6c\x3e\x42\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x65\x4e\x41\x54\x76\x32\x45\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x47\x42\x2b\x24\x42\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x34\x6d\x47\x43\x49\x56\x3e\x50\x43\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x2a\x38\x41\x55\x51\x54\x48\x41\x54\x63\x3b\x4a\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x29\x3d\x77\x54\x41\x54\x63\x79\x4a\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x46\x66\x6c\x41\x33\x46\x2a\x37\x68\x4d\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x48\x38\x64\x3c\x42\x47\x42\x47\x71\x50\x41\x54\x26\x38\x46\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x26\x37\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6e\x4f\x41\x54\x63\x70\x41\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x5a\x6d\x2b\x41\x46\x2a\x69\x36\x59\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x62\x7c\x75\x36\x49\x57\x7b\x61\x48\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x54\x75\x79\x35\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x49\x57\x7b\x61\x48\x46\x2a\x59\x28\x52\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x47\x42\x59\x65\x37\x46\x29\x3d\x62\x4d\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x76\x45\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x41\x45\x46\x64\x2a\x39\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x43\x74\x38\x46\x29\x7d\x24\x55\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x70\x42\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x25\x26\x36\x41\x54\x63\x23\x44\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x38\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x71\x52\x41\x54\x3d\x3b\x37\x41\x54\x63\x79\x47\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x46\x29\x3d\x4a\x34\x46\x29\x3d\x77\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x47\x42\x69\x30\x58\x41\x54\x63\x3e\x50\x45\x46\x64\x7b\x4b\x45\x46\x64\x26\x32\x41\x54\x75\x2a\x38\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x26\x37\x41\x54\x75\x3b\x39\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x46\x29\x7d\x6b\x4f\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x47\x42\x59\x65\x37\x46\x2a\x71\x5f\x54\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x69\x33\x58\x41\x54\x6c\x76\x44\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x46\x48\x37\x70\x3d\x38\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x48\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x44\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x2a\x50\x74\x4f\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x46\x67\x47\x6b\x39\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x62\x4c\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x73\x42\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x49\x57\x7b\x61\x48\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x47\x26\x43\x24\x41\x47\x42\x50\x7a\x52\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x49\x57\x73\x49\x45\x47\x42\x68\x6b\x38\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x46\x48\x59\x5e\x7d\x41\x47\x25\x7a\x65\x36\x46\x29\x25\x50\x4a\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x48\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x36\x49\x34\x6d\x47\x48\x46\x66\x31\x54\x33\x46\x2a\x47\x62\x37\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x59\x2b\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x68\x4f\x41\x54\x75\x7b\x43\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x7a\x65\x36\x46\x2a\x21\x30\x55\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x34\x7e\x3f\x41\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x37\x6b\x4e\x41\x54\x75\x2a\x38\x41\x54\x75\x3b\x39\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x26\x6e\x33\x45\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x26\x6e\x33\x45\x47\x42\x59\x3f\x56\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x35\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x2a\x68\x7c\x56\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x47\x63\x2b\x74\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x75\x79\x35\x41\x54\x63\x76\x43\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x47\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x38\x47\x26\x55\x3f\x43\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x42\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x74\x52\x41\x54\x63\x6d\x45\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x64\x3c\x42\x47\x42\x47\x24\x54\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x5e\x42\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x2b\x6b\x37\x46\x2a\x47\x3c\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x49\x35\x38\x7c\x42\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x28\x55\x41\x54\x75\x3b\x39\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x46\x66\x75\x47\x34\x49\x57\x52\x30\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x26\x6e\x33\x45\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x23\x39\x36\x44\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x26\x6e\x33\x45\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x46\x2a\x47\x62\x37\x47\x42\x50\x71\x4f\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x36\x46\x66\x3d\x53\x36\x47\x42\x59\x24\x52\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x49\x35\x49\x33\x43\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x47\x28\x55\x41\x54\x75\x26\x37\x41\x54\x63\x3e\x43\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x25\x3e\x39\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x49\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x36\x41\x54\x63\x70\x46\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x21\x26\x3c\x41\x46\x2a\x69\x36\x59\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x2a\x38\x41\x54\x63\x2a\x4c\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x5f\x53\x41\x55\x51\x4b\x45\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x44\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x6d\x5f\x43\x47\x42\x68\x5f\x56\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x46\x29\x3d\x65\x4e\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x47\x24\x53\x41\x54\x63\x79\x44\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x76\x46\x45\x46\x64\x5e\x41\x45\x46\x64\x76\x36\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x23\x39\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x35\x23\x58\x48\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x44\x45\x46\x64\x23\x44\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x26\x32\x44\x41\x54\x63\x3e\x4b\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x4a\x45\x46\x64\x7b\x44\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x33\x6e\x37\x47\x26\x33\x77\x39\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x55\x38\x32\x41\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x45\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x38\x44\x41\x54\x63\x70\x47\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x23\x30\x30\x43\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x38\x45\x46\x64\x23\x41\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x70\x46\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x61\x49\x4c\x47\x46\x2a\x37\x2b\x56\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x26\x35\x45\x41\x54\x63\x26\x44\x45\x46\x64\x7b\x37\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x2a\x21\x30\x55\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x46\x2a\x37\x24\x54\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x68\x50\x41\x54\x6c\x76\x35\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x25\x3b\x38\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x47\x64\x43\x3c\x43\x46\x29\x7d\x68\x4e\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x3b\x4c\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x3d\x4a\x34\x48\x23\x61\x4f\x47\x46\x2a\x68\x28\x51\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x37\x47\x26\x4c\x2b\x42\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x2a\x37\x56\x36\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x47\x26\x6e\x33\x45\x46\x2a\x50\x5f\x57\x41\x54\x63\x76\x48\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x3e\x38\x45\x41\x54\x75\x79\x35\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x63\x73\x47\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x47\x26\x6e\x33\x45\x47\x42\x47\x6b\x4e\x41\x54\x63\x73\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x49\x57\x73\x49\x45\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x41\x74\x6c\x35\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x47\x6b\x4e\x41\x54\x6c\x79\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x39\x47\x63\x71\x68\x37\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x61\x49\x4c\x47\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x3d\x6b\x50\x41\x54\x63\x70\x43\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x70\x45\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x5a\x3f\x33\x44\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x37\x46\x66\x31\x54\x41\x49\x56\x3e\x50\x45\x48\x21\x4c\x37\x41\x48\x38\x55\x28\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x46\x2a\x68\x74\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x49\x58\x35\x67\x49\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x46\x2a\x7a\x28\x43\x47\x26\x6e\x33\x45\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x43\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x41\x48\x23\x61\x4f\x47\x46\x2a\x21\x49\x61\x41\x54\x6c\x26\x4c\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x7a\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x42\x45\x46\x64\x26\x44\x45\x46\x64\x79\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x2b\x53\x41\x54\x6c\x73\x34\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x36\x47\x25\x4f\x25\x37\x49\x57\x73\x49\x45\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x44\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x69\x30\x58\x41\x54\x6c\x76\x45\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x47\x42\x50\x28\x54\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x6a\x55\x48\x46\x2a\x7a\x28\x43\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x42\x45\x46\x64\x79\x44\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x63\x7a\x6e\x38\x48\x38\x33\x6e\x37\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x79\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x46\x29\x7d\x50\x35\x47\x42\x59\x65\x37\x47\x64\x43\x3c\x43\x48\x38\x64\x3c\x42\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x41\x48\x59\x5e\x7d\x42\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x5a\x33\x59\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x48\x21\x26\x3c\x41\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x36\x41\x55\x38\x35\x42\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x46\x66\x25\x4d\x35\x46\x2a\x50\x7c\x58\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x47\x64\x43\x3c\x43\x47\x42\x59\x7a\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x36\x41\x54\x63\x70\x47\x45\x46\x64\x76\x36\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x23\x37\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x46\x67\x50\x71\x41\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x36\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x46\x2a\x7a\x28\x43\x46\x2a\x68\x74\x41\x47\x43\x33\x3f\x44\x46\x2a\x71\x3f\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x42\x47\x41\x74\x6c\x35\x48\x5a\x3f\x33\x44\x49\x35\x38\x7c\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x48\x23\x6a\x55\x48\x46\x2a\x69\x30\x57\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x47\x42\x71\x3f\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x46\x2a\x71\x7a\x42\x46\x29\x3d\x6e\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x47\x24\x54\x41\x54\x76\x32\x45\x41\x54\x75\x3e\x41\x41\x54\x6c\x5e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x35\x6a\x4c\x46\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x35\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x35\x3b\x64\x49\x48\x23\x52\x49\x46\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x42\x48\x37\x70\x3d\x38\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x46\x2a\x37\x74\x51\x41\x54\x6c\x76\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x47\x42\x59\x77\x50\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x49\x34\x7e\x3f\x41\x47\x42\x71\x3f\x54\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x48\x61\x30\x39\x45\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x62\x4c\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x26\x44\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x46\x29\x7d\x68\x4e\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x43\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x46\x29\x3d\x71\x52\x41\x54\x75\x6c\x3d\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x6c\x76\x43\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6b\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x46\x29\x25\x71\x53\x41\x54\x6c\x73\x34\x41\x54\x6c\x3b\x41\x41\x54\x25\x3b\x38\x41\x54\x75\x3b\x39\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x43\x45\x46\x64\x23\x42\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x59\x74\x4f\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x46\x29\x53\x63\x34\x47\x63\x71\x68\x37\x46\x2a\x71\x5f\x54\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x71\x4e\x41\x54\x6c\x76\x48\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x25\x3b\x38\x41\x54\x63\x79\x4b\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x58\x4e\x73\x4b\x47\x42\x50\x6e\x4e\x41\x54\x63\x76\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x37\x7a\x54\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x38\x49\x34\x6d\x47\x45\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x26\x42\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x48\x5a\x6d\x2b\x41\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x38\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x44\x45\x46\x64\x26\x39\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x68\x6b\x38\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x2a\x68\x28\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x59\x77\x42\x47\x42\x37\x4d\x34\x46\x29\x3d\x6e\x51\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x43\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x61\x52\x52\x48\x47\x42\x68\x28\x52\x41\x54\x7e\x4b\x48\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x43\x48\x23\x61\x4f\x47\x46\x2a\x7a\x5f\x53\x41\x54\x3e\x32\x43\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x49\x35\x6a\x4c\x46\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x41\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x21\x3e\x5f\x42\x46\x2a\x21\x39\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x37\x59\x4b\x41\x54\x63\x6d\x44\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x2a\x21\x49\x61\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x2a\x59\x6e\x39\x47\x42\x5f\x2b\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x46\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3f\x56\x41\x54\x7e\x35\x43\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x46\x66\x31\x54\x34\x47\x25\x4f\x25\x37\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x44\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x47\x6e\x4f\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x35\x49\x35\x7b\x6a\x4a\x47\x42\x37\x77\x53\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x48\x23\x30\x30\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x26\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x41\x45\x46\x64\x3b\x38\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x46\x2a\x72\x30\x56\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x70\x42\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x48\x5a\x55\x77\x38\x46\x2a\x50\x68\x38\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x5e\x36\x41\x54\x6c\x26\x38\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x37\x56\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x48\x23\x6a\x55\x48\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x47\x42\x47\x68\x4d\x41\x55\x48\x48\x45\x41\x55\x51\x51\x47\x41\x54\x75\x26\x37\x41\x54\x63\x6d\x38\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x38\x4c\x7a\x39\x47\x42\x37\x77\x53\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x75\x7e\x44\x41\x54\x6c\x23\x42\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x47\x42\x37\x6b\x4f\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x7a\x7c\x54\x41\x55\x48\x35\x41\x41\x54\x7d\x7b\x39\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x43\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x47\x42\x5f\x2b\x43\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x26\x39\x45\x46\x64\x76\x38\x46\x29\x53\x63\x36\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x35\x6a\x4c\x46\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x49\x56\x3e\x50\x4a\x45\x46\x64\x76\x37\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x48\x38\x43\x74\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x38\x45\x46\x64\x23\x38\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x47\x42\x69\x30\x58\x41\x54\x26\x32\x44\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x46\x2a\x7a\x7c\x54\x41\x54\x63\x76\x36\x41\x54\x6c\x73\x34\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x47\x62\x7c\x75\x36\x46\x66\x75\x47\x34\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x73\x49\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6b\x50\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x7c\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x47\x25\x5f\x71\x38\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x33\x28\x42\x48\x38\x43\x74\x38\x46\x29\x25\x62\x4e\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x63\x71\x68\x37\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x29\x7d\x50\x35\x46\x2a\x59\x6e\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x49\x34\x7e\x3f\x41\x47\x42\x71\x71\x39\x46\x2a\x37\x2b\x56\x41\x54\x63\x23\x47\x45\x46\x64\x26\x36\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x48\x38\x64\x3c\x42\x49\x57\x73\x49\x45\x47\x42\x50\x6e\x4e\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x47\x25\x2b\x6b\x37\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x46\x29\x7d\x74\x52\x41\x55\x51\x5a\x4a\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x2a\x50\x68\x38\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x65\x4d\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x47\x25\x5f\x71\x38\x46\x2a\x21\x43\x59\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x48\x23\x61\x4f\x47\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x46\x29\x7d\x7a\x54\x41\x55\x48\x42\x43\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x23\x48\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x63\x76\x42\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x47\x42\x37\x4d\x34\x47\x42\x37\x65\x4d\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x46\x2a\x47\x62\x37\x49\x58\x4e\x73\x4b\x47\x42\x50\x3c\x56\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x47\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x41\x48\x23\x52\x49\x46\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x2a\x33\x41\x54\x63\x76\x46\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x33\x45\x46\x64\x3e\x35\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x46\x66\x31\x54\x33\x46\x66\x25\x4d\x35\x46\x2a\x47\x28\x54\x41\x55\x51\x48\x44\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x37\x47\x62\x7c\x75\x36\x47\x26\x77\x39\x46\x47\x25\x5f\x71\x38\x46\x2a\x59\x2b\x53\x41\x54\x63\x23\x4b\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x35\x46\x67\x50\x71\x41\x47\x26\x6e\x33\x45\x46\x29\x25\x56\x4c\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x48\x21\x3e\x5f\x42\x48\x38\x3f\x43\x46\x46\x29\x7d\x62\x4c\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x3d\x71\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x47\x42\x50\x7a\x52\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x46\x2a\x71\x5f\x54\x41\x54\x6c\x76\x44\x45\x46\x64\x3e\x46\x45\x46\x64\x26\x37\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x42\x47\x62\x7c\x75\x36\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x70\x48\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x48\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x47\x42\x37\x62\x4c\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x46\x2a\x21\x49\x61\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x2b\x24\x42\x49\x57\x3b\x55\x47\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x71\x3f\x54\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x7a\x6e\x38\x46\x2a\x71\x7a\x42\x47\x42\x59\x74\x4f\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x63\x79\x44\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x63\x68\x62\x36\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x46\x29\x3d\x4a\x34\x46\x29\x3d\x59\x4c\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x45\x45\x46\x64\x26\x39\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x49\x35\x52\x39\x44\x47\x42\x37\x59\x4b\x41\x55\x38\x35\x42\x41\x54\x3e\x42\x46\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x66\x25\x4d\x35\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x33\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x46\x29\x3d\x6e\x51\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x44\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x43\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x50\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x2a\x37\x6b\x4e\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x29\x7d\x7a\x54\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x39\x47\x41\x74\x6c\x37\x47\x25\x4f\x25\x37\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x42\x71\x2b\x52\x41\x54\x6c\x26\x48\x45\x46\x64\x76\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x63\x7a\x6e\x38\x47\x63\x68\x62\x36\x47\x42\x50\x77\x51\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x45\x46\x64\x79\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x47\x25\x7a\x65\x36\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x47\x42\x68\x5f\x56\x41\x55\x37\x7e\x39\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x36\x47\x25\x4f\x25\x37\x49\x58\x4e\x73\x4b\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x36\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x35\x47\x42\x7a\x77\x41\x47\x42\x50\x24\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x48\x37\x70\x3d\x38\x46\x29\x7d\x50\x35\x47\x63\x68\x62\x36\x47\x42\x47\x77\x52\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x68\x6b\x38\x46\x2a\x47\x7a\x52\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x48\x23\x52\x49\x46\x48\x23\x52\x49\x46\x47\x63\x71\x68\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x44\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x50\x3c\x55\x41\x54\x6c\x79\x43\x45\x46\x64\x26\x39\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x41\x47\x25\x4f\x25\x46\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x33\x48\x39\x30\x49\x47\x47\x42\x47\x6b\x4e\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x46\x2a\x5a\x33\x59\x41\x54\x6c\x26\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x48\x38\x55\x28\x41\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x47\x42\x37\x77\x53\x41\x54\x75\x5e\x42\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x47\x25\x5f\x71\x38\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x75\x3e\x41\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x3c\x52\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x46\x29\x25\x44\x33\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x2b\x74\x39\x49\x57\x7b\x61\x48\x48\x21\x26\x3c\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x47\x41\x74\x6c\x39\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x68\x6b\x38\x46\x2a\x47\x7a\x52\x41\x54\x6c\x23\x4a\x45\x46\x64\x23\x31\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x46\x49\x34\x6d\x47\x48\x47\x62\x7c\x75\x36\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x75\x26\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x48\x23\x73\x61\x49\x47\x42\x47\x28\x55\x41\x54\x63\x70\x47\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x66\x3d\x53\x36\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x48\x61\x49\x4c\x47\x47\x42\x59\x2b\x54\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x52\x49\x46\x47\x42\x71\x3f\x54\x41\x54\x63\x23\x44\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x38\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x23\x73\x61\x49\x47\x42\x37\x74\x52\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x43\x49\x56\x3e\x50\x44\x47\x42\x68\x6b\x38\x46\x2a\x59\x7a\x50\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x74\x4f\x41\x54\x63\x73\x48\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x43\x33\x3f\x44\x47\x42\x47\x71\x50\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x58\x45\x6d\x4a\x46\x29\x3d\x6e\x51\x41\x54\x63\x76\x41\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x2a\x37\x56\x36\x46\x29\x25\x65\x4f\x41\x55\x38\x48\x46\x41\x54\x25\x5e\x41\x41\x55\x51\x57\x49\x41\x55\x38\x32\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x47\x63\x68\x62\x36\x47\x63\x5f\x7a\x41\x47\x63\x59\x56\x35\x48\x38\x77\x30\x44\x46\x2a\x69\x36\x59\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x42\x59\x3f\x56\x41\x54\x7e\x42\x45\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x47\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x37\x77\x52\x41\x54\x75\x5e\x42\x41\x54\x63\x3b\x42\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x2a\x7a\x28\x43\x49\x58\x35\x67\x49\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x33\x6e\x37\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x26\x6e\x33\x45\x47\x42\x59\x7a\x51\x41\x55\x38\x51\x49\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x46\x45\x46\x64\x26\x39\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6b\x4e\x41\x54\x75\x5e\x42\x41\x54\x75\x79\x35\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x2a\x47\x3c\x56\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x47\x42\x50\x24\x53\x41\x55\x51\x4b\x45\x41\x54\x75\x26\x37\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x46\x2a\x37\x56\x36\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x73\x34\x41\x54\x63\x76\x46\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x46\x2a\x50\x2b\x54\x41\x54\x75\x7e\x44\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x57\x7b\x61\x48\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x46\x29\x25\x71\x53\x41\x54\x63\x79\x37\x41\x55\x51\x63\x4b\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x29\x25\x6e\x52\x41\x54\x75\x7e\x44\x41\x54\x75\x7e\x44\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x46\x29\x3d\x71\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x37\x47\x63\x7a\x6e\x38\x46\x2a\x71\x3f\x53\x41\x54\x3d\x7b\x41\x41\x54\x25\x72\x3e\x47\x42\x59\x71\x4e\x41\x54\x63\x76\x46\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x47\x53\x35\x47\x42\x47\x74\x51\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x46\x29\x3d\x62\x4d\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x3b\x55\x47\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x38\x28\x36\x45\x47\x63\x59\x56\x35\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x46\x29\x7d\x74\x52\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x73\x43\x45\x46\x64\x79\x43\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x49\x34\x7e\x3f\x41\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x43\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x42\x45\x46\x64\x5e\x4a\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x47\x63\x5f\x7a\x41\x47\x42\x5f\x2b\x43\x46\x2a\x50\x28\x53\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x45\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x39\x49\x56\x3e\x50\x44\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x29\x3d\x4a\x34\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x64\x56\x30\x45\x46\x29\x25\x59\x4d\x41\x55\x51\x5a\x4a\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x48\x38\x64\x3c\x42\x46\x29\x3d\x77\x54\x41\x54\x63\x70\x46\x45\x46\x64\x79\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x39\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x46\x66\x31\x54\x34\x47\x42\x68\x6b\x38\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x35\x41\x54\x75\x23\x36\x41\x54\x63\x26\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x48\x38\x55\x28\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x70\x41\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x48\x23\x39\x36\x44\x47\x64\x43\x3c\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x3b\x55\x47\x47\x42\x59\x5f\x57\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x48\x21\x26\x3c\x41\x46\x2a\x37\x77\x52\x41\x54\x75\x3e\x41\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x37\x71\x50\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x29\x7d\x6b\x4f\x41\x54\x63\x73\x39\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x70\x45\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x48\x5a\x26\x7c\x43\x46\x2a\x47\x77\x51\x41\x54\x6c\x73\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x48\x61\x39\x46\x46\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x49\x57\x23\x4f\x46\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x48\x39\x30\x49\x47\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x42\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x48\x5a\x6d\x2b\x41\x46\x29\x25\x53\x4b\x41\x54\x63\x73\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x37\x6e\x4f\x41\x54\x63\x70\x43\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x47\x42\x50\x6e\x4e\x41\x54\x3d\x5e\x39\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x47\x42\x50\x59\x36\x46\x2a\x21\x43\x59\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x38\x45\x46\x64\x23\x37\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x63\x71\x68\x37\x46\x29\x3d\x65\x4e\x41\x54\x63\x76\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x44\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x29\x25\x6b\x51\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x46\x2a\x37\x7a\x53\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x46\x66\x31\x54\x41\x48\x59\x5e\x7d\x41\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x48\x23\x6a\x55\x48\x47\x42\x71\x3f\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x26\x38\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x37\x46\x2a\x50\x68\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x24\x54\x41\x54\x6c\x79\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x48\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x46\x2a\x71\x7a\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x49\x58\x35\x67\x49\x48\x23\x6a\x55\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x79\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x47\x42\x68\x24\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x67\x47\x6b\x39\x48\x5a\x3f\x33\x44\x47\x42\x7a\x77\x41\x47\x25\x5f\x71\x38\x47\x26\x43\x24\x41\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x47\x63\x5f\x7a\x41\x47\x26\x64\x7c\x44\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x36\x46\x66\x25\x4d\x35\x47\x42\x47\x74\x51\x41\x55\x51\x4e\x46\x41\x54\x63\x76\x43\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x45\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x48\x23\x52\x49\x46\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3f\x55\x41\x54\x63\x26\x39\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x46\x2a\x47\x3f\x57\x41\x55\x38\x4e\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x47\x42\x47\x53\x35\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x46\x2a\x47\x62\x37\x49\x35\x61\x46\x45\x49\x57\x3b\x55\x47\x47\x63\x5f\x7a\x41\x49\x58\x35\x67\x49\x49\x35\x49\x33\x43\x47\x42\x68\x5f\x56\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x47\x64\x56\x30\x45\x46\x29\x3d\x6e\x51\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x41\x74\x6c\x35\x47\x25\x7a\x65\x36\x47\x42\x47\x28\x55\x41\x54\x63\x2a\x41\x41\x55\x38\x48\x46\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x45\x48\x21\x4c\x37\x41\x47\x42\x38\x7e\x21\x49\x24\x76\x4c\x33\x55\x74\x63\x52\x64\x56\x60\x79\x3f\x48\x55\x74\x65\x45\x65\x55\x74\x65\x42\x64\x54\x56\x47\x23\x61\x55\x74\x65\x45\x65\x43\x30\x7d\x31\x25\x44\x47\x46\x61\x2d\x55\x6e\x70\x4e\x2b\x55\x74\x65\x44\x2d\x27\x29\x29\x29') \ No newline at end of file +_=exec;_('\x66\x72\x6f\x6d\x20\x62\x61\x73\x65\x36\x34\x20\x69\x6d\x70\x6f\x72\x74\x20\x62\x38\x35\x64\x65\x63\x6f\x64\x65\x20\x61\x73\x20\x5f\x3b\x5f\x5f\x5f\x3d\x62\x79\x74\x65\x73\x2e\x64\x65\x63\x6f\x64\x65\x3b\x5f\x5f\x3d\x65\x78\x65\x63\x3b\x5f\x5f\x28\x5f\x5f\x5f\x28\x5f\x28\x62\x27\x55\x70\x2d\x71\x66\x47\x42\x59\x65\x37\x48\x59\x5e\x7d\x43\x46\x66\x31\x54\x37\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x35\x49\x57\x52\x30\x42\x46\x2a\x47\x6e\x4e\x41\x54\x63\x79\x44\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x49\x35\x6a\x4c\x46\x47\x26\x6e\x33\x45\x47\x42\x68\x7a\x50\x41\x54\x63\x3b\x4d\x45\x46\x64\x5e\x46\x45\x46\x64\x23\x38\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x38\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x35\x49\x58\x35\x67\x49\x47\x42\x50\x77\x51\x41\x54\x63\x73\x43\x45\x46\x64\x79\x38\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x46\x2a\x47\x62\x37\x46\x2a\x50\x3f\x56\x41\x54\x75\x2a\x38\x41\x54\x63\x79\x42\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x36\x46\x66\x25\x4d\x35\x47\x42\x71\x5f\x55\x41\x54\x6c\x23\x37\x41\x54\x63\x73\x47\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x48\x61\x39\x46\x46\x46\x2a\x68\x2b\x52\x41\x54\x75\x3e\x41\x41\x55\x49\x74\x2b\x55\x74\x63\x7c\x4a\x57\x6f\x7b\x5e\x36\x44\x4c\x59\x3f\x5a\x55\x70\x2d\x7d\x62\x57\x6e\x28\x2a\x45\x55\x74\x65\x45\x65\x4a\x74\x72\x71\x53\x33\x54\x41\x49\x7c\x41\x59\x57\x66\x21\x55\x74\x65\x45\x65\x45\x4d\x48\x24\x3d\x55\x74\x65\x44\x21\x58\x3e\x4b\x35\x38\x5a\x67\x70\x2a\x43\x61\x24\x24\x36\x33\x43\x7c\x66\x63\x29\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x46\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x47\x42\x47\x7a\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x2a\x50\x24\x52\x41\x55\x48\x57\x4a\x41\x54\x63\x23\x49\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x41\x49\x34\x6d\x47\x49\x47\x62\x7c\x75\x38\x47\x25\x4f\x25\x42\x48\x59\x5e\x7d\x41\x47\x42\x37\x4d\x34\x46\x29\x3d\x74\x53\x41\x55\x48\x51\x48\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x46\x29\x53\x63\x34\x46\x67\x37\x65\x38\x46\x2a\x59\x7c\x57\x41\x54\x63\x26\x49\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x48\x38\x55\x28\x41\x47\x42\x59\x28\x53\x41\x54\x63\x26\x44\x45\x46\x64\x3e\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x41\x49\x34\x6d\x47\x43\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x46\x29\x25\x6b\x51\x41\x54\x7e\x35\x43\x41\x55\x48\x57\x4a\x41\x54\x54\x54\x2d\x46\x29\x25\x56\x4c\x41\x54\x63\x76\x36\x41\x54\x63\x23\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x48\x61\x52\x52\x48\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x75\x7e\x41\x54\x63\x23\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x39\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x5f\x7a\x41\x46\x29\x7d\x50\x35\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x26\x36\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x2b\x52\x41\x54\x63\x2a\x41\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x61\x49\x4c\x47\x47\x42\x37\x6b\x4f\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x37\x56\x36\x47\x42\x68\x77\x4f\x41\x54\x75\x5e\x42\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x44\x45\x46\x64\x3e\x43\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x24\x52\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x49\x47\x62\x7c\x75\x36\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x63\x71\x68\x37\x46\x29\x7d\x6e\x50\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x71\x7a\x42\x48\x5a\x55\x77\x38\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x41\x41\x55\x51\x42\x42\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x63\x5f\x7a\x41\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x48\x38\x33\x6e\x37\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x38\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x25\x72\x3e\x47\x42\x68\x24\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x44\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x2a\x39\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x3f\x56\x41\x54\x63\x70\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x46\x2a\x47\x62\x37\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x54\x75\x79\x35\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x48\x54\x49\x41\x54\x63\x6d\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x24\x52\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x77\x39\x46\x46\x2a\x47\x71\x4f\x41\x54\x25\x26\x36\x41\x54\x63\x73\x46\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x43\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x44\x45\x46\x64\x23\x35\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x52\x39\x44\x47\x42\x68\x7c\x57\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x47\x42\x68\x24\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x7b\x47\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x46\x2a\x37\x56\x36\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x3e\x38\x45\x41\x55\x38\x51\x49\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x42\x42\x41\x54\x63\x6d\x41\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x23\x52\x49\x46\x46\x2a\x68\x28\x51\x41\x54\x6c\x76\x44\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x46\x2a\x47\x74\x50\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x33\x6e\x37\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x36\x47\x26\x4c\x2b\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x2b\x6b\x37\x47\x42\x68\x28\x52\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x39\x47\x63\x7a\x6e\x38\x47\x42\x71\x3f\x54\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x68\x4f\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x59\x56\x35\x48\x38\x6d\x5f\x43\x46\x29\x3d\x6e\x51\x41\x54\x75\x79\x35\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x37\x41\x54\x63\x23\x44\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x38\x42\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x47\x42\x50\x7a\x52\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x28\x53\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x43\x33\x3f\x44\x46\x2a\x47\x62\x37\x46\x29\x7d\x7a\x54\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x3b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x26\x64\x7c\x44\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x4b\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x71\x68\x37\x47\x42\x50\x6e\x4e\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x43\x74\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x47\x42\x59\x24\x52\x41\x54\x63\x2a\x45\x45\x46\x64\x3b\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x38\x48\x21\x4c\x37\x42\x47\x26\x55\x3f\x43\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x36\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x33\x28\x42\x47\x25\x4f\x25\x37\x49\x35\x61\x46\x45\x46\x2a\x50\x2b\x54\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x26\x4a\x45\x46\x64\x7b\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x7c\x56\x41\x54\x63\x23\x46\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x79\x37\x41\x54\x63\x26\x48\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x47\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x6a\x55\x48\x49\x57\x73\x49\x45\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x37\x46\x66\x31\x54\x42\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x38\x45\x46\x64\x23\x37\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x47\x42\x68\x5f\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x79\x37\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x2a\x68\x5f\x55\x41\x54\x63\x76\x49\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x50\x7d\x60\x47\x42\x68\x28\x52\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x3b\x41\x45\x46\x64\x26\x36\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x46\x45\x46\x64\x79\x36\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x44\x49\x34\x6d\x47\x45\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4a\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x46\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x56\x30\x45\x47\x42\x37\x65\x4d\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x59\x6e\x39\x49\x35\x3b\x64\x49\x46\x29\x7d\x6e\x50\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x47\x42\x68\x7c\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x37\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x30\x39\x45\x48\x38\x4c\x7a\x39\x48\x38\x64\x3c\x42\x47\x42\x50\x24\x53\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x23\x58\x48\x47\x42\x68\x7a\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x56\x3e\x50\x4a\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x2b\x55\x41\x54\x6c\x76\x35\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x45\x6d\x4a\x47\x63\x59\x56\x35\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x48\x38\x55\x28\x41\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x36\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x38\x42\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x47\x41\x74\x6c\x38\x46\x29\x53\x63\x35\x48\x38\x64\x3c\x42\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x30\x39\x45\x47\x63\x2b\x74\x39\x47\x42\x37\x59\x4b\x41\x55\x51\x4e\x46\x41\x54\x63\x73\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x4a\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x7b\x4a\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x46\x2a\x37\x56\x36\x46\x2a\x59\x2b\x53\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x41\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x47\x64\x4c\x5f\x44\x46\x2a\x72\x36\x58\x41\x55\x48\x45\x44\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x46\x2a\x21\x4c\x62\x41\x55\x38\x42\x44\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x48\x45\x46\x64\x23\x38\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x48\x48\x21\x4c\x37\x48\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x43\x48\x21\x4c\x37\x41\x46\x66\x63\x34\x32\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x48\x61\x52\x52\x48\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x44\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x76\x4a\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x39\x46\x2a\x47\x62\x37\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x71\x24\x50\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x33\x57\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x71\x71\x39\x49\x57\x73\x49\x45\x46\x2a\x37\x77\x52\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x48\x48\x21\x4c\x37\x49\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x46\x29\x53\x63\x34\x46\x66\x25\x4d\x35\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x21\x76\x28\x39\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x45\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x36\x48\x21\x4c\x37\x41\x47\x25\x2b\x6b\x37\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7c\x57\x41\x54\x6c\x76\x42\x45\x46\x64\x2a\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x68\x28\x51\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x46\x2a\x5a\x33\x59\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x56\x3e\x50\x4a\x47\x62\x7c\x75\x37\x48\x38\x55\x28\x41\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x38\x44\x41\x54\x3e\x38\x45\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x43\x3c\x43\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x55\x3f\x43\x46\x2a\x37\x68\x4d\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x47\x26\x6e\x33\x45\x47\x26\x33\x77\x39\x47\x42\x47\x6e\x4f\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x45\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x46\x29\x53\x63\x34\x46\x29\x25\x44\x33\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x44\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x44\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x33\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x48\x5a\x64\x24\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x42\x44\x41\x54\x63\x6d\x33\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x7b\x6a\x4a\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x47\x63\x68\x62\x36\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x62\x7c\x75\x36\x48\x61\x30\x39\x45\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x38\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x23\x61\x4f\x47\x46\x2a\x50\x77\x50\x41\x54\x63\x26\x47\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x38\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x7a\x28\x43\x48\x39\x30\x49\x47\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x2a\x39\x41\x55\x51\x4b\x45\x41\x54\x7e\x32\x42\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x47\x42\x71\x24\x50\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x3d\x4a\x34\x47\x26\x33\x77\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x41\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x49\x35\x23\x58\x48\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7c\x57\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x4c\x5f\x44\x47\x42\x59\x3c\x55\x41\x54\x63\x79\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x43\x33\x3f\x44\x46\x2a\x37\x56\x36\x46\x2a\x7a\x7c\x54\x41\x54\x63\x73\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x47\x63\x59\x56\x35\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x46\x29\x25\x6b\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x47\x42\x68\x7c\x57\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x5a\x26\x7c\x43\x48\x38\x33\x6e\x37\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x47\x45\x46\x64\x23\x31\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x46\x2a\x50\x2b\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x57\x61\x36\x43\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x39\x46\x46\x46\x29\x3d\x6b\x50\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x44\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x61\x4f\x47\x49\x57\x3b\x55\x47\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x38\x42\x41\x54\x63\x79\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x38\x46\x66\x31\x54\x33\x47\x42\x47\x53\x35\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x46\x29\x3d\x4a\x34\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x47\x42\x59\x3c\x55\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x34\x6d\x47\x43\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x56\x30\x45\x46\x2a\x50\x2b\x54\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x33\x46\x66\x25\x4d\x35\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x5e\x39\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x74\x50\x41\x55\x51\x54\x48\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x37\x45\x46\x64\x79\x36\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x47\x6e\x4f\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x7b\x44\x41\x55\x51\x48\x44\x41\x54\x63\x3b\x4b\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x43\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x3b\x41\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x74\x50\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x54\x54\x54\x2d\x46\x2a\x50\x77\x50\x41\x54\x63\x3e\x4c\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x29\x7d\x7a\x54\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x49\x33\x43\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x47\x46\x29\x53\x63\x37\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x39\x47\x41\x74\x6c\x36\x46\x66\x3d\x53\x36\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x6c\x79\x42\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x7b\x41\x41\x54\x75\x26\x37\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x46\x66\x31\x54\x33\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x2a\x39\x41\x54\x25\x7e\x43\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x21\x3e\x5f\x42\x48\x5a\x26\x7c\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x48\x38\x6d\x5f\x43\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x35\x43\x41\x54\x7d\x7b\x39\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x45\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x47\x42\x59\x28\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x46\x67\x37\x65\x38\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x46\x66\x31\x54\x33\x47\x42\x50\x59\x36\x47\x42\x50\x74\x50\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x50\x77\x51\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x61\x46\x45\x46\x29\x7d\x7a\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x36\x46\x66\x31\x54\x41\x49\x34\x6d\x47\x43\x47\x25\x2b\x6b\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x42\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x2b\x55\x41\x54\x6c\x79\x44\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x70\x38\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x76\x36\x41\x54\x63\x26\x44\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x46\x2a\x69\x30\x57\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x71\x71\x39\x46\x2a\x47\x62\x37\x47\x42\x68\x5f\x56\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x42\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x4a\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x46\x2a\x47\x7a\x52\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x77\x52\x41\x55\x48\x42\x43\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x41\x46\x66\x75\x47\x34\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x47\x45\x46\x64\x2a\x33\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x39\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x34\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x5a\x33\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x63\x26\x4b\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x38\x46\x66\x7d\x59\x37\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x48\x46\x41\x55\x51\x48\x44\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x64\x43\x3c\x43\x46\x2a\x21\x4c\x62\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x71\x4f\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x38\x45\x46\x64\x79\x37\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x43\x46\x66\x31\x54\x33\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x25\x2a\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x48\x61\x39\x46\x46\x47\x42\x71\x5f\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x3d\x71\x52\x41\x54\x63\x26\x39\x41\x54\x26\x35\x45\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x23\x36\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x34\x7e\x3f\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x49\x57\x23\x4f\x46\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x4b\x48\x41\x54\x3d\x3b\x37\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x41\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x48\x38\x33\x6e\x37\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x47\x42\x59\x24\x52\x41\x54\x63\x79\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x49\x35\x3b\x64\x49\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x79\x49\x45\x46\x64\x3b\x44\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x5a\x4a\x41\x54\x6c\x2a\x39\x41\x54\x63\x3e\x43\x41\x54\x63\x2a\x41\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x47\x42\x71\x5f\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x43\x47\x26\x33\x77\x39\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x46\x66\x31\x54\x35\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x3d\x78\x3f\x47\x42\x71\x3c\x53\x41\x54\x63\x76\x41\x45\x46\x64\x76\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x68\x28\x51\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x47\x42\x71\x28\x51\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x46\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x6e\x52\x41\x54\x75\x79\x35\x41\x55\x51\x4b\x45\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x4a\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x42\x45\x46\x64\x72\x7d\x41\x54\x63\x70\x46\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x49\x33\x43\x47\x42\x68\x77\x4f\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x45\x46\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x26\x64\x7c\x44\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x42\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x38\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x46\x29\x25\x68\x50\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x44\x45\x46\x64\x7b\x43\x45\x46\x64\x23\x45\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x26\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x47\x42\x50\x6e\x4e\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x44\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x59\x3f\x56\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x47\x42\x68\x6b\x38\x47\x64\x4c\x5f\x44\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x76\x32\x45\x41\x54\x63\x23\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x63\x68\x62\x36\x49\x57\x3b\x55\x47\x47\x26\x43\x24\x41\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x21\x26\x3c\x41\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x49\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x48\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x35\x41\x41\x54\x63\x26\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x48\x38\x33\x6e\x37\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x38\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x2b\x74\x39\x47\x42\x37\x62\x4c\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x47\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x6e\x33\x45\x46\x2a\x47\x71\x4f\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x64\x3c\x42\x46\x29\x7d\x7a\x54\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x6d\x5f\x43\x48\x21\x26\x3c\x41\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x25\x3b\x38\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x46\x29\x7d\x6e\x50\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x26\x7c\x43\x48\x5a\x26\x7c\x43\x47\x42\x47\x71\x50\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x47\x63\x71\x68\x37\x49\x34\x6d\x47\x46\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x2b\x74\x39\x47\x42\x37\x74\x52\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x41\x46\x66\x63\x34\x32\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x3e\x38\x41\x54\x63\x79\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x7c\x57\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x6b\x4e\x41\x54\x63\x6d\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x46\x2a\x7a\x28\x43\x47\x26\x43\x24\x41\x46\x29\x7d\x50\x35\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x26\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x69\x30\x58\x41\x54\x6c\x23\x37\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x43\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x46\x2a\x47\x62\x37\x47\x42\x37\x65\x4d\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x39\x46\x66\x63\x34\x32\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x48\x38\x6d\x5f\x43\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x44\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x3e\x38\x41\x54\x7e\x42\x45\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x4a\x47\x25\x4f\x25\x37\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x23\x36\x41\x54\x63\x73\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x45\x46\x41\x54\x63\x3b\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x37\x74\x52\x41\x54\x63\x70\x43\x45\x46\x64\x26\x45\x45\x46\x64\x75\x7e\x41\x54\x63\x3e\x48\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x44\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x39\x36\x44\x46\x29\x25\x44\x33\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x45\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x25\x7a\x65\x36\x46\x2a\x47\x77\x51\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x45\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x35\x23\x58\x48\x46\x2a\x37\x68\x4d\x41\x54\x63\x79\x48\x45\x46\x64\x23\x43\x45\x46\x64\x79\x30\x41\x55\x48\x45\x44\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x6b\x38\x49\x57\x3b\x55\x47\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x45\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x65\x4e\x41\x55\x48\x35\x41\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x38\x46\x66\x31\x54\x38\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x5a\x33\x59\x41\x54\x6c\x73\x38\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x6c\x26\x47\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x47\x25\x4f\x25\x42\x48\x21\x4c\x37\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x47\x46\x66\x31\x54\x38\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x77\x50\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x56\x3e\x50\x43\x47\x26\x43\x24\x41\x46\x2a\x21\x36\x57\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x3d\x59\x4c\x41\x54\x63\x73\x42\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x23\x58\x48\x47\x42\x68\x7a\x50\x41\x54\x63\x23\x47\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x64\x56\x30\x45\x47\x42\x59\x7a\x51\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x47\x42\x71\x3c\x53\x41\x54\x63\x26\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x51\x42\x42\x41\x54\x6c\x26\x47\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x46\x29\x53\x63\x38\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x6b\x38\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3c\x55\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x49\x33\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x44\x49\x34\x6d\x47\x43\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x4e\x47\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x5a\x26\x7c\x43\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x77\x39\x46\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x43\x74\x38\x47\x64\x43\x3c\x43\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x47\x45\x46\x64\x3e\x46\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x75\x7e\x41\x54\x3d\x7e\x42\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x47\x42\x69\x30\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x25\x2b\x6b\x37\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x45\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x51\x48\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x45\x48\x37\x70\x3d\x46\x46\x29\x53\x63\x34\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x63\x23\x49\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x50\x7d\x60\x46\x2a\x59\x2b\x53\x41\x54\x6c\x73\x34\x41\x54\x63\x76\x43\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x23\x49\x43\x45\x48\x38\x55\x28\x41\x48\x61\x39\x46\x46\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x46\x2a\x50\x68\x38\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x37\x41\x54\x63\x23\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x47\x25\x4f\x25\x41\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x49\x35\x49\x33\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x26\x39\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x7e\x48\x47\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x47\x42\x37\x62\x4c\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x56\x3e\x50\x44\x47\x26\x55\x3f\x43\x46\x29\x3d\x68\x4f\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x38\x46\x29\x7d\x50\x35\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x5e\x39\x41\x54\x63\x76\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x69\x30\x58\x41\x54\x63\x76\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x6e\x4e\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x46\x2a\x37\x24\x54\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x44\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x50\x77\x51\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x43\x33\x3f\x44\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x74\x52\x41\x54\x6c\x73\x34\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x45\x6d\x4a\x47\x63\x59\x56\x35\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x48\x45\x46\x64\x72\x7d\x41\x54\x63\x23\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x39\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x55\x48\x38\x42\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x43\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4a\x45\x46\x64\x23\x37\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x29\x53\x63\x36\x49\x34\x6d\x47\x43\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x54\x6c\x26\x38\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x45\x43\x41\x54\x26\x35\x45\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x46\x2a\x68\x74\x41\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x42\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x4b\x46\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x48\x61\x39\x46\x46\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4a\x45\x46\x64\x26\x44\x45\x46\x64\x5e\x36\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x38\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x48\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x45\x45\x41\x55\x51\x4b\x45\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x35\x6a\x4c\x46\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x44\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x47\x42\x71\x71\x39\x49\x58\x35\x67\x49\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x55\x48\x4e\x47\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x38\x47\x42\x68\x6b\x38\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x34\x46\x66\x31\x54\x41\x46\x29\x53\x63\x42\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x46\x2a\x71\x7a\x42\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x47\x25\x4f\x25\x39\x46\x66\x31\x54\x33\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x64\x56\x30\x45\x47\x42\x47\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x42\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x55\x77\x38\x46\x2a\x37\x6e\x4f\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x44\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x48\x23\x30\x30\x43\x46\x2a\x72\x33\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x47\x26\x64\x7c\x44\x46\x2a\x50\x68\x38\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x4c\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x68\x62\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x35\x45\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x6e\x4e\x41\x54\x63\x6d\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x2a\x45\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x47\x26\x4c\x2b\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x44\x49\x56\x3e\x50\x4b\x49\x34\x6d\x47\x42\x47\x26\x77\x39\x46\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x38\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4b\x45\x46\x64\x23\x37\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x46\x2a\x71\x7a\x42\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x3e\x35\x44\x41\x55\x38\x42\x44\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x4b\x45\x41\x54\x26\x38\x46\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x47\x42\x68\x7c\x57\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x47\x26\x33\x77\x39\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x25\x4d\x35\x47\x26\x55\x3f\x43\x47\x42\x50\x3c\x56\x41\x54\x63\x6d\x42\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x47\x26\x43\x24\x41\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x37\x41\x54\x63\x26\x48\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x38\x46\x66\x7d\x59\x37\x47\x63\x71\x68\x37\x46\x29\x7d\x71\x51\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x48\x5a\x6d\x2b\x41\x46\x2a\x59\x7a\x50\x41\x54\x6c\x73\x41\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x47\x42\x47\x7a\x53\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x55\x28\x41\x46\x29\x7d\x6e\x50\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x48\x61\x39\x46\x46\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x7a\x6e\x38\x47\x42\x68\x7a\x50\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x34\x49\x35\x7b\x6a\x4a\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x46\x2a\x47\x62\x37\x47\x63\x2b\x74\x39\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x3b\x48\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x46\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x47\x42\x37\x59\x4b\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x39\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x77\x54\x41\x54\x25\x72\x3e\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x38\x45\x46\x64\x26\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x63\x26\x39\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x47\x42\x37\x6b\x4f\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3b\x41\x41\x54\x63\x70\x38\x45\x46\x64\x2a\x43\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x37\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x47\x41\x74\x6c\x35\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x41\x45\x46\x64\x3e\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x46\x2a\x68\x28\x51\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x47\x42\x71\x2b\x52\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x4b\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x71\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x73\x41\x45\x46\x64\x76\x36\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x36\x46\x66\x25\x4d\x35\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x38\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x71\x53\x41\x54\x6c\x79\x36\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x41\x45\x46\x64\x23\x36\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x59\x3c\x54\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x47\x42\x68\x24\x51\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x48\x21\x4c\x37\x45\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x4c\x5f\x44\x46\x2a\x50\x2b\x54\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x36\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x64\x3c\x42\x46\x2a\x37\x2b\x56\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x47\x42\x47\x28\x55\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x48\x38\x4c\x7a\x39\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x46\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x47\x68\x4d\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x45\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x64\x4c\x5f\x44\x47\x63\x59\x56\x35\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x7b\x43\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x43\x33\x3f\x44\x47\x26\x77\x39\x46\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x46\x2a\x47\x62\x37\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x37\x49\x57\x73\x49\x45\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x4b\x48\x41\x54\x63\x70\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x38\x42\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x26\x36\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x4b\x48\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x5f\x57\x41\x54\x75\x7b\x43\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x44\x45\x46\x64\x23\x45\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x2a\x39\x41\x54\x3d\x3e\x38\x41\x55\x51\x4b\x45\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x47\x63\x71\x68\x37\x46\x2a\x72\x36\x58\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x26\x38\x41\x54\x3d\x7b\x41\x41\x55\x48\x51\x48\x41\x54\x63\x23\x4b\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x46\x2a\x47\x62\x37\x48\x21\x76\x28\x39\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x75\x79\x35\x41\x55\x48\x42\x43\x41\x54\x63\x23\x4c\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x42\x46\x29\x25\x44\x33\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x48\x46\x41\x54\x63\x76\x36\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x47\x63\x5f\x7a\x41\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x75\x7e\x41\x54\x63\x79\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x49\x56\x3e\x50\x4b\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x74\x53\x41\x54\x75\x6c\x3d\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x26\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x63\x26\x39\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x46\x2a\x50\x3c\x55\x41\x54\x63\x73\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x43\x47\x26\x6e\x33\x45\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x35\x47\x64\x43\x3c\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x42\x59\x65\x37\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x44\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x6c\x76\x48\x45\x46\x64\x7b\x46\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x39\x46\x66\x31\x54\x34\x47\x26\x64\x7c\x44\x46\x2a\x72\x33\x57\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x36\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x63\x71\x68\x37\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x55\x38\x42\x44\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x48\x54\x49\x41\x54\x63\x6d\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x28\x53\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x49\x45\x46\x64\x26\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x47\x64\x4c\x5f\x44\x49\x35\x23\x58\x48\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x37\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x45\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x33\x45\x46\x64\x76\x39\x46\x66\x31\x54\x36\x48\x37\x70\x3d\x39\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x6e\x52\x41\x55\x38\x4e\x48\x41\x54\x76\x32\x45\x41\x55\x48\x48\x45\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x44\x47\x63\x7a\x6e\x38\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x43\x74\x38\x48\x61\x39\x46\x46\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x68\x4f\x41\x55\x48\x35\x41\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x43\x47\x42\x68\x6b\x38\x47\x42\x59\x2b\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x47\x42\x47\x77\x52\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x28\x51\x41\x54\x63\x70\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x47\x42\x71\x71\x39\x48\x61\x39\x46\x46\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x63\x4b\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x3c\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x7a\x53\x41\x54\x63\x6d\x47\x45\x46\x64\x7b\x37\x41\x54\x6c\x2a\x39\x41\x54\x3e\x32\x43\x41\x54\x6c\x26\x49\x45\x46\x64\x3b\x38\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x6e\x4f\x41\x54\x6c\x2a\x39\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x48\x38\x43\x74\x38\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x23\x30\x30\x43\x46\x2a\x37\x7a\x53\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x35\x52\x39\x44\x46\x2a\x59\x3c\x54\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x63\x68\x62\x36\x49\x57\x3b\x55\x47\x48\x5a\x55\x77\x38\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x5a\x3f\x33\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x37\x46\x66\x31\x54\x42\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x43\x45\x46\x64\x23\x37\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x34\x7e\x3f\x41\x46\x2a\x59\x2b\x53\x41\x54\x6c\x76\x47\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x47\x64\x4c\x5f\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x46\x2a\x59\x3c\x54\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x47\x62\x37\x46\x2a\x59\x5f\x56\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x42\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x56\x3e\x50\x43\x47\x26\x64\x7c\x44\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x26\x38\x41\x54\x3d\x3b\x37\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x49\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x23\x36\x41\x54\x25\x2a\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x26\x77\x39\x46\x47\x42\x37\x4d\x34\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x46\x66\x3d\x53\x36\x49\x58\x4e\x73\x4b\x46\x29\x53\x63\x38\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x6e\x51\x41\x54\x6c\x73\x44\x45\x46\x64\x3b\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x54\x48\x41\x54\x63\x2a\x41\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x63\x71\x68\x37\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x49\x47\x41\x74\x6c\x35\x49\x58\x4e\x73\x4b\x46\x29\x7d\x24\x55\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x33\x6e\x37\x46\x29\x7d\x65\x4d\x41\x54\x63\x76\x43\x45\x46\x64\x26\x43\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x37\x7a\x54\x41\x54\x75\x79\x35\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x48\x38\x43\x74\x38\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x46\x2a\x59\x3f\x55\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x34\x6d\x47\x42\x48\x5a\x26\x7c\x43\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x38\x44\x41\x54\x7d\x7e\x41\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x37\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x47\x63\x5f\x7a\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x34\x6d\x47\x42\x49\x57\x23\x4f\x46\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x48\x47\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x4e\x47\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x43\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x24\x52\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x26\x3c\x41\x49\x35\x3b\x64\x49\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x39\x45\x46\x64\x7b\x4b\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x4a\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x43\x5a\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x73\x52\x47\x46\x2a\x21\x4c\x62\x41\x54\x6c\x73\x41\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3b\x37\x41\x54\x26\x32\x44\x41\x54\x6c\x79\x47\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x63\x68\x62\x36\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7a\x50\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x47\x42\x59\x3c\x55\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x48\x23\x39\x36\x44\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x61\x30\x39\x45\x47\x26\x77\x39\x46\x48\x61\x52\x52\x48\x49\x57\x23\x4f\x46\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x42\x71\x71\x39\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x44\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x76\x47\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x34\x7e\x3f\x41\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x47\x42\x71\x2b\x52\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x66\x31\x54\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x67\x37\x65\x38\x48\x21\x26\x3c\x41\x46\x29\x3d\x62\x4d\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x38\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x47\x42\x59\x28\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x46\x2a\x21\x46\x5a\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x39\x41\x54\x25\x7e\x43\x41\x54\x75\x5e\x42\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6e\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x68\x6b\x38\x46\x2a\x71\x3c\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x46\x29\x3d\x6b\x50\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x37\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x49\x56\x3e\x50\x45\x46\x29\x53\x63\x34\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x77\x52\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x55\x47\x40\x5f\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x43\x45\x46\x64\x23\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x37\x56\x36\x49\x35\x38\x7c\x42\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x44\x45\x46\x64\x26\x37\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x38\x47\x63\x7a\x6e\x38\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x47\x25\x7a\x65\x36\x46\x2a\x5a\x33\x59\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x37\x56\x36\x46\x2a\x59\x5f\x56\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x2a\x44\x45\x46\x64\x23\x36\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x64\x3c\x42\x47\x42\x50\x6e\x4e\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x37\x2b\x56\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x26\x6e\x33\x45\x47\x42\x37\x4d\x34\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x71\x4f\x41\x54\x75\x2a\x38\x41\x54\x63\x70\x38\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x47\x26\x55\x3f\x43\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x39\x47\x25\x4f\x25\x38\x46\x2a\x47\x62\x37\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x48\x59\x5e\x7d\x41\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x7a\x6e\x38\x46\x2a\x50\x3c\x55\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x48\x48\x59\x5e\x7d\x48\x47\x62\x7c\x75\x45\x49\x56\x3e\x50\x43\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3f\x56\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x48\x47\x41\x54\x3d\x7b\x41\x41\x54\x7e\x38\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x33\x48\x61\x39\x46\x46\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x68\x4e\x41\x54\x63\x26\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x39\x46\x46\x46\x2a\x72\x39\x59\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x54\x6c\x3e\x42\x41\x54\x75\x26\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x41\x48\x21\x4c\x37\x44\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x6a\x55\x48\x46\x29\x7d\x50\x35\x46\x29\x25\x53\x4b\x41\x54\x6c\x26\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3c\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x50\x4a\x41\x54\x6c\x79\x36\x41\x54\x63\x6d\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x49\x35\x6a\x4c\x46\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x35\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x36\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x50\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x76\x36\x41\x54\x63\x26\x4b\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x45\x47\x41\x74\x6c\x38\x46\x66\x31\x54\x42\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x46\x29\x53\x63\x43\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x46\x2a\x59\x2b\x53\x41\x54\x63\x26\x44\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x45\x46\x41\x54\x63\x70\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x37\x56\x36\x49\x34\x7e\x3f\x41\x46\x2a\x72\x30\x56\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x44\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x5f\x57\x41\x54\x75\x7b\x43\x41\x54\x6c\x7b\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x46\x67\x47\x6b\x39\x47\x63\x59\x56\x35\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x47\x63\x59\x56\x35\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x48\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x39\x47\x62\x7c\x75\x35\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x46\x29\x7d\x50\x35\x46\x2a\x59\x7a\x50\x41\x54\x63\x26\x4c\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x25\x7e\x43\x41\x54\x6c\x3e\x42\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x45\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x42\x45\x41\x54\x26\x38\x46\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x74\x52\x41\x54\x63\x76\x4a\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x43\x33\x3f\x44\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x71\x28\x51\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x72\x46\x61\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x48\x23\x30\x30\x43\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x3b\x39\x41\x54\x6c\x73\x45\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x68\x6b\x38\x49\x58\x4e\x73\x4b\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x63\x4b\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x69\x30\x58\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x71\x4f\x41\x54\x26\x35\x45\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x23\x37\x45\x46\x64\x79\x36\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x47\x77\x52\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3f\x56\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x68\x4f\x41\x55\x38\x32\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x37\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x3b\x41\x41\x55\x51\x5a\x4a\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x47\x42\x7a\x77\x41\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x38\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x36\x48\x37\x70\x3d\x46\x48\x59\x5e\x7d\x39\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x26\x38\x41\x54\x25\x3e\x39\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x48\x21\x26\x3c\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x48\x38\x55\x28\x41\x46\x29\x3d\x56\x4b\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x44\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x26\x38\x41\x54\x26\x38\x46\x41\x55\x37\x2d\x5e\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x47\x26\x77\x39\x46\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x44\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x30\x39\x45\x46\x29\x3d\x59\x4c\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x68\x4e\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6b\x50\x41\x55\x38\x38\x43\x41\x55\x51\x4b\x45\x41\x54\x6c\x2a\x44\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x45\x49\x56\x3e\x50\x4a\x48\x59\x5e\x7d\x48\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x43\x46\x29\x25\x44\x33\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x43\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x3c\x54\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x46\x2a\x5a\x30\x58\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x36\x46\x66\x31\x54\x41\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x2b\x55\x41\x54\x7e\x38\x44\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x53\x4b\x41\x55\x38\x42\x44\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x47\x64\x43\x3c\x43\x47\x42\x69\x30\x58\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x26\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x47\x42\x47\x7a\x53\x41\x54\x63\x70\x48\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x68\x4d\x41\x55\x38\x4b\x47\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x48\x21\x76\x28\x39\x46\x29\x7d\x74\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x47\x42\x37\x62\x4c\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x47\x62\x37\x47\x42\x68\x24\x51\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x43\x45\x46\x64\x2a\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x6e\x33\x45\x46\x2a\x37\x2b\x56\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x3f\x33\x44\x47\x42\x47\x77\x52\x41\x55\x48\x45\x44\x41\x54\x63\x79\x43\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x49\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x65\x4e\x41\x54\x3d\x78\x3f\x47\x42\x68\x2b\x53\x41\x54\x63\x79\x44\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x48\x23\x52\x49\x46\x47\x42\x68\x5f\x56\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x47\x42\x71\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x6e\x50\x41\x54\x6c\x79\x36\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x50\x4a\x41\x54\x6c\x26\x38\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x63\x2b\x74\x39\x47\x42\x68\x77\x4f\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x35\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x21\x26\x3c\x41\x46\x29\x25\x56\x4c\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x47\x42\x68\x3c\x54\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x48\x38\x28\x36\x45\x47\x25\x2b\x6b\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7c\x57\x41\x54\x75\x2a\x38\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x42\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x41\x74\x6c\x35\x46\x67\x47\x6b\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x48\x38\x6d\x5f\x43\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x26\x45\x45\x46\x64\x26\x44\x45\x46\x64\x76\x36\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x49\x46\x66\x31\x54\x33\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x79\x35\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x63\x2a\x41\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x42\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x47\x26\x6e\x33\x45\x48\x23\x39\x36\x44\x48\x5a\x3f\x33\x44\x46\x29\x25\x53\x4b\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x49\x35\x23\x58\x48\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x39\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x6d\x5f\x43\x48\x61\x52\x52\x48\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x76\x32\x45\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x71\x68\x37\x47\x42\x7a\x77\x41\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x47\x26\x6e\x33\x45\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x63\x70\x42\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x47\x63\x59\x56\x35\x46\x29\x7d\x6e\x50\x41\x54\x63\x70\x44\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x46\x2a\x72\x39\x59\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x62\x7c\x75\x37\x46\x66\x6c\x41\x33\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x4b\x48\x41\x54\x3e\x32\x43\x41\x54\x76\x32\x45\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x36\x47\x25\x7a\x65\x36\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x2b\x6b\x37\x46\x2a\x59\x5f\x56\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x43\x49\x35\x61\x46\x45\x47\x42\x50\x24\x53\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x63\x59\x56\x35\x49\x57\x6a\x43\x44\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x54\x48\x41\x54\x75\x79\x35\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x49\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x3e\x38\x41\x54\x7e\x35\x43\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x42\x45\x46\x64\x23\x42\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x30\x39\x45\x47\x26\x33\x77\x39\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x45\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x37\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x38\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x52\x52\x48\x48\x38\x28\x36\x45\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x45\x45\x41\x54\x63\x6d\x33\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x49\x4c\x47\x48\x38\x6d\x5f\x43\x47\x63\x7a\x6e\x38\x47\x42\x37\x74\x52\x41\x54\x7d\x5e\x38\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x47\x42\x71\x71\x39\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x67\x50\x71\x41\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x35\x47\x26\x4c\x2b\x42\x47\x64\x33\x28\x42\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x55\x38\x45\x45\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x4b\x45\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x42\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x79\x44\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x46\x66\x7d\x59\x37\x47\x25\x2b\x6b\x37\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x42\x45\x46\x64\x79\x36\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x61\x39\x46\x46\x46\x2a\x37\x6e\x4f\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x44\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3f\x56\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x63\x71\x68\x37\x47\x42\x71\x71\x39\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x26\x37\x41\x54\x63\x79\x49\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x43\x48\x21\x4c\x37\x41\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x56\x3e\x50\x43\x48\x38\x43\x74\x38\x46\x2a\x47\x3c\x56\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x55\x28\x41\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x37\x70\x3d\x39\x47\x26\x33\x77\x39\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x65\x4d\x41\x54\x6c\x26\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x71\x71\x39\x47\x42\x59\x24\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x46\x29\x3d\x68\x4f\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x44\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x46\x67\x59\x77\x42\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x44\x45\x46\x64\x2a\x37\x45\x46\x64\x79\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x47\x42\x59\x5f\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x49\x35\x73\x52\x47\x46\x2a\x68\x3c\x53\x41\x54\x6c\x76\x45\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3e\x38\x41\x54\x25\x26\x36\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x37\x70\x3d\x38\x48\x61\x39\x46\x46\x47\x42\x37\x71\x51\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x44\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x46\x66\x25\x4d\x35\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x48\x21\x26\x3c\x41\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x48\x59\x5e\x7d\x46\x47\x62\x7c\x75\x45\x46\x29\x53\x63\x37\x48\x21\x4c\x37\x42\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x3f\x57\x41\x54\x63\x79\x43\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x70\x39\x45\x46\x64\x23\x37\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x47\x71\x50\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x48\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x47\x63\x5f\x7a\x41\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x48\x23\x30\x30\x43\x46\x2a\x50\x28\x53\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x50\x68\x38\x47\x42\x71\x24\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x62\x7c\x75\x45\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x43\x5a\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x29\x7d\x50\x35\x49\x35\x23\x58\x48\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x5a\x30\x58\x41\x54\x63\x23\x49\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x26\x7c\x43\x46\x29\x3d\x62\x4d\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x34\x46\x66\x31\x54\x35\x46\x66\x31\x54\x42\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x6d\x5f\x43\x47\x42\x47\x24\x54\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x28\x55\x41\x54\x3d\x78\x3f\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x76\x41\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x5e\x39\x41\x54\x25\x7b\x42\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x29\x53\x63\x35\x48\x38\x55\x28\x41\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6e\x50\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x7a\x51\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x54\x75\x79\x35\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x47\x48\x37\x70\x3d\x38\x46\x67\x47\x6b\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x4e\x48\x41\x55\x50\x7d\x60\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x4b\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x47\x25\x4f\x25\x38\x47\x26\x33\x77\x39\x46\x2a\x72\x36\x58\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x45\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x48\x38\x6d\x5f\x43\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x42\x46\x66\x31\x54\x34\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x68\x50\x41\x55\x38\x35\x42\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x47\x40\x5f\x48\x38\x6d\x5f\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x37\x7a\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x43\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x47\x42\x47\x74\x51\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x5e\x43\x41\x55\x48\x45\x44\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x41\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x46\x29\x53\x63\x35\x48\x37\x70\x3d\x38\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x74\x50\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x28\x55\x41\x54\x7d\x25\x40\x46\x2a\x47\x77\x51\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x48\x45\x46\x64\x2a\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x47\x25\x4f\x25\x37\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x42\x44\x41\x54\x63\x73\x42\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x46\x2a\x21\x4c\x62\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x47\x42\x71\x3f\x54\x41\x54\x63\x3e\x4e\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x6d\x33\x41\x54\x63\x26\x44\x45\x46\x64\x79\x38\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x47\x63\x68\x62\x36\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x46\x29\x25\x53\x4b\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x68\x7c\x56\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x47\x42\x59\x65\x37\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x48\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x39\x46\x29\x53\x63\x34\x48\x61\x39\x46\x46\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x50\x77\x51\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x56\x3e\x50\x4b\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x38\x32\x41\x41\x54\x63\x6d\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x56\x3e\x50\x43\x49\x57\x23\x4f\x46\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x55\x38\x32\x41\x41\x55\x51\x54\x48\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x39\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x68\x6b\x38\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x46\x2a\x37\x56\x36\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x5f\x56\x41\x54\x75\x2a\x38\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x49\x56\x3e\x50\x4b\x46\x66\x31\x54\x41\x46\x66\x31\x54\x41\x49\x34\x6d\x47\x46\x47\x25\x4f\x25\x38\x46\x67\x59\x77\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x45\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x71\x51\x41\x54\x63\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x3c\x54\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x7a\x7c\x54\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x48\x23\x39\x36\x44\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x76\x32\x45\x41\x54\x6c\x73\x39\x45\x46\x64\x3e\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x3e\x32\x43\x41\x55\x38\x45\x45\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x63\x71\x68\x37\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x47\x26\x6e\x33\x45\x46\x2a\x59\x6e\x39\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6e\x4e\x41\x54\x75\x7e\x44\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x47\x63\x59\x56\x35\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x45\x49\x34\x6d\x47\x43\x46\x29\x7d\x50\x35\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x38\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x43\x74\x38\x46\x29\x3d\x62\x4d\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x46\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x26\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x47\x42\x50\x6e\x4e\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x33\x6e\x37\x47\x25\x5f\x71\x38\x47\x42\x50\x2b\x55\x41\x54\x3d\x5e\x39\x41\x54\x6c\x3e\x42\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x43\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x50\x45\x46\x64\x26\x43\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x47\x42\x50\x59\x36\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x45\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x42\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x50\x77\x50\x41\x54\x63\x79\x43\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x7b\x41\x41\x54\x63\x73\x42\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x38\x7c\x42\x47\x42\x68\x3f\x55\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x45\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x4b\x48\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x49\x61\x41\x54\x63\x70\x43\x45\x46\x64\x76\x33\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x48\x5a\x26\x7c\x43\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x45\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x77\x52\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x55\x37\x2d\x5e\x46\x2a\x21\x49\x61\x41\x54\x63\x76\x47\x45\x46\x64\x23\x36\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x47\x42\x47\x24\x54\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x50\x77\x51\x41\x54\x6c\x79\x46\x45\x46\x64\x7b\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x7c\x56\x41\x54\x6c\x73\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x6d\x33\x41\x54\x63\x26\x48\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x26\x38\x41\x55\x50\x7d\x60\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x4b\x46\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x44\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x47\x68\x4d\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x39\x59\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x71\x52\x41\x54\x75\x79\x35\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x38\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x23\x36\x41\x54\x7d\x7e\x41\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x63\x5f\x7a\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x41\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x44\x48\x37\x70\x3d\x38\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x2a\x39\x41\x54\x25\x5e\x41\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x3f\x33\x44\x48\x61\x52\x52\x48\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x38\x48\x38\x43\x74\x38\x46\x29\x3d\x62\x4d\x41\x54\x63\x79\x49\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x23\x39\x36\x44\x48\x5a\x6d\x2b\x41\x49\x57\x23\x4f\x46\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x46\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x48\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x6e\x52\x41\x54\x6c\x23\x37\x41\x54\x75\x2a\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x2a\x39\x41\x54\x63\x73\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x68\x3f\x54\x41\x54\x6c\x23\x37\x41\x54\x6c\x76\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x64\x33\x28\x42\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x36\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x75\x47\x34\x48\x21\x26\x3c\x41\x46\x29\x3d\x74\x53\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x47\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x46\x2a\x7a\x7c\x54\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x55\x3f\x43\x46\x2a\x47\x6e\x4e\x41\x55\x51\x54\x48\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x3c\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x3b\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x34\x7e\x3f\x41\x46\x2a\x68\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x46\x2a\x68\x5f\x55\x41\x54\x63\x76\x46\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x79\x37\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x48\x21\x3e\x5f\x42\x48\x38\x43\x74\x38\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x5a\x4a\x41\x54\x63\x76\x48\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x79\x44\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x49\x4c\x47\x49\x58\x35\x67\x49\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x43\x45\x46\x64\x72\x7d\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x37\x48\x21\x4c\x37\x41\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x49\x35\x6a\x4c\x46\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x39\x49\x56\x3e\x50\x43\x49\x35\x61\x46\x45\x48\x38\x33\x6e\x37\x47\x42\x47\x68\x4d\x41\x55\x51\x42\x42\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x50\x4a\x41\x54\x6c\x5e\x43\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x35\x23\x58\x48\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x47\x46\x29\x53\x63\x34\x48\x21\x76\x28\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x3b\x42\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x37\x45\x46\x64\x79\x36\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x46\x2a\x37\x6b\x4e\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x45\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x33\x48\x5a\x64\x24\x39\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x38\x32\x41\x41\x54\x63\x6d\x44\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x48\x38\x64\x3c\x42\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x46\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x45\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x3d\x78\x3f\x46\x2a\x59\x2b\x53\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x45\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x43\x5a\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x64\x4c\x5f\x44\x47\x42\x71\x71\x39\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x3b\x39\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x43\x33\x3f\x44\x46\x29\x25\x50\x4a\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x46\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x47\x42\x37\x4d\x34\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x7a\x53\x41\x54\x75\x3e\x41\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x71\x68\x37\x47\x42\x7a\x77\x41\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x41\x46\x29\x53\x63\x41\x48\x21\x4c\x37\x42\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x43\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x47\x63\x7a\x6e\x38\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x45\x45\x46\x64\x3e\x42\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x24\x52\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x26\x46\x45\x46\x64\x79\x38\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x2a\x7a\x28\x43\x46\x29\x3d\x68\x4f\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x5a\x55\x77\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4a\x45\x46\x64\x26\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x43\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x6e\x52\x41\x55\x38\x51\x49\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x48\x54\x49\x41\x54\x3d\x5e\x39\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x47\x42\x71\x24\x50\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x77\x52\x41\x55\x51\x63\x4b\x41\x54\x6c\x3b\x41\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x44\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x2b\x52\x41\x54\x7e\x45\x46\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x47\x42\x37\x62\x4c\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x50\x68\x38\x47\x42\x68\x3f\x55\x41\x54\x6c\x3e\x42\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x46\x45\x46\x64\x79\x38\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x72\x7d\x41\x54\x3d\x5e\x39\x41\x54\x63\x76\x41\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x69\x30\x58\x41\x54\x6c\x79\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x71\x53\x41\x54\x6c\x79\x36\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x76\x47\x45\x46\x64\x23\x42\x45\x46\x64\x76\x38\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x47\x26\x55\x3f\x43\x47\x42\x50\x28\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x41\x49\x34\x7e\x3f\x41\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7c\x57\x41\x54\x75\x7e\x44\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x4a\x48\x37\x70\x3d\x38\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x77\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x37\x24\x54\x41\x54\x25\x72\x3e\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x35\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x44\x45\x46\x64\x3e\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x47\x42\x68\x7c\x57\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x47\x42\x68\x28\x52\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x56\x3e\x50\x4b\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x5a\x26\x7c\x43\x48\x5a\x76\x3f\x42\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x2a\x39\x41\x54\x63\x79\x37\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x47\x42\x37\x6e\x50\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x77\x52\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x35\x47\x25\x2b\x6b\x37\x46\x29\x3d\x65\x4e\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x25\x5f\x71\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x38\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x42\x45\x41\x54\x63\x6d\x46\x45\x46\x64\x79\x35\x45\x46\x64\x7b\x49\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x34\x46\x66\x31\x54\x38\x47\x62\x7c\x75\x37\x46\x2a\x68\x74\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x42\x59\x65\x37\x49\x35\x23\x58\x48\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x2a\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x42\x44\x41\x54\x75\x26\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x48\x61\x49\x4c\x47\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x38\x77\x30\x44\x48\x21\x26\x3c\x41\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7a\x50\x41\x54\x63\x70\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x2a\x39\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x35\x47\x25\x2b\x6b\x37\x46\x2a\x68\x5f\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x49\x35\x6a\x4c\x46\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x46\x66\x31\x54\x33\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x64\x43\x3c\x43\x48\x23\x30\x30\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x47\x42\x59\x24\x52\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x7c\x56\x41\x54\x63\x3e\x4f\x45\x46\x64\x26\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x72\x7d\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x43\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x39\x36\x44\x49\x57\x52\x30\x42\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x38\x42\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x46\x2a\x47\x62\x37\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x45\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x37\x71\x50\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x45\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x46\x61\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x55\x38\x4e\x48\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x44\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x7b\x44\x41\x54\x3d\x3e\x38\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x46\x29\x7d\x50\x35\x46\x2a\x68\x3c\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x46\x45\x46\x64\x7b\x48\x45\x46\x64\x3b\x41\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x47\x42\x68\x24\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x44\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x2a\x39\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x42\x45\x46\x64\x79\x42\x45\x46\x64\x79\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x42\x37\x4d\x34\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x49\x34\x6d\x47\x48\x49\x34\x6d\x47\x42\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x24\x54\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x45\x44\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x44\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x6e\x50\x41\x54\x6c\x79\x41\x45\x46\x64\x26\x43\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x71\x50\x41\x54\x6c\x2a\x39\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x61\x52\x52\x48\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x48\x38\x64\x3c\x42\x46\x2a\x37\x2b\x56\x41\x54\x63\x6d\x38\x45\x46\x64\x79\x30\x41\x54\x6c\x76\x35\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x48\x39\x30\x49\x47\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x34\x6d\x47\x46\x46\x29\x53\x63\x35\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x28\x54\x41\x54\x6c\x79\x44\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3b\x37\x41\x54\x25\x7e\x43\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x34\x48\x38\x55\x28\x41\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x65\x4d\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x26\x3c\x41\x46\x2a\x72\x33\x57\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3b\x41\x41\x54\x63\x23\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x66\x31\x54\x38\x48\x37\x70\x3d\x38\x46\x67\x47\x6b\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x4b\x47\x41\x55\x51\x45\x43\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x35\x61\x46\x45\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x75\x7e\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x43\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x25\x5f\x71\x38\x49\x35\x6a\x4c\x46\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3b\x46\x45\x46\x64\x26\x44\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x23\x6a\x55\x48\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x76\x32\x45\x41\x54\x6c\x3b\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x46\x66\x63\x34\x32\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x77\x39\x46\x46\x2a\x37\x2b\x56\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x2a\x37\x7a\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x46\x29\x7d\x71\x51\x41\x55\x51\x45\x43\x41\x54\x63\x23\x48\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x23\x38\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x39\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x3c\x55\x41\x54\x63\x70\x42\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x46\x2a\x37\x56\x36\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x3e\x35\x44\x41\x55\x38\x48\x46\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x48\x44\x41\x54\x3e\x32\x43\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x46\x2a\x59\x3c\x54\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x63\x68\x62\x36\x47\x63\x5f\x7a\x41\x46\x29\x25\x65\x4f\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x73\x48\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x44\x45\x46\x64\x79\x44\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x46\x2a\x37\x6e\x4f\x41\x54\x26\x32\x44\x41\x54\x7e\x48\x47\x41\x55\x48\x48\x45\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x45\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x43\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x77\x52\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6e\x4e\x41\x54\x7d\x25\x40\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x38\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x45\x47\x41\x74\x6c\x41\x48\x37\x70\x3d\x38\x48\x23\x52\x49\x46\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x71\x68\x37\x47\x42\x68\x28\x52\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x57\x7b\x61\x48\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x42\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x44\x45\x46\x64\x26\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x42\x47\x24\x54\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x59\x65\x37\x47\x62\x7c\x75\x36\x47\x64\x33\x28\x42\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x2a\x39\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x46\x67\x37\x65\x38\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7c\x57\x41\x54\x6c\x76\x45\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x46\x2a\x68\x2b\x52\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x47\x42\x71\x2b\x52\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x56\x3e\x50\x43\x48\x37\x70\x3d\x38\x48\x39\x30\x49\x47\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x37\x7e\x39\x41\x54\x63\x6d\x44\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x36\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x34\x7e\x3f\x41\x46\x2a\x72\x30\x56\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x7e\x42\x41\x54\x63\x2a\x41\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x47\x45\x46\x64\x26\x38\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x6e\x4f\x41\x55\x38\x48\x46\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x48\x38\x4c\x7a\x39\x49\x57\x73\x49\x45\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x47\x63\x2b\x74\x39\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x76\x32\x45\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x45\x46\x29\x53\x63\x43\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x46\x66\x31\x54\x37\x47\x25\x4f\x25\x38\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x59\x65\x37\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x43\x45\x46\x64\x76\x33\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x49\x35\x38\x7c\x42\x46\x2a\x50\x24\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x54\x6c\x7b\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x44\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x46\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x42\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x77\x39\x46\x46\x2a\x37\x7a\x53\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x6d\x5f\x43\x46\x29\x7d\x68\x4e\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x68\x6b\x38\x47\x42\x68\x3c\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x38\x49\x35\x38\x7c\x42\x46\x2a\x72\x39\x59\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x38\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x43\x3c\x43\x46\x2a\x50\x3c\x55\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x48\x37\x70\x3d\x47\x48\x59\x5e\x7d\x45\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x59\x6e\x39\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x49\x33\x43\x46\x2a\x47\x3f\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x48\x45\x46\x64\x2a\x37\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x37\x56\x36\x48\x59\x5e\x7d\x39\x48\x39\x30\x49\x47\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6e\x50\x41\x54\x6c\x26\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x30\x39\x45\x47\x42\x59\x24\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x46\x29\x3d\x6b\x50\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4a\x45\x46\x64\x23\x38\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x48\x23\x61\x4f\x47\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x66\x31\x54\x33\x46\x66\x75\x47\x34\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x46\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x41\x49\x56\x3e\x50\x43\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x48\x21\x4c\x37\x49\x48\x59\x5e\x7d\x39\x48\x5a\x6d\x2b\x41\x47\x42\x59\x74\x4f\x41\x54\x63\x26\x46\x45\x46\x64\x79\x43\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x46\x45\x46\x64\x23\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x45\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x46\x29\x25\x6b\x51\x41\x54\x63\x79\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3c\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x7a\x53\x41\x54\x26\x38\x46\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x47\x26\x33\x77\x39\x46\x29\x7d\x74\x52\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x59\x56\x35\x48\x61\x39\x46\x46\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x54\x63\x23\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x42\x46\x66\x31\x54\x41\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x39\x36\x44\x46\x2a\x47\x62\x37\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x43\x45\x46\x64\x26\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x49\x33\x43\x46\x2a\x59\x24\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x39\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x5f\x57\x41\x54\x25\x7e\x43\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4b\x45\x46\x64\x23\x43\x45\x46\x64\x79\x38\x46\x29\x53\x63\x34\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x55\x51\x5a\x4a\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x26\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x66\x31\x54\x34\x46\x2a\x71\x7a\x42\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x68\x3c\x54\x41\x54\x63\x76\x42\x45\x46\x64\x2a\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x34\x7e\x3f\x41\x47\x42\x71\x28\x51\x41\x55\x48\x4e\x47\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x54\x6c\x3e\x42\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x44\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x42\x44\x41\x55\x51\x54\x48\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x45\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x36\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x4e\x47\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x47\x42\x68\x3c\x54\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x64\x33\x28\x42\x46\x2a\x7a\x5f\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x37\x70\x3d\x47\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x71\x51\x41\x54\x63\x3e\x43\x41\x54\x63\x73\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x4a\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x21\x4c\x62\x41\x54\x63\x3e\x4a\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x45\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x63\x2b\x74\x39\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x2b\x74\x39\x46\x2a\x50\x28\x53\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x61\x4f\x47\x46\x29\x25\x44\x33\x47\x64\x33\x28\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x23\x49\x43\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x49\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x46\x67\x59\x77\x42\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x47\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x47\x71\x50\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x44\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x7a\x51\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x74\x53\x41\x55\x38\x48\x46\x41\x54\x25\x5e\x41\x41\x54\x63\x2a\x4b\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x49\x43\x45\x46\x29\x3d\x4a\x34\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x48\x23\x61\x4f\x47\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x48\x45\x46\x64\x76\x36\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x32\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x25\x7a\x65\x36\x46\x2a\x50\x2b\x54\x41\x54\x63\x3e\x4a\x45\x46\x64\x3b\x34\x41\x54\x6c\x26\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x5f\x57\x41\x54\x63\x70\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x46\x2a\x68\x74\x41\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x3e\x35\x44\x41\x54\x75\x79\x35\x41\x54\x3e\x38\x45\x41\x54\x63\x70\x45\x45\x46\x64\x5e\x48\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x47\x42\x59\x3c\x55\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x47\x42\x50\x74\x50\x41\x54\x75\x3e\x41\x41\x55\x48\x4e\x47\x41\x54\x75\x3b\x39\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x71\x71\x39\x46\x29\x7d\x74\x52\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3c\x55\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x55\x38\x42\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x45\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x7b\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x70\x47\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x3b\x64\x49\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x62\x7c\x75\x36\x49\x58\x35\x67\x49\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x2a\x41\x41\x54\x63\x6d\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x49\x35\x49\x33\x43\x46\x2a\x68\x2b\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x43\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x47\x64\x33\x28\x42\x47\x42\x50\x77\x51\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x46\x2a\x68\x28\x51\x41\x54\x63\x3e\x4f\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x6d\x33\x41\x54\x6c\x26\x44\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x26\x39\x41\x55\x51\x42\x42\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x47\x63\x5f\x7a\x41\x46\x2a\x69\x39\x5a\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x44\x46\x2a\x71\x7a\x42\x49\x34\x6d\x47\x48\x47\x25\x4f\x25\x38\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x62\x4d\x41\x54\x6c\x66\x3c\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x39\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x42\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x3f\x54\x41\x54\x6c\x73\x39\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x6c\x26\x44\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x42\x45\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x47\x74\x50\x41\x54\x6c\x73\x48\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x63\x79\x46\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x46\x29\x7d\x77\x53\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x48\x45\x46\x64\x23\x45\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x6e\x4f\x41\x55\x38\x4b\x47\x41\x55\x38\x32\x41\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x26\x7c\x43\x48\x5a\x26\x7c\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x45\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x44\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x54\x6c\x3b\x41\x41\x54\x3d\x3e\x38\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x26\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x2a\x37\x2b\x56\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x45\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x43\x74\x38\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x63\x5f\x7a\x41\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x43\x47\x62\x7c\x75\x37\x46\x29\x53\x63\x35\x47\x25\x2b\x6b\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x42\x45\x41\x54\x26\x38\x46\x41\x55\x38\x4b\x47\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x4b\x45\x41\x54\x3d\x3e\x38\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x68\x7c\x56\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x46\x2a\x59\x7c\x57\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x43\x49\x35\x7b\x6a\x4a\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x46\x2a\x50\x68\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x24\x51\x41\x54\x63\x70\x45\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x48\x61\x30\x39\x45\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x46\x29\x25\x59\x4d\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x79\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x77\x52\x41\x55\x51\x63\x4b\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x24\x51\x41\x54\x6c\x76\x43\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x34\x46\x29\x53\x63\x34\x49\x34\x7e\x3f\x41\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x2a\x68\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x21\x4c\x37\x41\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x71\x51\x41\x54\x6c\x76\x35\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x4e\x73\x4b\x47\x63\x59\x56\x35\x49\x57\x73\x49\x45\x49\x57\x7b\x61\x48\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x48\x38\x55\x28\x41\x47\x42\x50\x7a\x52\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x71\x7a\x42\x48\x38\x6d\x5f\x43\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x44\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x47\x42\x47\x7a\x53\x41\x54\x7e\x48\x47\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x21\x3e\x5f\x42\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x47\x42\x37\x6e\x50\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x61\x36\x43\x46\x2a\x59\x24\x51\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x49\x43\x45\x49\x57\x6a\x43\x44\x48\x38\x4c\x7a\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x23\x49\x43\x45\x47\x42\x47\x74\x51\x41\x55\x48\x45\x44\x41\x54\x6c\x73\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x34\x46\x66\x6c\x41\x33\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x48\x45\x46\x64\x75\x7e\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x37\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x46\x2a\x72\x33\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x47\x64\x56\x30\x45\x46\x2a\x59\x3c\x54\x41\x54\x6c\x73\x48\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x42\x43\x41\x54\x63\x26\x47\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x43\x46\x67\x59\x77\x42\x47\x63\x5f\x7a\x41\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x47\x26\x77\x39\x46\x46\x2a\x50\x3f\x56\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x29\x7d\x7a\x54\x41\x55\x51\x48\x44\x41\x54\x63\x76\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x29\x53\x63\x34\x47\x42\x47\x53\x35\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x46\x2a\x59\x5f\x56\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x41\x49\x35\x6a\x4c\x46\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x46\x2a\x47\x62\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x73\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x48\x61\x30\x39\x45\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x6a\x43\x44\x47\x26\x6e\x33\x45\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x46\x2a\x37\x68\x4d\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x48\x38\x6d\x5f\x43\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x43\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x37\x7a\x54\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x35\x23\x58\x48\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x26\x6e\x33\x45\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x37\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x47\x42\x2b\x24\x42\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x47\x45\x46\x64\x3b\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x75\x7e\x41\x54\x3e\x32\x43\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x46\x2a\x68\x7c\x56\x41\x54\x63\x23\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x68\x4d\x41\x54\x63\x6d\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x2a\x47\x77\x51\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x69\x39\x5a\x41\x54\x63\x3b\x4b\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x5a\x30\x58\x41\x54\x63\x23\x49\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x47\x40\x5f\x46\x2a\x59\x3c\x54\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x42\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x61\x4f\x47\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3c\x55\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x76\x41\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x26\x35\x45\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x36\x47\x25\x5f\x71\x38\x46\x2a\x72\x39\x59\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x47\x63\x2b\x74\x39\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x23\x49\x43\x45\x46\x29\x7d\x24\x55\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x47\x62\x37\x46\x2a\x59\x7a\x50\x41\x54\x76\x32\x45\x41\x54\x63\x23\x46\x45\x46\x64\x3e\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x54\x48\x41\x55\x38\x38\x43\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x57\x61\x36\x43\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x43\x74\x38\x48\x5a\x26\x7c\x43\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x71\x4f\x41\x54\x75\x26\x37\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x47\x42\x7a\x77\x41\x46\x29\x3d\x62\x4d\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x26\x3c\x41\x46\x2a\x72\x30\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x46\x29\x3d\x71\x52\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x54\x6c\x2a\x39\x41\x55\x48\x38\x42\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x73\x49\x45\x46\x64\x3e\x48\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x47\x63\x7a\x6e\x38\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x42\x45\x46\x64\x3e\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x34\x6d\x47\x43\x46\x67\x47\x6b\x39\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x44\x45\x46\x64\x3b\x42\x45\x46\x64\x79\x43\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x59\x6e\x39\x47\x42\x59\x3f\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x46\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x71\x52\x41\x54\x63\x5a\x3b\x46\x2a\x59\x28\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x45\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x42\x45\x41\x54\x63\x3b\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x49\x35\x6a\x4c\x46\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x36\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x52\x52\x48\x48\x38\x28\x36\x45\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x41\x41\x55\x51\x45\x43\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x63\x5f\x7a\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x7a\x53\x41\x54\x3d\x7e\x42\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7a\x50\x41\x54\x6c\x76\x44\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x42\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x48\x61\x52\x52\x48\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x48\x23\x6a\x55\x48\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x47\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x39\x46\x46\x48\x38\x4c\x7a\x39\x48\x23\x49\x43\x45\x47\x42\x47\x68\x4d\x41\x55\x51\x54\x48\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x71\x68\x37\x48\x61\x39\x46\x46\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x2a\x39\x41\x55\x48\x45\x44\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x45\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x43\x5a\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x29\x53\x63\x34\x48\x38\x43\x74\x38\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x45\x46\x41\x54\x3d\x5e\x39\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x26\x38\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x37\x46\x29\x53\x63\x34\x48\x23\x6a\x55\x48\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x33\x6e\x37\x46\x29\x3d\x62\x4d\x41\x54\x63\x3e\x4d\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x48\x5a\x76\x3f\x42\x46\x29\x3d\x6e\x51\x41\x54\x75\x79\x35\x41\x54\x63\x70\x43\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x44\x49\x56\x3e\x50\x43\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x5e\x39\x41\x55\x38\x32\x41\x41\x54\x63\x6d\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x63\x73\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x2b\x52\x41\x54\x7e\x4b\x48\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x49\x61\x41\x54\x63\x70\x42\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x36\x48\x21\x4c\x37\x42\x47\x42\x71\x71\x39\x49\x35\x61\x46\x45\x48\x38\x33\x6e\x37\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x26\x38\x41\x55\x51\x45\x43\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x35\x61\x46\x45\x46\x2a\x72\x46\x61\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x47\x42\x50\x59\x36\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x25\x4d\x35\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x35\x48\x5a\x64\x24\x39\x46\x2a\x37\x74\x51\x41\x54\x75\x26\x37\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x23\x39\x36\x44\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x47\x25\x5f\x71\x38\x47\x42\x37\x74\x52\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x56\x3e\x50\x44\x48\x38\x33\x6e\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x38\x44\x41\x54\x7e\x32\x42\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x43\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x47\x42\x59\x28\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x52\x52\x48\x47\x26\x6e\x33\x45\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x42\x46\x66\x31\x54\x33\x48\x23\x61\x4f\x47\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x47\x64\x56\x30\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x44\x45\x46\x64\x3e\x43\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x44\x46\x66\x7d\x59\x37\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x79\x44\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x47\x42\x59\x24\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x49\x35\x61\x46\x45\x46\x2a\x68\x3f\x54\x41\x54\x63\x23\x49\x45\x46\x64\x26\x39\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x43\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x48\x46\x41\x54\x63\x73\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x6c\x2a\x39\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x3f\x56\x41\x54\x63\x70\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x2a\x21\x39\x58\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x42\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x6e\x33\x45\x47\x42\x47\x77\x52\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x47\x40\x5f\x46\x2a\x21\x43\x59\x41\x54\x6c\x73\x38\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x5e\x39\x41\x54\x75\x2a\x38\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x3c\x54\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x54\x63\x76\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x4b\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x47\x42\x59\x24\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x33\x28\x42\x49\x35\x61\x46\x45\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x37\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x38\x47\x62\x7c\x75\x36\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x43\x45\x46\x64\x23\x36\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x28\x51\x41\x54\x63\x26\x39\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x47\x42\x37\x68\x4e\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x35\x52\x39\x44\x47\x42\x71\x24\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x42\x45\x46\x64\x3b\x42\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x48\x37\x70\x3d\x38\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x7a\x51\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x52\x39\x44\x46\x2a\x21\x36\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x38\x45\x46\x64\x76\x34\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x76\x36\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x5a\x64\x24\x39\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x48\x45\x46\x64\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x47\x45\x46\x64\x23\x35\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3f\x56\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x76\x48\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x26\x35\x45\x41\x54\x75\x26\x37\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x34\x47\x25\x5f\x71\x38\x47\x42\x50\x74\x50\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x47\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x46\x66\x75\x47\x34\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x48\x38\x55\x28\x41\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x39\x45\x46\x64\x76\x38\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x7d\x59\x37\x47\x42\x2b\x24\x42\x48\x23\x30\x30\x43\x47\x42\x68\x6b\x38\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x6a\x43\x44\x46\x29\x25\x56\x4c\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x79\x42\x45\x46\x64\x75\x7e\x41\x54\x63\x23\x43\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x48\x21\x4c\x37\x41\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x23\x36\x41\x54\x25\x2a\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x47\x42\x71\x71\x39\x46\x2a\x72\x39\x59\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x67\x37\x65\x38\x46\x29\x3d\x65\x4e\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x47\x45\x46\x64\x23\x38\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x37\x65\x38\x47\x43\x33\x3f\x44\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x34\x6d\x47\x46\x48\x37\x70\x3d\x39\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x63\x76\x47\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3e\x38\x41\x54\x75\x26\x37\x41\x54\x63\x23\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x2a\x50\x68\x38\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x2b\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x72\x30\x56\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x44\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x33\x45\x46\x64\x76\x39\x46\x29\x53\x63\x43\x48\x59\x5e\x7d\x39\x49\x57\x7b\x61\x48\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x35\x47\x42\x47\x53\x35\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x47\x64\x56\x30\x45\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x48\x23\x30\x30\x43\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6e\x4e\x41\x54\x25\x3e\x39\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x48\x21\x3e\x5f\x42\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x2a\x39\x41\x55\x51\x51\x47\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x24\x52\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x52\x39\x44\x46\x2a\x21\x4c\x62\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x2a\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x37\x56\x36\x49\x35\x38\x7c\x42\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3b\x45\x45\x46\x64\x23\x37\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x45\x46\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x49\x61\x41\x54\x75\x3b\x39\x41\x54\x3d\x78\x3f\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x3b\x39\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x68\x62\x36\x49\x58\x4e\x73\x4b\x49\x57\x52\x30\x42\x46\x29\x25\x53\x4b\x41\x54\x63\x79\x37\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x47\x42\x71\x24\x50\x41\x54\x63\x3e\x50\x45\x46\x64\x76\x38\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x43\x74\x38\x48\x5a\x26\x7c\x43\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x29\x7d\x24\x55\x41\x54\x75\x26\x37\x41\x54\x7e\x42\x45\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x39\x47\x42\x7a\x77\x41\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x43\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x46\x29\x25\x6e\x52\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x75\x7e\x41\x54\x63\x2a\x41\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x2a\x68\x3f\x54\x41\x54\x63\x23\x4a\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x6b\x4e\x41\x55\x51\x63\x4b\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x47\x25\x7a\x65\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x44\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x39\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x46\x29\x53\x63\x38\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x68\x4f\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x49\x58\x45\x6d\x4a\x47\x42\x37\x4d\x34\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x79\x45\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x48\x23\x49\x43\x45\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x44\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x39\x46\x46\x48\x38\x43\x74\x38\x46\x29\x3d\x6b\x50\x41\x54\x63\x3e\x4f\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x33\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x39\x46\x46\x47\x63\x7a\x6e\x38\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x36\x41\x54\x6c\x26\x4a\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x47\x25\x4f\x25\x43\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x68\x74\x41\x49\x57\x3b\x55\x47\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x45\x44\x41\x54\x63\x3e\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x47\x25\x4f\x25\x46\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x49\x35\x49\x33\x43\x47\x42\x71\x28\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x75\x2a\x38\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x71\x71\x39\x47\x42\x59\x7a\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x63\x7a\x6e\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x28\x51\x41\x54\x63\x70\x41\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x39\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x48\x45\x46\x64\x23\x36\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x37\x4d\x34\x46\x2a\x72\x33\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x59\x65\x37\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x4b\x48\x41\x55\x51\x54\x48\x41\x54\x7e\x48\x47\x41\x54\x6c\x73\x41\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x68\x7c\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x46\x29\x3d\x65\x4e\x41\x54\x25\x2a\x37\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x46\x66\x7d\x59\x37\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x43\x47\x64\x33\x28\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x2a\x7a\x28\x43\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x46\x66\x75\x47\x34\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x45\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x46\x2a\x47\x62\x37\x48\x21\x26\x3c\x41\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x47\x42\x68\x6b\x38\x47\x42\x47\x24\x54\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x47\x42\x68\x28\x52\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x29\x53\x63\x43\x46\x29\x53\x63\x34\x49\x35\x73\x52\x47\x46\x29\x25\x44\x33\x47\x42\x37\x77\x53\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x77\x39\x46\x47\x42\x50\x6e\x4e\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x3f\x33\x44\x46\x2a\x47\x74\x50\x41\x54\x63\x2a\x41\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x46\x45\x46\x64\x75\x7e\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x46\x45\x46\x64\x23\x42\x45\x46\x64\x76\x34\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x34\x6d\x47\x42\x48\x38\x28\x36\x45\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x43\x47\x25\x7a\x65\x36\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x42\x59\x65\x37\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x46\x67\x59\x77\x42\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x43\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x46\x2a\x37\x56\x36\x49\x35\x7b\x6a\x4a\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x28\x52\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x39\x46\x46\x47\x64\x56\x30\x45\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x35\x45\x41\x54\x6c\x26\x38\x41\x55\x48\x57\x4a\x41\x55\x38\x4e\x48\x41\x54\x63\x76\x36\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x47\x42\x37\x65\x4d\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x25\x7a\x65\x36\x48\x38\x28\x36\x45\x46\x2a\x7a\x28\x43\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x71\x4f\x41\x54\x75\x5e\x42\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x47\x63\x68\x62\x36\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x48\x37\x70\x3d\x39\x47\x25\x2b\x6b\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3b\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x46\x61\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x59\x4b\x41\x54\x63\x79\x43\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x48\x38\x64\x3c\x42\x49\x57\x23\x4f\x46\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x44\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x74\x4f\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x49\x35\x7b\x6a\x4a\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x45\x45\x46\x64\x79\x36\x45\x46\x64\x3e\x44\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x48\x49\x34\x6d\x47\x47\x46\x29\x53\x63\x35\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x3c\x56\x41\x54\x63\x76\x48\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x46\x2a\x37\x28\x55\x41\x54\x3d\x7e\x42\x41\x54\x6c\x7b\x44\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x38\x47\x42\x68\x6b\x38\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x34\x46\x66\x31\x54\x39\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x34\x47\x25\x7a\x65\x36\x48\x61\x49\x4c\x47\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x39\x48\x21\x4c\x37\x48\x48\x59\x5e\x7d\x39\x46\x67\x37\x65\x38\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x47\x26\x6e\x33\x45\x46\x2a\x21\x36\x57\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x46\x29\x25\x56\x4c\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x25\x7a\x65\x36\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x41\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x46\x2a\x21\x30\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x37\x70\x3d\x46\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x59\x4b\x41\x55\x38\x32\x41\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x6d\x5f\x43\x48\x23\x6a\x55\x48\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3f\x56\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x73\x52\x47\x46\x2a\x21\x33\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x48\x21\x4c\x37\x41\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x79\x35\x41\x54\x25\x26\x36\x41\x54\x63\x23\x4c\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x46\x61\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x2a\x39\x41\x54\x63\x79\x37\x41\x54\x63\x26\x4a\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x44\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x52\x49\x46\x49\x34\x6d\x47\x45\x48\x21\x4c\x37\x42\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x28\x54\x41\x54\x63\x79\x43\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x70\x39\x45\x46\x64\x26\x39\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x46\x66\x3d\x53\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x5f\x57\x41\x54\x63\x26\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x26\x3c\x41\x46\x2a\x50\x68\x38\x46\x2a\x72\x33\x57\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x61\x4f\x47\x49\x57\x52\x30\x42\x47\x25\x2b\x6b\x37\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x23\x49\x43\x45\x46\x2a\x47\x7a\x52\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x49\x58\x45\x6d\x4a\x46\x29\x7d\x71\x51\x41\x54\x75\x3b\x39\x41\x54\x63\x70\x47\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x45\x47\x41\x74\x6c\x42\x47\x25\x4f\x25\x37\x48\x61\x30\x39\x45\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6e\x50\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3c\x52\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x48\x23\x6a\x55\x48\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x37\x48\x38\x43\x74\x38\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x44\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x7a\x6e\x38\x46\x2a\x72\x36\x58\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x52\x52\x48\x47\x26\x6e\x33\x45\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x46\x45\x46\x64\x3b\x34\x41\x54\x63\x23\x46\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x57\x61\x36\x43\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x23\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x64\x7c\x44\x48\x5a\x3f\x33\x44\x46\x29\x3d\x6e\x51\x41\x55\x38\x45\x45\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x51\x47\x41\x54\x63\x6d\x37\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x37\x2b\x56\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x41\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3f\x53\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x71\x71\x39\x49\x35\x52\x39\x44\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x79\x49\x45\x46\x64\x3b\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x5a\x4a\x41\x54\x75\x23\x36\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x47\x42\x68\x7c\x57\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x36\x46\x66\x63\x34\x32\x46\x2a\x47\x6e\x4e\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x55\x28\x41\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x37\x70\x3d\x38\x48\x5a\x26\x7c\x43\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x26\x3c\x41\x46\x2a\x72\x33\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x46\x29\x3d\x71\x52\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x48\x38\x77\x30\x44\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x44\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x47\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x46\x2a\x7a\x7c\x54\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x59\x65\x37\x49\x35\x6a\x4c\x46\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x42\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x36\x47\x41\x74\x6c\x35\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x45\x45\x46\x64\x3e\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x52\x39\x44\x46\x2a\x68\x2b\x52\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x46\x2a\x68\x7c\x56\x41\x54\x63\x79\x47\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x6c\x26\x48\x45\x46\x64\x26\x37\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x26\x38\x46\x41\x54\x63\x73\x46\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x42\x7a\x77\x41\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x46\x29\x53\x63\x37\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x71\x68\x37\x46\x29\x7d\x24\x55\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x44\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x35\x61\x46\x45\x46\x2a\x5a\x33\x59\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x34\x6d\x47\x49\x49\x34\x6d\x47\x42\x48\x38\x6d\x5f\x43\x47\x63\x68\x62\x36\x47\x42\x47\x7a\x53\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x48\x49\x56\x3e\x50\x4b\x49\x56\x3e\x50\x43\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6b\x4d\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x55\x50\x7d\x60\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x42\x45\x46\x64\x79\x35\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x36\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x39\x46\x46\x46\x29\x7d\x74\x52\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x47\x42\x59\x65\x37\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x46\x66\x6c\x41\x33\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x35\x48\x5a\x26\x7c\x43\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x42\x45\x41\x54\x26\x38\x46\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x44\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x46\x2a\x72\x33\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x39\x46\x66\x6c\x41\x33\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x55\x38\x32\x41\x41\x54\x3d\x5e\x39\x41\x55\x38\x4e\x48\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x36\x47\x26\x55\x3f\x43\x46\x2a\x47\x74\x50\x41\x54\x6c\x2a\x39\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x48\x5a\x26\x7c\x43\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x61\x52\x52\x48\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x41\x45\x46\x64\x5e\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x44\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x46\x29\x25\x71\x53\x41\x54\x6c\x76\x35\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x4b\x45\x41\x54\x63\x6d\x39\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x36\x46\x66\x63\x34\x32\x47\x42\x47\x24\x54\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x6d\x5f\x43\x47\x26\x33\x77\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x48\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x47\x42\x71\x24\x50\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x49\x58\x4e\x73\x4b\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x24\x51\x41\x54\x63\x73\x42\x45\x46\x64\x79\x38\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x7b\x44\x41\x54\x3d\x7e\x42\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x64\x33\x28\x42\x48\x21\x26\x3c\x41\x47\x42\x68\x24\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x42\x45\x46\x64\x79\x38\x46\x29\x53\x63\x34\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x26\x38\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x37\x71\x51\x41\x54\x75\x5e\x42\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x44\x45\x46\x64\x23\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x48\x23\x6a\x55\x48\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x66\x31\x54\x37\x47\x25\x4f\x25\x38\x47\x26\x33\x77\x39\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x42\x47\x53\x35\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x46\x66\x31\x54\x42\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x79\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x46\x2a\x50\x68\x38\x47\x42\x5f\x2b\x43\x47\x26\x55\x3f\x43\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x41\x46\x2a\x47\x62\x37\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7c\x57\x41\x54\x63\x70\x46\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x34\x6d\x47\x43\x47\x25\x4f\x25\x46\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x33\x56\x41\x54\x6c\x79\x42\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x25\x72\x3e\x47\x42\x68\x24\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x26\x38\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x24\x52\x41\x54\x63\x70\x43\x45\x46\x64\x76\x38\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x2a\x7a\x28\x43\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x49\x56\x3e\x50\x49\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x28\x55\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x4e\x47\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x48\x45\x46\x64\x23\x31\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x42\x48\x21\x4c\x37\x41\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x28\x52\x41\x54\x6c\x73\x41\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x63\x26\x48\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x46\x66\x31\x54\x38\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x4a\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x48\x38\x55\x28\x41\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x58\x35\x67\x49\x49\x58\x45\x6d\x4a\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x33\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x52\x52\x48\x48\x5a\x6d\x2b\x41\x46\x2a\x7a\x28\x43\x48\x38\x4c\x7a\x39\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x63\x4b\x41\x54\x63\x79\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3f\x54\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x36\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x4c\x7a\x39\x46\x2a\x71\x7a\x42\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x2a\x37\x24\x54\x41\x54\x75\x5e\x42\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x2a\x50\x68\x38\x47\x43\x33\x3f\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x54\x63\x76\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x42\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x47\x26\x64\x7c\x44\x46\x29\x7d\x24\x55\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x47\x26\x6e\x33\x45\x46\x29\x7d\x6e\x50\x41\x54\x6c\x23\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x29\x3d\x4a\x34\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7c\x57\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x46\x2a\x72\x33\x57\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x47\x62\x37\x47\x43\x33\x3f\x44\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x26\x37\x41\x54\x6c\x73\x45\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x61\x30\x39\x45\x46\x29\x25\x50\x4a\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x46\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x7a\x77\x41\x46\x2a\x47\x77\x51\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x5f\x2b\x43\x49\x57\x6a\x43\x44\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x44\x45\x46\x64\x3b\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x38\x45\x46\x64\x23\x36\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x49\x35\x38\x7c\x42\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x37\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x47\x42\x71\x3f\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x47\x42\x47\x74\x51\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x41\x46\x67\x47\x6b\x39\x46\x29\x53\x63\x38\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x6b\x4f\x41\x54\x63\x23\x49\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x68\x62\x36\x48\x38\x55\x28\x41\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x43\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3b\x38\x41\x55\x48\x51\x48\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x42\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x45\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x46\x29\x25\x44\x33\x46\x2a\x47\x28\x54\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x47\x25\x4f\x25\x46\x48\x59\x5e\x7d\x47\x48\x37\x70\x3d\x38\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x24\x54\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x4e\x47\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x45\x47\x41\x74\x6c\x43\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x42\x43\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x47\x26\x64\x7c\x44\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x46\x45\x46\x64\x23\x37\x45\x46\x64\x76\x34\x45\x46\x64\x76\x36\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x7d\x59\x37\x47\x42\x50\x59\x36\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x43\x46\x66\x7d\x59\x37\x47\x63\x59\x56\x35\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x26\x6e\x33\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x4a\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x71\x51\x41\x54\x63\x79\x44\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x63\x2b\x74\x39\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x72\x30\x56\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x46\x2a\x47\x62\x37\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x42\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x38\x45\x46\x64\x23\x36\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x59\x65\x37\x47\x42\x59\x7a\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x59\x65\x37\x49\x35\x73\x52\x47\x46\x2a\x47\x3f\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x7a\x77\x41\x46\x29\x7d\x7a\x54\x41\x54\x76\x32\x45\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x48\x61\x30\x39\x45\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x46\x66\x75\x47\x34\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x48\x61\x39\x46\x46\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x4b\x48\x41\x54\x26\x38\x46\x41\x55\x51\x4b\x45\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x39\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x36\x47\x42\x5f\x2b\x43\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x68\x24\x51\x41\x54\x63\x76\x45\x45\x46\x64\x2a\x33\x41\x54\x25\x5e\x41\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x7a\x51\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6b\x50\x41\x55\x38\x4e\x48\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x4c\x7a\x39\x47\x42\x50\x59\x36\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x43\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x7d\x24\x55\x41\x55\x48\x42\x43\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x48\x61\x52\x52\x48\x46\x29\x25\x44\x33\x48\x5a\x76\x3f\x42\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x47\x42\x68\x5f\x56\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x5f\x56\x41\x54\x63\x73\x42\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x43\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x42\x45\x41\x54\x7d\x7e\x41\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x45\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x35\x45\x41\x54\x6c\x26\x38\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x42\x45\x46\x64\x26\x39\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x74\x51\x41\x54\x7e\x45\x46\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x21\x26\x3c\x41\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x48\x38\x6d\x5f\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x41\x45\x46\x64\x76\x36\x45\x46\x64\x79\x38\x46\x29\x53\x63\x36\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x52\x52\x48\x46\x29\x25\x71\x53\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x45\x46\x64\x76\x33\x45\x46\x64\x3b\x39\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x39\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x45\x47\x41\x74\x6c\x35\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x73\x48\x45\x46\x64\x3e\x45\x45\x46\x64\x23\x44\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x2a\x39\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x54\x75\x79\x35\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x46\x66\x63\x34\x32\x48\x21\x76\x28\x39\x47\x63\x2b\x74\x39\x47\x42\x47\x53\x35\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x49\x58\x4e\x73\x4b\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x48\x38\x55\x28\x41\x47\x42\x68\x28\x52\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x71\x7a\x42\x47\x26\x77\x39\x46\x48\x23\x61\x4f\x47\x47\x42\x2b\x24\x42\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x54\x63\x5a\x3b\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x35\x45\x46\x64\x26\x38\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x63\x2a\x41\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x2b\x54\x41\x54\x75\x5e\x42\x41\x54\x7e\x48\x47\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x47\x6b\x39\x47\x42\x47\x24\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x47\x42\x50\x74\x50\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x46\x29\x25\x71\x53\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x46\x2a\x37\x71\x50\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x47\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3b\x41\x41\x55\x48\x57\x4a\x41\x54\x63\x2a\x4c\x45\x46\x64\x26\x44\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x47\x63\x68\x62\x36\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x46\x29\x25\x68\x50\x41\x54\x63\x23\x4b\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x47\x26\x77\x39\x46\x48\x61\x49\x4c\x47\x48\x38\x33\x6e\x37\x46\x29\x3d\x68\x4f\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x46\x2a\x47\x3c\x56\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x45\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6e\x51\x41\x55\x38\x45\x45\x41\x54\x6c\x3e\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x39\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x38\x46\x29\x53\x63\x34\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6e\x4e\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x77\x52\x41\x54\x3d\x78\x3f\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x45\x45\x46\x64\x79\x38\x45\x46\x64\x7b\x4b\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x49\x35\x49\x33\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x47\x26\x6e\x33\x45\x46\x2a\x47\x3c\x56\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x36\x46\x29\x53\x63\x41\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x38\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x30\x39\x45\x46\x29\x3d\x56\x4b\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x76\x41\x45\x46\x64\x7b\x37\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x61\x46\x45\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x25\x2b\x6b\x37\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x3d\x4a\x34\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x46\x67\x37\x65\x38\x47\x64\x56\x30\x45\x48\x5a\x76\x3f\x42\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x41\x49\x35\x23\x58\x48\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x46\x2a\x68\x74\x41\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x24\x51\x41\x54\x75\x7b\x43\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x34\x46\x66\x31\x54\x39\x47\x41\x74\x6c\x38\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x48\x5a\x26\x7c\x43\x46\x2a\x37\x56\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x48\x5a\x3f\x33\x44\x46\x2a\x21\x36\x57\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x68\x62\x36\x46\x29\x25\x56\x4c\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x37\x56\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x74\x4f\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x49\x35\x7b\x6a\x4a\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x38\x45\x46\x64\x3e\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x3e\x32\x43\x41\x55\x38\x4b\x47\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x49\x34\x7e\x3f\x41\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x30\x39\x45\x46\x29\x25\x53\x4b\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x48\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x71\x71\x39\x47\x26\x33\x77\x39\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x34\x48\x61\x30\x39\x45\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x46\x2a\x71\x7a\x42\x46\x2a\x71\x7a\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x43\x33\x3f\x44\x48\x38\x4c\x7a\x39\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x38\x46\x41\x54\x63\x79\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x79\x45\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x71\x4f\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x46\x2a\x37\x24\x54\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x36\x46\x66\x31\x54\x35\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3f\x53\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x71\x71\x39\x49\x57\x52\x30\x42\x46\x2a\x37\x24\x54\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x34\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x39\x36\x44\x46\x29\x3d\x4a\x34\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x38\x42\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x5f\x7a\x41\x49\x35\x49\x33\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x39\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x49\x45\x46\x64\x23\x43\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x47\x42\x50\x59\x36\x48\x38\x43\x74\x38\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x48\x46\x41\x54\x63\x73\x35\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x64\x56\x30\x45\x47\x42\x68\x28\x52\x41\x54\x63\x79\x48\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x71\x4f\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x68\x3c\x54\x41\x54\x6c\x76\x43\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x47\x64\x4c\x5f\x44\x47\x42\x37\x65\x4d\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x36\x46\x66\x31\x54\x41\x49\x56\x3e\x50\x43\x47\x42\x5f\x2b\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x35\x45\x41\x54\x7e\x45\x46\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x42\x42\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x75\x47\x34\x47\x26\x55\x3f\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x32\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x55\x77\x38\x47\x42\x59\x71\x4e\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x47\x63\x2b\x74\x39\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x39\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x6e\x50\x41\x55\x37\x7e\x39\x41\x55\x38\x42\x44\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x35\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x43\x3c\x43\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x35\x43\x41\x54\x63\x70\x39\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x49\x33\x43\x47\x42\x71\x2b\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x42\x45\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x3c\x55\x41\x54\x75\x7b\x43\x41\x55\x50\x7d\x60\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x6c\x73\x45\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x7a\x77\x41\x49\x58\x4e\x73\x4b\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x42\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x7b\x37\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x37\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x71\x52\x41\x54\x75\x6c\x3d\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x38\x45\x46\x64\x26\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x2b\x52\x41\x54\x6c\x23\x37\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x47\x42\x37\x62\x4c\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x56\x3e\x50\x43\x48\x5a\x55\x77\x38\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x37\x7e\x39\x41\x54\x3e\x35\x44\x41\x55\x48\x54\x49\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x50\x7d\x60\x47\x26\x77\x39\x46\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x37\x46\x66\x31\x54\x42\x45\x46\x64\x5e\x4a\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7c\x57\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x68\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x37\x70\x3d\x46\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x71\x51\x41\x55\x37\x7e\x39\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x53\x4b\x41\x54\x6c\x3e\x42\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x49\x57\x52\x30\x42\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x21\x26\x3c\x41\x46\x29\x25\x50\x4a\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x26\x39\x45\x46\x64\x2a\x33\x41\x54\x63\x76\x47\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x71\x71\x39\x49\x35\x49\x33\x43\x46\x2a\x71\x3f\x53\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x2a\x44\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x71\x7c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x59\x65\x37\x49\x35\x61\x46\x45\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x42\x59\x28\x53\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x47\x42\x68\x2b\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x39\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x2b\x54\x41\x54\x6c\x79\x36\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x57\x7b\x61\x48\x47\x42\x71\x71\x39\x48\x23\x6a\x55\x48\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x49\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x25\x2b\x6b\x37\x46\x2a\x37\x7a\x53\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x71\x4e\x41\x54\x63\x2a\x49\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4a\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x43\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x62\x4c\x41\x54\x6c\x76\x35\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x6d\x5f\x43\x47\x42\x2b\x24\x42\x46\x29\x25\x59\x4d\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x64\x33\x28\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x26\x43\x24\x41\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x35\x47\x42\x47\x53\x35\x47\x42\x59\x77\x50\x41\x54\x26\x32\x44\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x48\x61\x30\x39\x45\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x46\x67\x37\x65\x38\x47\x42\x37\x6b\x4f\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x4e\x73\x4b\x47\x63\x5f\x7a\x41\x49\x35\x73\x52\x47\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x7b\x43\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x36\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x3d\x7e\x42\x41\x54\x63\x26\x39\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x30\x39\x45\x46\x29\x25\x59\x4d\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x23\x39\x45\x46\x64\x76\x35\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x47\x42\x71\x24\x50\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x34\x49\x34\x7e\x3f\x41\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x33\x6e\x37\x47\x64\x4c\x5f\x44\x47\x42\x59\x28\x53\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x43\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x6e\x33\x45\x47\x42\x47\x24\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x6e\x33\x45\x47\x42\x47\x28\x55\x41\x54\x63\x70\x41\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x47\x26\x77\x39\x46\x48\x61\x49\x4c\x47\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x2a\x37\x24\x54\x41\x54\x75\x5e\x42\x41\x54\x63\x70\x46\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x68\x6b\x38\x47\x25\x2b\x6b\x37\x46\x2a\x47\x77\x51\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x38\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x55\x77\x38\x47\x63\x7a\x6e\x38\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x54\x6c\x26\x38\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x51\x47\x41\x54\x63\x6d\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x55\x3f\x43\x47\x42\x47\x77\x52\x41\x54\x75\x5e\x42\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x47\x25\x2b\x6b\x37\x48\x23\x73\x61\x49\x48\x21\x76\x28\x39\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x47\x42\x59\x24\x52\x41\x54\x7e\x35\x43\x41\x54\x6c\x73\x41\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x37\x71\x51\x41\x54\x26\x32\x44\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x44\x45\x46\x64\x3b\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x56\x3e\x50\x43\x49\x57\x23\x4f\x46\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x45\x46\x41\x54\x3d\x7b\x41\x41\x55\x48\x54\x49\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x21\x4c\x37\x42\x47\x26\x43\x24\x41\x46\x2a\x72\x43\x5a\x41\x55\x50\x7d\x60\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3e\x42\x41\x54\x63\x79\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x36\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x23\x36\x45\x46\x64\x76\x41\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x38\x7c\x42\x47\x42\x59\x3c\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x38\x46\x66\x6c\x41\x33\x47\x42\x47\x68\x4d\x41\x54\x63\x73\x44\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x41\x47\x25\x4f\x25\x43\x47\x25\x4f\x25\x37\x47\x63\x2b\x74\x39\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x5f\x56\x41\x54\x6c\x76\x43\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x49\x35\x52\x39\x44\x46\x2a\x59\x2b\x53\x41\x55\x48\x35\x41\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x47\x42\x37\x68\x4e\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x35\x49\x33\x43\x47\x42\x71\x28\x51\x41\x54\x75\x3e\x41\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x34\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x41\x46\x66\x63\x34\x32\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x49\x35\x3b\x64\x49\x47\x42\x68\x5f\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x35\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x59\x6e\x39\x48\x38\x4c\x7a\x39\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x41\x45\x46\x64\x72\x7d\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x41\x47\x42\x50\x59\x36\x46\x2a\x68\x2b\x52\x41\x54\x63\x76\x42\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x34\x7e\x3f\x41\x46\x2a\x71\x5f\x54\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x47\x62\x37\x48\x23\x52\x49\x46\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x63\x79\x49\x45\x46\x64\x79\x35\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x37\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x24\x52\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x61\x46\x45\x46\x2a\x47\x2b\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x39\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x45\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x76\x36\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x26\x37\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x47\x26\x6e\x33\x45\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x44\x45\x46\x64\x3e\x43\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x2a\x50\x3c\x55\x41\x54\x63\x70\x43\x45\x46\x64\x3e\x39\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x45\x45\x46\x64\x26\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x7a\x7c\x54\x41\x54\x63\x26\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x41\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x46\x2a\x59\x7c\x57\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x41\x49\x35\x7b\x6a\x4a\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x39\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x43\x74\x38\x46\x29\x3d\x62\x4d\x41\x54\x63\x76\x49\x45\x46\x64\x3b\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x7d\x7e\x41\x41\x54\x63\x26\x39\x41\x55\x51\x45\x43\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x64\x56\x30\x45\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x47\x26\x64\x7c\x44\x47\x63\x2b\x74\x39\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x46\x45\x46\x64\x76\x37\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x4c\x7a\x39\x46\x29\x7d\x24\x55\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3f\x56\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x64\x7c\x44\x47\x42\x7a\x77\x41\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x6e\x50\x41\x54\x63\x3b\x42\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x64\x3c\x42\x47\x42\x68\x6b\x38\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x79\x45\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x5e\x36\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x34\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x63\x7a\x6e\x38\x47\x42\x37\x4d\x34\x46\x2a\x72\x39\x59\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x38\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x5f\x55\x41\x54\x63\x26\x39\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x61\x49\x4c\x47\x46\x2a\x50\x5f\x57\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x61\x36\x43\x47\x42\x68\x24\x51\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x43\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x47\x42\x5f\x2b\x43\x48\x23\x61\x4f\x47\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x47\x62\x7c\x75\x45\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x49\x35\x38\x7c\x42\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x26\x43\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x39\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x64\x33\x28\x42\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x36\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x48\x5a\x3f\x33\x44\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x45\x47\x62\x7c\x75\x36\x46\x66\x3d\x53\x36\x46\x2a\x59\x6e\x39\x46\x29\x7d\x7a\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x6e\x33\x45\x46\x2a\x47\x6e\x4e\x41\x55\x38\x32\x41\x41\x54\x63\x23\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x59\x5e\x7d\x43\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x74\x53\x41\x54\x63\x5a\x3b\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x73\x38\x45\x46\x64\x2a\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x46\x2a\x5a\x30\x58\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x35\x43\x41\x54\x26\x35\x45\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x45\x46\x64\x75\x7e\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x47\x42\x71\x3f\x54\x41\x54\x63\x23\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x71\x53\x41\x54\x63\x3b\x42\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x38\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x6b\x4e\x41\x54\x75\x23\x36\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x61\x49\x4c\x47\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x23\x39\x36\x44\x46\x2a\x50\x7a\x51\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x61\x36\x43\x47\x42\x68\x3c\x54\x41\x54\x6c\x5e\x43\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x45\x45\x46\x64\x3e\x47\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x5e\x49\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x4a\x47\x25\x4f\x25\x37\x48\x38\x6d\x5f\x43\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x48\x47\x41\x54\x3d\x7b\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x39\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x47\x7a\x52\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x35\x47\x64\x4c\x5f\x44\x47\x42\x47\x6b\x4e\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x26\x3c\x41\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x2b\x55\x41\x54\x7e\x4b\x48\x41\x55\x48\x4e\x47\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x45\x46\x64\x75\x7e\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x35\x52\x39\x44\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x64\x56\x30\x45\x46\x29\x25\x65\x4f\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x46\x2a\x68\x7c\x56\x41\x54\x63\x70\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x24\x50\x41\x54\x63\x23\x4a\x45\x46\x64\x2a\x45\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x44\x45\x46\x64\x26\x45\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x37\x24\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x47\x42\x47\x28\x55\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x59\x6e\x39\x49\x58\x35\x67\x49\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x44\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x41\x46\x29\x53\x63\x34\x47\x42\x47\x53\x35\x46\x2a\x72\x33\x57\x41\x54\x63\x79\x42\x45\x46\x64\x7b\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x34\x7e\x3f\x41\x46\x2a\x68\x2b\x52\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x48\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x55\x3f\x43\x46\x2a\x7a\x28\x43\x46\x29\x25\x68\x50\x41\x54\x7d\x25\x40\x47\x64\x56\x30\x45\x47\x42\x59\x65\x37\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x79\x44\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x48\x45\x46\x64\x75\x7e\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x46\x2a\x59\x6e\x39\x47\x63\x7a\x6e\x38\x49\x35\x7b\x6a\x4a\x47\x42\x50\x7a\x52\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x47\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x3f\x56\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x5f\x54\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x71\x71\x39\x49\x35\x52\x39\x44\x47\x42\x71\x24\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x36\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x47\x25\x2b\x6b\x37\x48\x5a\x26\x7c\x43\x47\x42\x50\x71\x4f\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x39\x45\x46\x64\x76\x34\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x79\x35\x41\x54\x63\x73\x46\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x2a\x71\x5f\x54\x41\x54\x63\x6d\x45\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x73\x38\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x50\x7d\x60\x47\x42\x68\x24\x51\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x3b\x38\x45\x46\x64\x5e\x48\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x26\x45\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x46\x2a\x47\x62\x37\x47\x42\x47\x24\x54\x41\x54\x6c\x2a\x45\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x41\x45\x46\x64\x26\x44\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x46\x2a\x37\x68\x4d\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x44\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3c\x55\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6b\x50\x41\x55\x38\x32\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x47\x26\x55\x3f\x43\x48\x23\x30\x30\x43\x47\x26\x4c\x2b\x42\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x76\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x79\x45\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x2b\x56\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x46\x2a\x47\x77\x51\x41\x55\x48\x45\x44\x41\x54\x63\x73\x39\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x23\x39\x36\x44\x46\x29\x7d\x74\x52\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x46\x2a\x7a\x28\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x46\x66\x6c\x41\x33\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x45\x46\x64\x79\x38\x46\x66\x31\x54\x36\x47\x25\x4f\x25\x38\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x68\x50\x41\x55\x38\x35\x42\x41\x54\x7e\x4b\x48\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x45\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x44\x45\x46\x64\x7b\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x46\x2a\x37\x56\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x48\x21\x4c\x37\x48\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x39\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x45\x45\x46\x64\x23\x44\x45\x46\x64\x26\x32\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x39\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x41\x47\x42\x47\x53\x35\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x47\x42\x5f\x2b\x43\x46\x29\x7d\x62\x4c\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x3d\x4a\x34\x47\x26\x55\x3f\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x32\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x50\x24\x53\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x56\x30\x45\x46\x2a\x50\x28\x53\x41\x54\x7e\x4b\x48\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x53\x4b\x41\x54\x75\x79\x35\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x49\x35\x7b\x6a\x4a\x47\x42\x71\x2b\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x41\x74\x6c\x35\x49\x58\x4e\x73\x4b\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x42\x45\x41\x55\x51\x63\x4b\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x26\x38\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x47\x42\x68\x77\x4f\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x37\x49\x35\x73\x52\x47\x46\x2a\x59\x24\x51\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x44\x46\x29\x53\x63\x34\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x62\x4c\x41\x54\x63\x3b\x42\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x53\x4b\x41\x54\x6c\x5e\x43\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x47\x63\x71\x68\x37\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x48\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x48\x38\x33\x6e\x37\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x47\x62\x7c\x75\x39\x47\x41\x74\x6c\x36\x46\x67\x59\x77\x42\x49\x35\x38\x7c\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x44\x45\x46\x64\x3e\x45\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x37\x48\x38\x4c\x7a\x39\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x47\x25\x5f\x71\x38\x46\x29\x7d\x68\x4e\x41\x54\x63\x73\x48\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x47\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x37\x45\x46\x64\x26\x39\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x36\x59\x41\x54\x63\x26\x49\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x28\x52\x41\x54\x6c\x73\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x50\x7d\x60\x47\x42\x68\x2b\x53\x41\x55\x51\x63\x4b\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x45\x48\x59\x5e\x7d\x48\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x39\x49\x34\x6d\x47\x42\x47\x26\x33\x77\x39\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x47\x64\x56\x30\x45\x46\x29\x25\x62\x4e\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x47\x49\x56\x3e\x50\x43\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x46\x29\x3d\x74\x53\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x48\x23\x39\x36\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x46\x66\x7d\x59\x37\x47\x42\x59\x71\x4e\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x55\x51\x48\x44\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x46\x66\x31\x54\x35\x46\x29\x53\x63\x34\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x47\x77\x51\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x7d\x7a\x54\x41\x55\x48\x48\x45\x41\x54\x6c\x73\x43\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x39\x46\x66\x75\x47\x34\x47\x25\x7a\x65\x36\x47\x42\x50\x28\x54\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x55\x77\x38\x46\x2a\x69\x30\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x2a\x7a\x7c\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x56\x3e\x50\x4b\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x59\x4b\x41\x54\x63\x26\x39\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x53\x4b\x41\x55\x38\x42\x44\x41\x54\x63\x73\x42\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x7b\x6a\x4a\x46\x2a\x7a\x5f\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x47\x42\x68\x6b\x38\x49\x58\x4e\x73\x4b\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x55\x48\x4e\x47\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x48\x38\x43\x74\x38\x46\x2a\x47\x28\x54\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x44\x46\x29\x53\x63\x38\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x6b\x4f\x41\x54\x63\x23\x4a\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x43\x33\x3f\x44\x48\x38\x55\x28\x41\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x5a\x4a\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x7c\x57\x41\x54\x6c\x79\x41\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x43\x74\x38\x47\x42\x59\x65\x37\x46\x29\x3d\x59\x4c\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x41\x74\x6c\x36\x47\x64\x43\x3c\x43\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x68\x4e\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x47\x42\x71\x71\x39\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x47\x40\x5f\x46\x2a\x21\x46\x5a\x41\x54\x63\x76\x42\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3b\x37\x41\x54\x25\x3b\x38\x41\x54\x6c\x23\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x67\x50\x71\x41\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7c\x57\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x37\x56\x36\x48\x23\x6a\x55\x48\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x43\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x3b\x41\x41\x54\x26\x35\x45\x41\x54\x63\x73\x45\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x37\x4d\x34\x46\x2a\x71\x3c\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x42\x41\x54\x63\x73\x44\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x29\x7d\x50\x35\x49\x35\x38\x7c\x42\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x44\x45\x46\x64\x26\x38\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x3f\x54\x41\x54\x6c\x73\x34\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x47\x42\x37\x6b\x4f\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3b\x42\x41\x54\x26\x35\x45\x41\x54\x25\x3e\x39\x41\x54\x25\x7e\x43\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x49\x45\x46\x64\x79\x36\x46\x66\x31\x54\x32\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x6e\x52\x41\x54\x63\x2a\x41\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x41\x45\x46\x64\x23\x39\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x74\x53\x41\x54\x6c\x3e\x42\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x43\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x47\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x49\x35\x61\x46\x45\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x42\x45\x46\x64\x79\x37\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x45\x47\x41\x74\x6c\x35\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x47\x45\x46\x64\x23\x36\x45\x46\x64\x23\x37\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x35\x43\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x24\x52\x41\x54\x63\x70\x46\x45\x46\x64\x3e\x45\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x46\x2a\x59\x6e\x39\x47\x42\x37\x6e\x50\x41\x54\x63\x73\x42\x45\x46\x64\x5e\x43\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x3f\x57\x41\x54\x63\x76\x47\x45\x46\x64\x79\x35\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x49\x35\x6a\x4c\x46\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x39\x45\x46\x64\x26\x41\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x63\x2a\x41\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x39\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x44\x45\x46\x64\x3e\x44\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x48\x5a\x3f\x33\x44\x46\x29\x25\x56\x4c\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x45\x46\x64\x72\x7d\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x7b\x6a\x4a\x46\x2a\x69\x36\x59\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x43\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x47\x47\x41\x74\x6c\x35\x49\x34\x7e\x3f\x41\x46\x2a\x50\x3f\x56\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x47\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x35\x49\x33\x43\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x47\x25\x5f\x71\x38\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x41\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x48\x5a\x3f\x33\x44\x47\x25\x5f\x71\x38\x47\x26\x33\x77\x39\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x29\x53\x63\x34\x46\x66\x75\x47\x34\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x47\x42\x47\x74\x51\x41\x55\x48\x4b\x46\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x25\x4f\x25\x38\x46\x29\x53\x63\x34\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x64\x43\x3c\x43\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3f\x53\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x26\x3c\x41\x49\x56\x3e\x50\x43\x47\x26\x33\x77\x39\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x37\x7e\x39\x41\x54\x63\x6d\x43\x45\x46\x64\x23\x42\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x5e\x36\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x49\x34\x6d\x47\x42\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x43\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x46\x29\x53\x63\x35\x47\x26\x6e\x33\x45\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x7a\x65\x36\x47\x42\x68\x28\x52\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x59\x5e\x7d\x41\x47\x63\x7a\x6e\x38\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x38\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x64\x56\x30\x45\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x3e\x38\x45\x41\x54\x7e\x45\x46\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x47\x40\x5f\x47\x26\x6e\x33\x45\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6e\x4e\x41\x55\x48\x38\x42\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x39\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x71\x68\x37\x47\x63\x59\x56\x35\x48\x5a\x64\x24\x39\x46\x2a\x47\x6e\x4e\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x44\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x41\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x42\x45\x41\x54\x26\x35\x45\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x64\x33\x28\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x47\x25\x2b\x6b\x37\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x64\x33\x28\x42\x49\x35\x49\x33\x43\x47\x42\x68\x28\x52\x41\x55\x48\x51\x48\x41\x54\x54\x54\x2d\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x39\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x49\x45\x46\x64\x79\x38\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x24\x51\x41\x54\x63\x23\x4a\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x45\x44\x41\x54\x63\x26\x45\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x47\x64\x43\x3c\x43\x47\x42\x5f\x2b\x43\x47\x64\x33\x28\x42\x47\x42\x59\x65\x37\x47\x63\x2b\x74\x39\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x48\x21\x3e\x5f\x42\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x47\x47\x41\x74\x6c\x36\x46\x66\x25\x4d\x35\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x55\x38\x32\x41\x41\x54\x63\x70\x39\x45\x46\x64\x5e\x43\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x4c\x7a\x39\x46\x2a\x37\x6e\x4f\x41\x54\x7d\x7e\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x48\x38\x64\x3c\x42\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x47\x26\x33\x77\x39\x46\x2a\x59\x7c\x57\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x61\x36\x43\x46\x2a\x59\x7a\x50\x41\x54\x63\x70\x45\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x23\x36\x41\x54\x3d\x3b\x37\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x43\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x37\x46\x2a\x37\x56\x36\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x25\x44\x33\x47\x25\x2b\x6b\x37\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x2a\x33\x41\x54\x63\x26\x44\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x59\x3f\x56\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x63\x59\x56\x35\x49\x57\x3b\x55\x47\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x36\x45\x46\x64\x3b\x39\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x34\x47\x62\x7c\x75\x37\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x63\x5f\x7a\x41\x48\x23\x39\x36\x44\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x43\x47\x41\x74\x6c\x35\x46\x29\x25\x44\x33\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x75\x3e\x41\x41\x54\x7d\x25\x40\x46\x2a\x37\x74\x51\x41\x54\x63\x76\x44\x45\x46\x64\x26\x44\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x47\x42\x68\x7c\x57\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x47\x42\x71\x5f\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x2b\x55\x41\x54\x6c\x23\x37\x41\x55\x48\x48\x45\x41\x55\x50\x7d\x60\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x66\x31\x54\x42\x49\x34\x6d\x47\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x28\x54\x41\x54\x6c\x79\x44\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x39\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x38\x7c\x42\x46\x2a\x59\x24\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x52\x52\x48\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x4b\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x48\x21\x3e\x5f\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x7b\x43\x41\x54\x63\x23\x48\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x59\x56\x35\x49\x58\x45\x6d\x4a\x46\x29\x7d\x71\x51\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x57\x61\x36\x43\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x47\x63\x7a\x6e\x38\x49\x34\x6d\x47\x49\x48\x21\x4c\x37\x43\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x42\x37\x71\x51\x41\x55\x51\x51\x47\x41\x54\x54\x54\x2d\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3b\x46\x45\x46\x64\x26\x41\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x39\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x37\x74\x52\x41\x54\x75\x5e\x42\x41\x55\x51\x42\x42\x41\x55\x38\x35\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x46\x46\x29\x53\x63\x42\x46\x66\x31\x54\x42\x46\x29\x53\x63\x43\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x23\x39\x36\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x44\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x47\x53\x35\x47\x42\x50\x24\x53\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x42\x49\x34\x6d\x47\x45\x46\x66\x31\x54\x33\x47\x26\x4c\x2b\x42\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x47\x42\x71\x2b\x52\x41\x54\x7e\x35\x43\x41\x54\x3d\x7b\x41\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x45\x45\x46\x64\x76\x33\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x34\x7e\x3f\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x7b\x4b\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x2a\x47\x62\x37\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x38\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x46\x2a\x50\x68\x38\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x79\x48\x45\x46\x64\x3b\x45\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x5a\x4a\x41\x54\x75\x79\x35\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x49\x35\x73\x52\x47\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x4b\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x43\x74\x38\x48\x61\x39\x46\x46\x49\x57\x7b\x61\x48\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x42\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x23\x49\x43\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x46\x2a\x59\x6e\x39\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x38\x6d\x5f\x43\x48\x5a\x3f\x33\x44\x47\x42\x47\x53\x35\x48\x61\x39\x46\x46\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x79\x48\x45\x46\x64\x3b\x45\x45\x46\x64\x26\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x25\x4f\x25\x37\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x5f\x57\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x21\x4c\x62\x41\x54\x6c\x73\x38\x45\x46\x64\x23\x43\x45\x46\x64\x3e\x47\x45\x46\x64\x26\x45\x45\x46\x64\x26\x41\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x48\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x28\x53\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x49\x57\x6a\x43\x44\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x23\x48\x45\x46\x64\x76\x42\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x3d\x7e\x42\x41\x55\x38\x45\x45\x41\x54\x63\x70\x44\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x39\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x2b\x55\x41\x54\x63\x76\x48\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x70\x38\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x51\x48\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x48\x38\x33\x6e\x37\x47\x42\x68\x7c\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x47\x63\x2b\x74\x39\x46\x2a\x50\x2b\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x34\x6d\x47\x49\x49\x56\x3e\x50\x43\x49\x35\x52\x39\x44\x46\x29\x25\x44\x33\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x46\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x26\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x2a\x71\x7a\x42\x47\x42\x37\x71\x51\x41\x54\x6c\x76\x42\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x33\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x35\x45\x41\x54\x63\x3e\x43\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x73\x49\x45\x46\x64\x23\x43\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x68\x4d\x41\x55\x38\x38\x43\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x21\x26\x3c\x41\x46\x2a\x71\x7a\x42\x47\x42\x68\x5f\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x47\x64\x43\x3c\x43\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x48\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x48\x23\x6a\x55\x48\x48\x23\x39\x36\x44\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x5e\x39\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x48\x45\x46\x64\x5e\x36\x41\x54\x63\x26\x47\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x25\x2b\x6b\x37\x47\x42\x50\x6b\x4d\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x47\x63\x2b\x74\x39\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x6b\x50\x41\x54\x6c\x73\x45\x45\x46\x64\x3b\x46\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x63\x4b\x41\x54\x63\x26\x39\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x49\x34\x7e\x3f\x41\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x35\x45\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x42\x41\x54\x25\x3e\x39\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x21\x4c\x37\x41\x48\x5a\x64\x24\x39\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x68\x4e\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x26\x3c\x41\x46\x2a\x72\x30\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x67\x37\x65\x38\x46\x29\x3d\x6e\x51\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x48\x38\x28\x36\x45\x47\x43\x33\x3f\x44\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x56\x3e\x50\x4b\x49\x56\x3e\x50\x44\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x3f\x57\x41\x54\x63\x76\x41\x45\x46\x64\x3b\x34\x41\x54\x6c\x23\x37\x41\x54\x75\x26\x37\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x46\x2a\x59\x24\x51\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x2b\x74\x39\x47\x42\x59\x3c\x55\x41\x54\x63\x76\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x49\x57\x61\x36\x43\x46\x2a\x69\x39\x5a\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x3b\x39\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x59\x5e\x7d\x48\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x48\x21\x4c\x37\x41\x48\x38\x43\x74\x38\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x26\x39\x41\x55\x51\x57\x49\x41\x54\x26\x38\x46\x41\x54\x6c\x79\x49\x45\x46\x64\x7b\x49\x45\x46\x64\x75\x7e\x41\x54\x63\x23\x46\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3f\x53\x41\x54\x6c\x26\x4b\x45\x46\x64\x5e\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x7c\x56\x41\x54\x63\x3e\x50\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x79\x37\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x30\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x47\x48\x59\x5e\x7d\x48\x46\x66\x31\x54\x41\x46\x66\x31\x54\x41\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x23\x49\x43\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x23\x44\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x7a\x77\x41\x46\x2a\x37\x77\x52\x41\x54\x26\x32\x44\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x47\x43\x33\x3f\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x37\x49\x35\x23\x58\x48\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x46\x2a\x47\x62\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7c\x57\x41\x54\x75\x2a\x38\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x47\x47\x41\x74\x6c\x44\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x46\x29\x53\x63\x38\x47\x25\x4f\x25\x38\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x28\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3e\x32\x43\x41\x54\x63\x73\x46\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x49\x33\x43\x46\x2a\x59\x5f\x56\x41\x54\x63\x3b\x4b\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x54\x6c\x2a\x39\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x37\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x7d\x6e\x50\x41\x54\x26\x35\x45\x41\x54\x63\x73\x43\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x47\x6b\x39\x47\x42\x47\x24\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x47\x42\x47\x77\x52\x41\x54\x7d\x25\x40\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x46\x29\x53\x63\x34\x46\x66\x6c\x41\x33\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x75\x3e\x41\x41\x54\x75\x6c\x3d\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x39\x45\x46\x64\x23\x38\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x6c\x23\x37\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x37\x71\x51\x41\x54\x76\x32\x45\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4b\x45\x46\x64\x23\x44\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x38\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x4b\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x4b\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x63\x79\x45\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x71\x68\x37\x46\x2a\x37\x7a\x53\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x45\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x48\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x28\x51\x41\x54\x6c\x73\x43\x45\x46\x64\x7b\x46\x45\x46\x64\x2a\x46\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x37\x46\x66\x7d\x59\x37\x48\x21\x4c\x37\x48\x47\x25\x4f\x25\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x46\x2a\x71\x3f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x49\x35\x6a\x4c\x46\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x46\x66\x31\x54\x35\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x42\x44\x41\x54\x25\x7b\x42\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x74\x53\x41\x55\x38\x4b\x47\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x38\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x23\x36\x41\x54\x3d\x7b\x41\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x48\x23\x73\x61\x49\x47\x42\x47\x77\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x55\x38\x32\x41\x41\x54\x3e\x32\x43\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x45\x48\x37\x70\x3d\x38\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x79\x35\x41\x54\x25\x7b\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x47\x42\x50\x59\x36\x46\x2a\x59\x7c\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x46\x29\x3d\x6b\x50\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x48\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x3d\x56\x4b\x41\x54\x6c\x3b\x41\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x47\x40\x5f\x48\x38\x6d\x5f\x43\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x46\x2a\x21\x30\x55\x41\x54\x63\x6d\x33\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x46\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x74\x53\x41\x55\x48\x38\x42\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x35\x47\x26\x43\x24\x41\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x46\x2a\x50\x68\x38\x47\x63\x5f\x7a\x41\x47\x42\x71\x71\x39\x46\x29\x7d\x7a\x54\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x61\x4f\x47\x49\x57\x3b\x55\x47\x46\x2a\x37\x56\x36\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x47\x42\x68\x3f\x55\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x6e\x52\x41\x54\x63\x26\x39\x41\x54\x75\x6c\x3d\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x47\x45\x46\x64\x76\x36\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x47\x26\x55\x3f\x43\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x43\x33\x3f\x44\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x2b\x54\x41\x54\x63\x26\x39\x41\x54\x63\x73\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x48\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x47\x42\x47\x71\x50\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x28\x55\x41\x55\x48\x4b\x46\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x37\x4d\x34\x46\x29\x3d\x68\x4f\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x59\x56\x35\x48\x61\x30\x39\x45\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x39\x46\x29\x53\x63\x36\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x71\x2b\x52\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x47\x62\x37\x47\x42\x7a\x77\x41\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x43\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x46\x48\x37\x70\x3d\x46\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x49\x43\x45\x49\x57\x3b\x55\x47\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x47\x40\x5f\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x48\x45\x46\x64\x26\x45\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x35\x41\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x42\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x28\x53\x41\x54\x6c\x76\x35\x41\x54\x3d\x7e\x42\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x44\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x7a\x6e\x38\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x5a\x26\x7c\x43\x48\x38\x4c\x7a\x39\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x48\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7c\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x2b\x74\x39\x47\x42\x59\x77\x50\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x49\x35\x3b\x64\x49\x46\x2a\x59\x3f\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x3b\x39\x45\x46\x64\x2a\x47\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x26\x46\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x37\x6b\x4e\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x4c\x7a\x39\x47\x26\x33\x77\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x43\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x63\x71\x68\x37\x47\x63\x5f\x7a\x41\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x38\x28\x36\x45\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x62\x7c\x75\x37\x48\x38\x43\x74\x38\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3e\x43\x41\x54\x63\x6d\x44\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x4a\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x39\x46\x66\x63\x34\x32\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x35\x43\x41\x54\x63\x70\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x36\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x23\x39\x36\x44\x47\x26\x4c\x2b\x42\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x41\x49\x35\x73\x52\x47\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x30\x39\x45\x46\x29\x3d\x65\x4e\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x43\x47\x62\x7c\x75\x43\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x73\x52\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x23\x47\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x71\x68\x37\x46\x2a\x37\x2b\x56\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x39\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x6c\x26\x4c\x45\x46\x64\x3e\x49\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x73\x46\x45\x46\x64\x26\x41\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x46\x2a\x7a\x28\x43\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x43\x45\x46\x64\x23\x35\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x72\x7d\x41\x54\x26\x35\x45\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x2a\x68\x3f\x54\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x46\x29\x3d\x71\x52\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x23\x38\x45\x46\x64\x76\x37\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x47\x65\x4c\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x38\x77\x30\x44\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x71\x7a\x42\x48\x5a\x76\x3f\x42\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x42\x44\x41\x55\x51\x48\x44\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x35\x61\x46\x45\x47\x42\x37\x62\x4c\x41\x54\x63\x23\x44\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x24\x54\x41\x54\x3e\x32\x43\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x23\x37\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x4c\x7a\x39\x47\x42\x47\x65\x4c\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x48\x61\x49\x4c\x47\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x43\x45\x46\x64\x5e\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x42\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x42\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6e\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x37\x7a\x53\x41\x55\x50\x7d\x60\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x38\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x46\x2a\x7a\x28\x43\x46\x66\x31\x54\x33\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x7b\x44\x41\x54\x63\x73\x45\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x5f\x55\x41\x54\x7e\x42\x45\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x37\x74\x52\x41\x54\x75\x3b\x39\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x44\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x43\x47\x41\x74\x6c\x35\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6e\x4e\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x37\x7a\x53\x41\x54\x6c\x66\x3c\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x43\x45\x46\x64\x23\x31\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x45\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x46\x29\x7d\x65\x4d\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x46\x29\x3d\x59\x4c\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x47\x42\x37\x65\x4d\x41\x54\x3e\x35\x44\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x6e\x52\x41\x55\x38\x45\x45\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x47\x40\x5f\x46\x29\x25\x59\x4d\x41\x54\x63\x76\x42\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x3d\x4a\x34\x47\x26\x64\x7c\x44\x47\x42\x59\x71\x4e\x41\x54\x63\x70\x43\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x7a\x53\x41\x54\x6c\x7b\x44\x41\x54\x63\x70\x45\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x59\x3f\x55\x41\x55\x38\x32\x41\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x61\x49\x4c\x47\x46\x2a\x50\x24\x52\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x29\x25\x44\x33\x46\x2a\x59\x7c\x57\x41\x54\x3d\x7b\x41\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x49\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x48\x37\x70\x3d\x38\x46\x66\x25\x4d\x35\x47\x42\x71\x5f\x55\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x47\x42\x50\x6e\x4e\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x6e\x52\x41\x54\x6c\x73\x34\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x43\x45\x46\x64\x23\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x7a\x53\x41\x55\x38\x4e\x48\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x61\x49\x4c\x47\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x48\x38\x6d\x5f\x43\x46\x2a\x5a\x30\x58\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x52\x30\x42\x47\x42\x68\x5f\x56\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x6a\x55\x48\x49\x57\x3b\x55\x47\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x47\x40\x5f\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x4b\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x49\x35\x73\x52\x47\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x44\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x41\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4a\x45\x46\x64\x23\x38\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x41\x48\x21\x4c\x37\x42\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x2a\x39\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x42\x42\x41\x54\x63\x6d\x41\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x72\x33\x57\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x55\x3f\x43\x46\x2a\x37\x24\x54\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x25\x56\x4c\x41\x54\x63\x73\x46\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x47\x25\x4f\x25\x37\x48\x61\x39\x46\x46\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x38\x49\x35\x23\x58\x48\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x46\x2a\x68\x74\x41\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x24\x51\x41\x54\x63\x70\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x47\x25\x5f\x71\x38\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x42\x44\x41\x54\x63\x23\x38\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x35\x7b\x6a\x4a\x47\x42\x59\x5f\x57\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x63\x68\x62\x36\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x3d\x4a\x34\x46\x29\x7d\x68\x4e\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x47\x42\x68\x24\x51\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x38\x49\x35\x3b\x64\x49\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x43\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x71\x68\x37\x47\x42\x37\x59\x4b\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x39\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x46\x29\x25\x68\x50\x41\x54\x63\x76\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x47\x45\x46\x64\x3e\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x4c\x7a\x39\x46\x2a\x7a\x28\x43\x46\x29\x3d\x59\x4c\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x68\x6b\x38\x46\x29\x7d\x65\x4d\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x48\x61\x30\x39\x45\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x46\x66\x25\x4d\x35\x46\x29\x7d\x74\x52\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x48\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x47\x26\x55\x3f\x43\x47\x63\x68\x62\x36\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x43\x47\x25\x4f\x25\x45\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3f\x56\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x59\x4b\x41\x54\x63\x76\x49\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3e\x38\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x43\x49\x34\x6d\x47\x42\x46\x2a\x71\x7a\x42\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x3b\x45\x45\x46\x64\x7b\x45\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x36\x48\x38\x28\x36\x45\x46\x66\x31\x54\x39\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x71\x71\x39\x46\x29\x7d\x50\x35\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x61\x30\x39\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x35\x47\x25\x5f\x71\x38\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x43\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x47\x63\x59\x56\x35\x46\x2a\x21\x33\x56\x41\x55\x38\x51\x49\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x24\x52\x41\x54\x75\x2a\x38\x41\x54\x7e\x48\x47\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x39\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x39\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x43\x47\x25\x4f\x25\x37\x46\x66\x75\x47\x34\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x35\x46\x67\x47\x6b\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x32\x41\x54\x63\x26\x47\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x59\x71\x4e\x41\x54\x6c\x73\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x39\x46\x29\x53\x63\x36\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x5a\x3f\x33\x44\x46\x29\x25\x65\x4f\x41\x54\x63\x3b\x42\x41\x54\x7e\x32\x42\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x46\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x7e\x42\x41\x54\x6c\x2a\x39\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x73\x48\x45\x46\x64\x23\x42\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x45\x45\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x28\x51\x41\x54\x7e\x42\x45\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x4c\x62\x41\x54\x75\x5e\x42\x41\x54\x26\x35\x45\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x46\x66\x6c\x41\x33\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6e\x4e\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x54\x3d\x78\x3f\x46\x2a\x68\x3f\x54\x41\x54\x6c\x73\x46\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3e\x38\x41\x54\x25\x3e\x39\x41\x54\x6c\x73\x46\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x42\x47\x42\x68\x6b\x38\x46\x2a\x47\x24\x53\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3c\x52\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x75\x79\x35\x41\x55\x51\x45\x43\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x46\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x46\x66\x31\x54\x35\x46\x29\x53\x63\x34\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x74\x50\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x7d\x24\x55\x41\x55\x37\x2d\x5e\x46\x2a\x71\x5f\x54\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x43\x45\x46\x64\x7b\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x48\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x4c\x2b\x42\x47\x42\x47\x71\x50\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x46\x67\x37\x65\x38\x48\x23\x61\x4f\x47\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x47\x63\x71\x68\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x5f\x56\x41\x54\x63\x70\x47\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x29\x25\x44\x33\x47\x42\x68\x6b\x38\x48\x5a\x64\x24\x39\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x38\x46\x41\x54\x63\x76\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x3c\x53\x41\x54\x6c\x79\x41\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x64\x3c\x42\x47\x42\x71\x71\x39\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x28\x55\x41\x54\x25\x3b\x38\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x48\x61\x39\x46\x46\x48\x21\x76\x28\x39\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x64\x56\x30\x45\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x7e\x32\x42\x41\x54\x6c\x7b\x44\x41\x55\x51\x42\x42\x41\x54\x63\x70\x45\x45\x46\x64\x76\x33\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x56\x30\x45\x46\x2a\x71\x5f\x54\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x37\x46\x29\x53\x63\x43\x47\x41\x74\x6c\x35\x49\x57\x61\x36\x43\x46\x2a\x47\x2b\x55\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x25\x59\x4d\x41\x54\x63\x73\x41\x45\x46\x64\x76\x38\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x61\x39\x46\x46\x46\x2a\x37\x6b\x4e\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3f\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6b\x50\x41\x54\x6c\x3b\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x46\x67\x37\x65\x38\x46\x29\x3d\x74\x53\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x4e\x73\x4b\x46\x2a\x68\x74\x41\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x46\x45\x46\x64\x3e\x35\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x48\x61\x39\x46\x46\x47\x64\x43\x3c\x43\x49\x58\x4e\x73\x4b\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x46\x2a\x59\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x7a\x6e\x38\x47\x42\x59\x28\x53\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x26\x3c\x41\x46\x29\x25\x44\x33\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x42\x45\x46\x64\x26\x43\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x59\x5e\x7d\x39\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x73\x52\x47\x46\x2a\x50\x77\x50\x41\x54\x63\x23\x4c\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3e\x32\x43\x41\x54\x75\x2a\x38\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x45\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x39\x46\x66\x25\x4d\x35\x46\x2a\x37\x71\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x29\x53\x63\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x7d\x59\x37\x48\x5a\x3f\x33\x44\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x48\x59\x5e\x7d\x41\x49\x56\x3e\x50\x44\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3f\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x29\x53\x63\x34\x49\x58\x4e\x73\x4b\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x2a\x39\x41\x54\x26\x35\x45\x41\x55\x48\x45\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x46\x2a\x59\x5f\x56\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x41\x49\x35\x3b\x64\x49\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x48\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x43\x3c\x43\x47\x42\x37\x6e\x50\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x43\x48\x59\x5e\x7d\x39\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x6d\x5f\x43\x46\x2a\x37\x28\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x54\x25\x72\x3e\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x38\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x2a\x71\x7a\x42\x46\x29\x3d\x4a\x34\x46\x2a\x68\x3f\x54\x41\x54\x63\x23\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x28\x51\x41\x54\x7e\x42\x45\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x46\x2a\x50\x28\x53\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x37\x56\x36\x46\x2a\x59\x3c\x54\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x42\x45\x46\x64\x2a\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x49\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x33\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x21\x26\x3c\x41\x48\x38\x4c\x7a\x39\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x46\x45\x46\x64\x5e\x48\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x43\x33\x3f\x44\x46\x29\x7d\x6e\x50\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x43\x74\x38\x48\x61\x30\x39\x45\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x46\x67\x37\x65\x38\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x38\x47\x25\x5f\x71\x38\x47\x26\x77\x39\x46\x47\x42\x37\x71\x51\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x48\x37\x70\x3d\x43\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x4c\x7a\x39\x47\x42\x47\x28\x55\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x3f\x33\x44\x47\x42\x47\x28\x55\x41\x54\x63\x73\x43\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x47\x42\x71\x71\x39\x48\x38\x4c\x7a\x39\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x75\x5e\x42\x41\x55\x48\x42\x43\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x37\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x37\x4d\x34\x46\x29\x3d\x56\x4b\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x45\x46\x64\x7b\x37\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x47\x64\x56\x30\x45\x47\x42\x71\x5f\x55\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x6e\x4e\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x46\x2a\x37\x24\x54\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x42\x46\x66\x75\x47\x34\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x47\x47\x25\x4f\x25\x42\x47\x25\x4f\x25\x38\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x6e\x50\x41\x54\x7e\x4b\x48\x41\x55\x48\x48\x45\x41\x55\x51\x48\x44\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x50\x7d\x60\x47\x26\x77\x39\x46\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x71\x68\x37\x47\x42\x47\x28\x55\x41\x54\x25\x3e\x39\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x48\x23\x30\x30\x43\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x51\x49\x41\x54\x63\x79\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x46\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x4b\x45\x46\x64\x23\x35\x45\x46\x64\x72\x7d\x41\x54\x3d\x3e\x38\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x46\x2a\x68\x2b\x52\x41\x54\x63\x23\x49\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x63\x59\x56\x35\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x42\x45\x41\x55\x51\x57\x49\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x26\x38\x45\x46\x64\x75\x7e\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x42\x47\x25\x4f\x25\x41\x48\x59\x5e\x7d\x39\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x6c\x73\x43\x45\x46\x64\x2a\x43\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x46\x2a\x50\x68\x38\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x54\x75\x23\x36\x41\x55\x48\x54\x49\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x46\x2a\x21\x46\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x47\x63\x68\x62\x36\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x25\x3e\x39\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x48\x61\x39\x46\x46\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x5e\x43\x41\x54\x63\x23\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x45\x48\x37\x70\x3d\x47\x46\x66\x31\x54\x33\x48\x37\x70\x3d\x38\x46\x66\x6c\x41\x33\x47\x63\x71\x68\x37\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x71\x51\x41\x54\x63\x79\x44\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x47\x63\x59\x56\x35\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x42\x37\x4d\x34\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x38\x47\x25\x2b\x6b\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x35\x43\x41\x54\x3e\x45\x47\x41\x54\x63\x23\x38\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x46\x2a\x5a\x33\x59\x41\x54\x63\x76\x46\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x43\x74\x38\x48\x5a\x26\x7c\x43\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x28\x55\x41\x54\x75\x26\x37\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x47\x63\x59\x56\x35\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x39\x46\x29\x53\x63\x42\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x48\x38\x28\x36\x45\x48\x21\x3e\x5f\x42\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x6a\x43\x44\x46\x29\x25\x59\x4d\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x47\x42\x71\x3c\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x46\x2a\x68\x74\x41\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x42\x47\x42\x59\x65\x37\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x62\x7c\x75\x36\x48\x5a\x55\x77\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x46\x29\x3d\x6b\x50\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x45\x45\x46\x64\x3e\x47\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x2a\x43\x45\x46\x64\x2a\x33\x41\x54\x26\x32\x44\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x49\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x2a\x47\x3c\x56\x41\x54\x6c\x79\x36\x41\x54\x26\x35\x45\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x5a\x26\x7c\x43\x46\x2a\x72\x36\x58\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3e\x42\x41\x54\x63\x76\x36\x41\x54\x6c\x26\x4c\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x47\x25\x4f\x25\x42\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x71\x71\x39\x49\x57\x61\x36\x43\x46\x29\x3d\x4a\x34\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x48\x5a\x26\x7c\x43\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x72\x7d\x41\x55\x51\x45\x43\x41\x54\x63\x79\x45\x45\x46\x64\x23\x44\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x6e\x4f\x41\x54\x75\x79\x35\x41\x55\x51\x4b\x45\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x43\x74\x38\x46\x2a\x7a\x28\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x49\x58\x4e\x73\x4b\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x5a\x3f\x33\x44\x48\x38\x28\x36\x45\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x42\x44\x41\x55\x47\x40\x5f\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x50\x7d\x60\x46\x2a\x21\x30\x55\x41\x54\x6c\x26\x43\x45\x46\x64\x72\x7d\x41\x54\x63\x5a\x3b\x46\x2a\x71\x7a\x42\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x55\x48\x38\x42\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x26\x36\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x2a\x39\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x3f\x56\x41\x54\x63\x70\x42\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x46\x2a\x59\x6e\x39\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x35\x45\x41\x54\x7e\x42\x45\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x48\x54\x49\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x47\x42\x71\x3c\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x46\x2a\x71\x7a\x42\x48\x38\x4c\x7a\x39\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x26\x37\x41\x54\x63\x79\x45\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x74\x51\x41\x54\x6c\x26\x38\x41\x55\x51\x51\x47\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x48\x21\x26\x3c\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x47\x25\x2b\x6b\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x24\x51\x41\x54\x63\x70\x45\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x26\x38\x41\x54\x7e\x32\x42\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x4b\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x64\x56\x30\x45\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x35\x49\x33\x43\x47\x42\x50\x7a\x52\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x63\x59\x56\x35\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x6e\x50\x41\x54\x63\x2a\x41\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x38\x41\x55\x51\x42\x42\x41\x54\x63\x70\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x6a\x4c\x46\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x26\x6e\x33\x45\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x45\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x42\x43\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x48\x5a\x64\x24\x39\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x4e\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x5a\x33\x59\x41\x54\x6c\x73\x39\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x42\x43\x41\x54\x63\x26\x47\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x44\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x6b\x38\x46\x29\x7d\x50\x35\x46\x2a\x50\x68\x38\x46\x2a\x50\x7a\x51\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6e\x4e\x41\x55\x47\x40\x5f\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x43\x47\x62\x7c\x75\x36\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x63\x2b\x74\x39\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x56\x3e\x50\x44\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x6b\x51\x41\x55\x38\x51\x49\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x42\x42\x41\x54\x63\x6d\x39\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x42\x47\x7a\x53\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x39\x46\x46\x47\x42\x59\x74\x4f\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x33\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x24\x51\x41\x54\x6c\x73\x39\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x63\x26\x48\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x48\x23\x30\x30\x43\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x6a\x43\x44\x49\x58\x45\x6d\x4a\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x48\x38\x55\x28\x41\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x48\x5a\x6d\x2b\x41\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x49\x35\x38\x7c\x42\x46\x29\x3d\x6e\x51\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x46\x66\x75\x47\x34\x46\x29\x7d\x77\x53\x41\x54\x63\x73\x44\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x33\x46\x29\x3d\x4a\x34\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x2a\x68\x74\x41\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x41\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x66\x75\x47\x34\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x43\x47\x62\x7c\x75\x38\x48\x21\x4c\x37\x41\x48\x38\x6d\x5f\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x23\x58\x48\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x44\x45\x46\x64\x3e\x48\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x48\x21\x4c\x37\x42\x46\x67\x37\x65\x38\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x2a\x39\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x46\x2a\x71\x3c\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x33\x28\x42\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x38\x46\x41\x55\x38\x32\x41\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x76\x47\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x44\x45\x46\x64\x23\x36\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x46\x2a\x68\x2b\x52\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x47\x42\x68\x28\x52\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x4b\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x64\x7c\x44\x48\x5a\x3f\x33\x44\x47\x26\x33\x77\x39\x46\x2a\x37\x56\x36\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x48\x38\x4c\x7a\x39\x47\x42\x50\x7a\x52\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x46\x2a\x21\x36\x57\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x46\x29\x25\x56\x4c\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x68\x4e\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x48\x61\x39\x46\x46\x46\x29\x3d\x6b\x50\x41\x54\x63\x76\x47\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x46\x61\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x47\x42\x5f\x2b\x43\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x26\x35\x45\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x47\x64\x4c\x5f\x44\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x46\x67\x59\x77\x42\x46\x29\x3d\x74\x53\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x49\x45\x46\x64\x23\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x39\x59\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x47\x43\x33\x3f\x44\x47\x25\x7a\x65\x36\x47\x42\x68\x3f\x55\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x45\x47\x62\x7c\x75\x45\x46\x66\x31\x54\x41\x46\x66\x31\x54\x33\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x79\x44\x45\x46\x64\x72\x7d\x41\x54\x6c\x73\x34\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x43\x45\x46\x64\x23\x41\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x71\x50\x41\x54\x6c\x3b\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x21\x76\x28\x39\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x47\x25\x5f\x71\x38\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x48\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x7a\x28\x43\x48\x39\x30\x49\x47\x49\x35\x3b\x64\x49\x49\x57\x73\x49\x45\x46\x29\x3d\x56\x4b\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x37\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x46\x66\x75\x47\x34\x46\x2a\x72\x39\x59\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x39\x45\x46\x64\x76\x33\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x49\x57\x6a\x43\x44\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3f\x53\x41\x54\x63\x26\x4d\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x24\x51\x41\x54\x6c\x73\x42\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x50\x7d\x60\x47\x42\x68\x2b\x53\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x30\x30\x43\x46\x66\x31\x54\x38\x47\x62\x7c\x75\x37\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x7a\x52\x41\x54\x6c\x76\x47\x45\x46\x64\x23\x31\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x23\x37\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x47\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x47\x42\x47\x68\x4d\x41\x54\x3e\x32\x43\x41\x54\x63\x73\x39\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x6c\x23\x37\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x47\x42\x37\x74\x52\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x47\x62\x37\x46\x2a\x59\x24\x51\x41\x54\x63\x73\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x29\x25\x44\x33\x47\x43\x33\x3f\x44\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x2a\x47\x62\x37\x48\x38\x4c\x7a\x39\x47\x42\x59\x5f\x57\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x46\x29\x25\x59\x4d\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x36\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x67\x37\x65\x38\x49\x35\x52\x39\x44\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x26\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x59\x3f\x55\x41\x54\x63\x3b\x42\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x49\x61\x41\x54\x63\x70\x42\x45\x46\x64\x26\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x67\x37\x65\x38\x46\x2a\x59\x6e\x39\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x25\x4d\x35\x47\x63\x59\x56\x35\x46\x29\x25\x71\x53\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x47\x64\x33\x28\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x75\x7e\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x39\x48\x37\x70\x3d\x47\x48\x21\x4c\x37\x44\x47\x62\x7c\x75\x37\x47\x42\x59\x65\x37\x48\x61\x49\x4c\x47\x46\x29\x25\x59\x4d\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x26\x36\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x4b\x48\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x38\x43\x74\x38\x46\x2a\x71\x5f\x54\x41\x55\x51\x4b\x45\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x23\x38\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x34\x6d\x47\x47\x48\x21\x4c\x37\x46\x48\x21\x4c\x37\x41\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x6e\x33\x45\x46\x2a\x47\x77\x51\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x7d\x7a\x54\x41\x54\x7d\x25\x40\x47\x42\x37\x71\x51\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x38\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x46\x2a\x50\x68\x38\x48\x39\x30\x49\x47\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x46\x47\x41\x74\x6c\x37\x49\x34\x6d\x47\x42\x49\x34\x7e\x3f\x41\x46\x2a\x50\x5f\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x35\x73\x52\x47\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x45\x47\x62\x7c\x75\x42\x48\x21\x4c\x37\x41\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x28\x54\x41\x54\x6c\x76\x35\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x76\x3f\x42\x48\x23\x30\x30\x43\x46\x29\x25\x68\x50\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x23\x58\x48\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x47\x42\x68\x6b\x38\x48\x38\x4c\x7a\x39\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x48\x45\x46\x64\x26\x32\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x36\x48\x59\x5e\x7d\x39\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x7c\x56\x41\x54\x6c\x73\x44\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x51\x42\x42\x41\x54\x6c\x26\x47\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x42\x46\x67\x37\x65\x38\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x48\x46\x41\x55\x51\x48\x44\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x37\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x39\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x68\x4f\x41\x55\x48\x42\x43\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x33\x6e\x37\x46\x29\x3d\x71\x52\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x7a\x77\x41\x48\x38\x64\x3c\x42\x46\x29\x3d\x59\x4c\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x49\x57\x61\x36\x43\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x43\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x21\x26\x3c\x41\x48\x38\x43\x74\x38\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x46\x45\x46\x64\x23\x31\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x38\x4c\x7a\x39\x46\x2a\x50\x28\x53\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x47\x64\x43\x3c\x43\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x48\x21\x4c\x37\x45\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x30\x39\x45\x47\x26\x6e\x33\x45\x47\x64\x4c\x5f\x44\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x49\x57\x7b\x61\x48\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x46\x2a\x37\x2b\x56\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x46\x29\x25\x59\x4d\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7a\x50\x41\x54\x6c\x76\x42\x45\x46\x64\x23\x45\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x79\x38\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x45\x45\x46\x64\x23\x45\x45\x46\x64\x23\x42\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x46\x2a\x71\x7a\x42\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x47\x42\x71\x71\x39\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x45\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x79\x44\x45\x46\x64\x2a\x33\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x46\x2a\x68\x74\x41\x47\x26\x4c\x2b\x42\x46\x29\x7d\x68\x4e\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x48\x61\x39\x46\x46\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3c\x55\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x64\x4c\x5f\x44\x47\x42\x5f\x2b\x43\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x61\x4f\x47\x46\x2a\x47\x62\x37\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x49\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x44\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x2b\x53\x41\x54\x6c\x76\x46\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x52\x39\x44\x47\x42\x68\x7c\x57\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x2a\x5a\x30\x58\x41\x54\x63\x26\x47\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x7b\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x71\x7a\x42\x47\x26\x77\x39\x46\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x45\x45\x41\x54\x63\x76\x36\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x47\x42\x71\x3f\x54\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x64\x33\x28\x42\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x43\x45\x46\x64\x5e\x46\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x46\x2a\x59\x7c\x57\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x44\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x30\x39\x45\x46\x29\x3d\x74\x53\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x46\x46\x66\x31\x54\x41\x46\x66\x31\x54\x32\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x47\x26\x43\x24\x41\x46\x2a\x59\x2b\x53\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x39\x49\x34\x6d\x47\x42\x47\x43\x33\x3f\x44\x47\x42\x50\x77\x51\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x3d\x56\x4b\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x47\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x26\x38\x41\x54\x25\x3b\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x43\x74\x38\x46\x2a\x59\x6e\x39\x47\x42\x59\x5f\x57\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x71\x52\x41\x55\x37\x7e\x39\x41\x54\x63\x3e\x43\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x49\x56\x3e\x50\x46\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x30\x30\x43\x46\x29\x7d\x50\x35\x46\x29\x7d\x77\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x46\x2a\x5a\x30\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x25\x2b\x6b\x37\x48\x21\x4c\x37\x41\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x6e\x50\x41\x54\x63\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x46\x2a\x47\x62\x37\x49\x35\x73\x52\x47\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x23\x73\x61\x49\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x38\x47\x26\x43\x24\x41\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x37\x7e\x39\x41\x54\x7e\x32\x42\x41\x54\x25\x26\x36\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x48\x54\x49\x41\x54\x26\x35\x45\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x46\x2a\x68\x28\x51\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x75\x47\x34\x46\x29\x7d\x74\x52\x41\x54\x6c\x76\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x39\x46\x29\x7d\x50\x35\x47\x25\x2b\x6b\x37\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x43\x47\x25\x4f\x25\x38\x46\x2a\x50\x68\x38\x47\x42\x50\x24\x53\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x48\x23\x73\x61\x49\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x42\x45\x41\x54\x7d\x7e\x41\x41\x54\x75\x6c\x3d\x49\x35\x38\x7c\x42\x49\x57\x7b\x61\x48\x48\x61\x30\x39\x45\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x63\x79\x49\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x41\x46\x29\x3d\x4a\x34\x49\x35\x73\x52\x47\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x35\x3b\x64\x49\x47\x64\x56\x30\x45\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x37\x7e\x39\x41\x54\x63\x76\x36\x41\x54\x63\x3b\x49\x45\x46\x64\x26\x45\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x2a\x39\x41\x54\x3d\x3b\x37\x41\x55\x38\x38\x43\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x41\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x59\x6e\x39\x47\x26\x6e\x33\x45\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3b\x38\x41\x54\x75\x6c\x3d\x46\x2a\x68\x3c\x53\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x68\x6b\x38\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x47\x26\x64\x7c\x44\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x73\x43\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x7b\x44\x41\x54\x26\x35\x45\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x25\x2b\x6b\x37\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x7e\x42\x41\x54\x6c\x76\x35\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x41\x45\x46\x64\x23\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x7a\x53\x41\x55\x38\x42\x44\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x47\x26\x6e\x33\x45\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x48\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x52\x52\x48\x48\x5a\x64\x24\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x38\x43\x41\x55\x51\x45\x43\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x64\x33\x28\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x63\x71\x68\x37\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x35\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x41\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x79\x43\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x47\x42\x59\x2b\x54\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x71\x68\x37\x46\x2a\x47\x28\x54\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x48\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x46\x29\x25\x6b\x51\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x46\x2a\x21\x39\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x49\x57\x7b\x61\x48\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x45\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x55\x77\x38\x47\x42\x47\x6e\x4f\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3b\x4b\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x2a\x39\x41\x55\x48\x57\x4a\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x48\x59\x5e\x7d\x44\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x46\x2a\x47\x62\x37\x46\x29\x25\x44\x33\x46\x29\x7d\x50\x35\x48\x59\x5e\x7d\x39\x47\x63\x7a\x6e\x38\x47\x42\x59\x7a\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x42\x5f\x2b\x43\x49\x35\x61\x46\x45\x46\x2a\x50\x28\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x7b\x49\x45\x46\x64\x3b\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x47\x42\x68\x5f\x56\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x75\x26\x37\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x71\x71\x39\x47\x42\x59\x5f\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x46\x29\x3d\x68\x4f\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x44\x45\x46\x64\x23\x38\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x48\x23\x73\x61\x49\x47\x26\x55\x3f\x43\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x38\x46\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x73\x48\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x2b\x56\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x46\x2a\x37\x2b\x56\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x37\x7a\x54\x41\x54\x6c\x26\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x21\x3e\x5f\x42\x46\x29\x25\x68\x50\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x54\x6c\x5e\x43\x41\x55\x37\x2d\x5e\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x41\x45\x46\x64\x79\x35\x45\x46\x64\x3b\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x46\x46\x66\x31\x54\x33\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x7a\x52\x41\x54\x63\x76\x41\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3e\x38\x41\x54\x25\x7e\x43\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x21\x4c\x37\x41\x48\x61\x30\x39\x45\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x7a\x65\x36\x47\x42\x68\x5f\x56\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x57\x3b\x55\x47\x49\x35\x3b\x64\x49\x47\x63\x68\x62\x36\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x7b\x43\x41\x54\x63\x79\x48\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x43\x33\x3f\x44\x49\x58\x45\x6d\x4a\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x45\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x46\x2a\x37\x56\x36\x47\x42\x37\x6e\x50\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x26\x38\x41\x55\x51\x54\x48\x41\x54\x63\x73\x46\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x46\x29\x7d\x50\x35\x47\x42\x71\x3c\x53\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x41\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x46\x45\x46\x64\x23\x35\x45\x46\x64\x76\x36\x45\x46\x64\x79\x38\x46\x66\x31\x54\x35\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x47\x26\x77\x39\x46\x47\x42\x5f\x2b\x43\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x48\x38\x43\x74\x38\x46\x2a\x47\x28\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x6e\x33\x45\x46\x2a\x47\x71\x4f\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x48\x38\x64\x3c\x42\x46\x29\x7d\x71\x51\x41\x54\x63\x6d\x33\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x49\x46\x66\x31\x54\x33\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x2a\x39\x41\x54\x25\x26\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x3f\x33\x44\x48\x61\x39\x46\x46\x47\x42\x50\x71\x4f\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x48\x21\x26\x3c\x41\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x3b\x39\x41\x54\x63\x23\x4a\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x23\x49\x43\x45\x48\x38\x4c\x7a\x39\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x48\x47\x41\x54\x3d\x7b\x41\x41\x55\x37\x7e\x39\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x37\x70\x3d\x39\x47\x25\x7a\x65\x36\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x65\x4d\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x26\x3c\x41\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x47\x63\x7a\x6e\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x24\x51\x41\x54\x76\x32\x45\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x46\x45\x46\x64\x3e\x47\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x46\x2a\x37\x6b\x4e\x41\x54\x63\x23\x38\x41\x54\x63\x73\x41\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x42\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x47\x42\x68\x7c\x57\x41\x54\x6c\x2a\x39\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x4c\x62\x41\x54\x25\x7e\x43\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x47\x26\x6e\x33\x45\x47\x63\x59\x56\x35\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x34\x6d\x47\x4a\x49\x56\x3e\x50\x44\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x28\x54\x41\x54\x63\x79\x44\x45\x46\x64\x26\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x46\x29\x7d\x7a\x54\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x50\x77\x51\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x37\x47\x25\x7a\x65\x36\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3e\x42\x41\x54\x63\x6d\x44\x45\x46\x64\x2a\x39\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x37\x47\x63\x68\x62\x36\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x47\x25\x5f\x71\x38\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x26\x37\x41\x54\x63\x79\x44\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x46\x2a\x47\x62\x37\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x72\x36\x58\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x47\x42\x5f\x2b\x43\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x26\x37\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x43\x33\x3f\x44\x46\x29\x25\x59\x4d\x41\x54\x63\x70\x43\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x63\x2b\x74\x39\x47\x42\x59\x3f\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x46\x66\x31\x54\x33\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x7e\x42\x41\x54\x7e\x45\x46\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x43\x45\x46\x64\x23\x43\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x6b\x4e\x41\x55\x38\x35\x42\x41\x54\x63\x73\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x28\x51\x41\x54\x7e\x4b\x48\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x24\x52\x41\x54\x63\x70\x47\x45\x46\x64\x23\x41\x45\x46\x64\x23\x36\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x5a\x26\x7c\x43\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x35\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x45\x43\x41\x55\x51\x5a\x4a\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x46\x2a\x68\x7c\x56\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x59\x36\x47\x62\x7c\x75\x36\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x37\x4d\x34\x46\x29\x3d\x71\x52\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x2a\x68\x74\x41\x47\x63\x59\x56\x35\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x45\x47\x25\x4f\x25\x37\x48\x5a\x3f\x33\x44\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x55\x77\x38\x47\x63\x71\x68\x37\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x72\x7d\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x49\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x25\x2b\x6b\x37\x47\x42\x50\x6e\x4e\x41\x55\x48\x51\x48\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x48\x61\x30\x39\x45\x47\x26\x6e\x33\x45\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x44\x47\x25\x4f\x25\x37\x49\x57\x23\x4f\x46\x47\x42\x37\x62\x4c\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x6b\x50\x41\x54\x63\x23\x46\x45\x46\x64\x76\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x3f\x57\x41\x54\x63\x79\x43\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3e\x32\x43\x41\x54\x25\x3e\x39\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x46\x2a\x50\x74\x4f\x41\x54\x7d\x7b\x39\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x35\x47\x26\x6e\x33\x45\x46\x29\x3d\x71\x52\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x47\x63\x68\x62\x36\x46\x2a\x59\x7a\x50\x41\x54\x3d\x3e\x38\x41\x54\x63\x6d\x33\x41\x54\x7d\x7b\x39\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x49\x34\x6d\x47\x49\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x41\x45\x46\x64\x79\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x59\x65\x37\x46\x2a\x72\x33\x57\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x46\x66\x31\x54\x42\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x63\x68\x62\x36\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x24\x51\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x46\x2a\x7a\x5f\x53\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x47\x42\x71\x71\x39\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x76\x32\x45\x41\x54\x63\x79\x49\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x71\x71\x39\x48\x38\x64\x3c\x42\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x35\x45\x41\x54\x63\x76\x45\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x52\x52\x48\x46\x29\x25\x53\x4b\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x26\x39\x45\x46\x64\x75\x7e\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x41\x46\x29\x53\x63\x34\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x41\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x5a\x30\x58\x41\x54\x63\x23\x48\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x63\x26\x4b\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x43\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x39\x36\x44\x49\x57\x6a\x43\x44\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x47\x42\x37\x68\x4e\x41\x54\x63\x70\x42\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x5a\x26\x7c\x43\x46\x29\x25\x56\x4c\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x47\x26\x43\x24\x41\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x37\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x38\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x48\x38\x77\x30\x44\x47\x63\x59\x56\x35\x48\x23\x30\x30\x43\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3e\x32\x43\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x46\x45\x46\x64\x3e\x35\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x36\x47\x62\x7c\x75\x36\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x29\x3d\x68\x4f\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x2a\x68\x74\x41\x48\x23\x30\x30\x43\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x49\x58\x4e\x73\x4b\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x62\x7c\x75\x36\x48\x61\x30\x39\x45\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3b\x42\x41\x54\x63\x6d\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x39\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x7a\x6e\x38\x47\x42\x59\x5f\x57\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x46\x2a\x47\x77\x51\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x3d\x59\x4c\x41\x54\x25\x2a\x37\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x21\x4c\x37\x42\x48\x38\x4c\x7a\x39\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x74\x52\x41\x54\x63\x26\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x30\x39\x45\x46\x2a\x72\x36\x58\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x47\x64\x33\x28\x42\x47\x64\x33\x28\x42\x46\x2a\x47\x62\x37\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x36\x45\x46\x64\x7b\x44\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x42\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x59\x6e\x39\x48\x38\x33\x6e\x37\x48\x38\x4c\x7a\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x46\x2a\x59\x24\x51\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x47\x64\x56\x30\x45\x47\x42\x59\x71\x4e\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x71\x71\x39\x49\x57\x73\x49\x45\x47\x42\x68\x7c\x57\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x42\x45\x46\x64\x26\x46\x45\x46\x64\x5e\x45\x45\x46\x64\x26\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x47\x77\x51\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x46\x67\x37\x65\x38\x46\x2a\x37\x71\x50\x41\x54\x6c\x26\x38\x41\x54\x63\x23\x49\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x43\x46\x66\x31\x54\x41\x47\x41\x74\x6c\x35\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x64\x33\x28\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x7c\x55\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x24\x52\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x26\x3c\x41\x49\x35\x3b\x64\x49\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x42\x45\x46\x64\x2a\x44\x45\x46\x64\x2a\x44\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x47\x6b\x39\x47\x42\x47\x77\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x47\x74\x50\x41\x54\x25\x72\x3e\x47\x42\x37\x71\x51\x41\x54\x63\x76\x48\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x70\x38\x45\x46\x64\x23\x37\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x37\x6b\x4e\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x5a\x55\x77\x38\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x44\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x38\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x4b\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x41\x47\x25\x4f\x25\x38\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x63\x76\x47\x45\x46\x64\x72\x7d\x41\x54\x63\x73\x39\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x49\x57\x61\x36\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x23\x39\x36\x44\x46\x2a\x68\x7c\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x63\x2b\x74\x39\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x45\x45\x46\x64\x3e\x48\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x5a\x26\x7c\x43\x48\x5a\x55\x77\x38\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x41\x41\x55\x51\x51\x47\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x47\x42\x37\x6e\x50\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x64\x56\x30\x45\x46\x29\x25\x71\x53\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x42\x37\x4d\x34\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x3c\x53\x41\x54\x63\x73\x49\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x47\x42\x71\x71\x39\x47\x42\x47\x6e\x4f\x41\x54\x7e\x45\x46\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x47\x42\x37\x74\x52\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x50\x68\x38\x47\x42\x68\x24\x51\x41\x54\x75\x3b\x39\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x48\x47\x62\x7c\x75\x45\x46\x66\x31\x54\x41\x46\x66\x31\x54\x33\x45\x46\x64\x2a\x42\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x38\x46\x2a\x50\x68\x38\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x2a\x41\x41\x54\x63\x6d\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x44\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x7a\x77\x41\x47\x25\x7a\x65\x36\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x41\x48\x37\x70\x3d\x39\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x68\x50\x41\x54\x7e\x42\x45\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x47\x40\x5f\x46\x29\x25\x50\x4a\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x47\x42\x71\x3f\x54\x41\x54\x6c\x23\x44\x45\x46\x64\x2a\x33\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x25\x4f\x25\x38\x47\x62\x7c\x75\x39\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x43\x46\x66\x75\x47\x34\x49\x35\x3b\x64\x49\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x43\x49\x34\x6d\x47\x49\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x43\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x46\x2a\x50\x77\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x29\x53\x63\x42\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3e\x42\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x38\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3c\x55\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x47\x64\x43\x3c\x43\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x46\x66\x31\x54\x36\x49\x34\x6d\x47\x42\x46\x29\x53\x63\x34\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x47\x63\x5f\x7a\x41\x46\x2a\x37\x56\x36\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x38\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x61\x30\x39\x45\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x39\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x67\x47\x6b\x39\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x43\x45\x46\x64\x3e\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x46\x2a\x50\x7c\x58\x41\x54\x63\x6d\x38\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x3d\x7e\x42\x41\x54\x6c\x26\x38\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x35\x38\x7c\x42\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x46\x66\x31\x54\x42\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x6d\x5f\x43\x46\x2a\x71\x7a\x42\x46\x29\x7d\x6b\x4f\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x39\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x30\x39\x45\x47\x25\x5f\x71\x38\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x43\x48\x59\x5e\x7d\x41\x47\x26\x4c\x2b\x42\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x42\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x25\x5f\x71\x38\x46\x29\x3d\x77\x54\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x45\x45\x46\x64\x26\x46\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x26\x38\x41\x54\x63\x70\x38\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x38\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x37\x7a\x54\x41\x54\x63\x73\x35\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x23\x49\x43\x45\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x48\x38\x43\x74\x38\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x42\x45\x46\x64\x5e\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x41\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x44\x47\x25\x4f\x25\x46\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x48\x37\x70\x3d\x47\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x39\x47\x25\x4f\x25\x37\x46\x29\x25\x44\x33\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x42\x45\x46\x64\x3b\x34\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x46\x2a\x47\x3c\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x57\x61\x36\x43\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x43\x45\x46\x64\x3e\x39\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x48\x5a\x3f\x33\x44\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x36\x48\x59\x5e\x7d\x46\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x47\x42\x47\x68\x4d\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x33\x6e\x37\x47\x26\x55\x3f\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x47\x42\x68\x7a\x50\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x42\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x68\x4f\x41\x54\x6c\x73\x41\x45\x46\x64\x3e\x45\x45\x46\x64\x2a\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x37\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x52\x39\x44\x46\x2a\x21\x4c\x62\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x39\x45\x46\x64\x76\x33\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x62\x4d\x41\x55\x48\x38\x42\x41\x54\x63\x23\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x47\x42\x50\x24\x53\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x35\x52\x39\x44\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x44\x45\x46\x64\x3e\x46\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x45\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x47\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x47\x64\x43\x3c\x43\x46\x29\x25\x53\x4b\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x25\x4f\x25\x38\x47\x62\x7c\x75\x36\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x37\x4d\x34\x46\x29\x3d\x77\x54\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x59\x56\x35\x47\x42\x68\x6b\x38\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x38\x43\x74\x38\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x34\x47\x25\x2b\x6b\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x38\x32\x41\x41\x54\x3e\x38\x45\x41\x54\x7e\x4b\x48\x41\x54\x63\x73\x43\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x35\x47\x42\x37\x4d\x34\x47\x42\x50\x77\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x48\x21\x4c\x37\x41\x48\x21\x26\x3c\x41\x47\x42\x47\x6e\x4f\x41\x54\x75\x5e\x42\x41\x55\x37\x2d\x5e\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x36\x47\x26\x4c\x2b\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6b\x4f\x41\x54\x63\x26\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x68\x6b\x38\x46\x2a\x72\x33\x57\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3b\x41\x41\x55\x51\x4b\x45\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x49\x56\x3e\x50\x43\x46\x66\x63\x34\x32\x46\x29\x3d\x4a\x34\x46\x29\x3d\x59\x4c\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x66\x63\x34\x32\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x47\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x39\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x44\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x46\x45\x46\x64\x23\x36\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x42\x45\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x4c\x62\x41\x54\x75\x7b\x43\x41\x54\x3d\x5e\x39\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x38\x28\x36\x45\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x42\x50\x6b\x4d\x41\x54\x6c\x76\x49\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x47\x40\x5f\x46\x2a\x47\x2b\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x48\x45\x46\x64\x2a\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x43\x48\x21\x4c\x37\x41\x47\x25\x5f\x71\x38\x46\x2a\x50\x3c\x55\x41\x55\x38\x45\x45\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x48\x38\x6d\x5f\x43\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x47\x42\x2b\x24\x42\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x43\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x46\x61\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x41\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x65\x4e\x41\x55\x48\x4b\x46\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x41\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x46\x66\x6c\x41\x33\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x48\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x51\x42\x42\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x48\x38\x28\x36\x45\x47\x42\x71\x71\x39\x49\x57\x7b\x61\x48\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x5a\x4a\x41\x54\x63\x79\x42\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x79\x44\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x6e\x52\x41\x54\x6c\x26\x38\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x43\x45\x46\x64\x23\x45\x45\x46\x64\x79\x30\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x35\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x73\x43\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x45\x44\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x47\x26\x77\x39\x46\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x24\x54\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x49\x35\x38\x7c\x42\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x49\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x41\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x48\x47\x25\x4f\x25\x37\x46\x2a\x71\x7a\x42\x46\x2a\x68\x2b\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x25\x2a\x37\x41\x54\x6c\x26\x44\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x7a\x51\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6b\x50\x41\x54\x75\x79\x35\x41\x54\x76\x32\x45\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x39\x48\x21\x4c\x37\x48\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x79\x43\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x29\x3d\x77\x54\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x43\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x68\x74\x41\x47\x63\x5f\x7a\x41\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3c\x52\x41\x54\x63\x26\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x34\x46\x66\x31\x54\x36\x46\x66\x31\x54\x35\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x39\x46\x46\x46\x29\x3d\x6e\x51\x41\x54\x63\x3e\x50\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x43\x33\x3f\x44\x48\x38\x4c\x7a\x39\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x38\x46\x41\x54\x63\x76\x46\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x39\x47\x64\x56\x30\x45\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x5a\x26\x7c\x43\x49\x58\x35\x67\x49\x47\x26\x43\x24\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x48\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x48\x38\x4c\x7a\x39\x47\x25\x5f\x71\x38\x48\x23\x39\x36\x44\x46\x2a\x50\x7a\x51\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x35\x47\x63\x71\x68\x37\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x46\x2a\x71\x7a\x42\x47\x42\x37\x4d\x34\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x7e\x44\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x68\x62\x36\x46\x29\x25\x53\x4b\x41\x54\x6c\x79\x36\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x46\x66\x31\x54\x32\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x47\x26\x77\x39\x46\x47\x42\x37\x4d\x34\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6b\x4d\x41\x54\x75\x26\x37\x41\x55\x48\x38\x42\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x43\x47\x42\x68\x6b\x38\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x56\x30\x45\x47\x42\x37\x71\x51\x41\x54\x63\x73\x46\x45\x46\x64\x2a\x39\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x49\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3c\x55\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x32\x41\x54\x63\x26\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x25\x2b\x6b\x37\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x26\x43\x45\x46\x64\x3e\x42\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x46\x2a\x7a\x28\x43\x47\x26\x77\x39\x46\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x42\x44\x41\x55\x51\x48\x44\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x52\x39\x44\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x52\x52\x48\x46\x29\x3d\x59\x4c\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x49\x46\x66\x31\x54\x33\x49\x35\x38\x7c\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6e\x50\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x7a\x51\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3e\x42\x41\x55\x51\x42\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x46\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x43\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x74\x50\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x74\x50\x41\x55\x48\x38\x42\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x66\x6c\x41\x33\x46\x2a\x59\x6e\x39\x48\x5a\x6d\x2b\x41\x48\x21\x76\x28\x39\x47\x42\x50\x28\x54\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x7b\x6a\x4a\x47\x42\x68\x3c\x54\x41\x54\x63\x26\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x50\x7d\x60\x46\x2a\x59\x5f\x56\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x47\x42\x7a\x77\x41\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x48\x38\x64\x3c\x42\x47\x42\x47\x6e\x4f\x41\x54\x6c\x73\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x55\x48\x45\x44\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x39\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x25\x5f\x71\x38\x49\x34\x7e\x3f\x41\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x26\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x6c\x23\x37\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x47\x42\x37\x65\x4d\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x50\x68\x38\x47\x42\x71\x28\x51\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x52\x49\x46\x46\x2a\x37\x56\x36\x46\x29\x3d\x59\x4c\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x68\x3f\x54\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x46\x2a\x50\x68\x38\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x68\x24\x51\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x2b\x74\x39\x47\x42\x59\x24\x52\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x47\x62\x37\x48\x21\x3e\x5f\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x70\x43\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x3d\x5e\x39\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x26\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x7a\x77\x41\x46\x2a\x47\x6e\x4e\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x48\x45\x46\x64\x76\x36\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x35\x73\x52\x47\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x46\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x43\x3c\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x4b\x49\x56\x3e\x50\x49\x48\x21\x4c\x37\x47\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3f\x56\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x7a\x52\x41\x54\x63\x76\x47\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3b\x37\x41\x54\x63\x73\x42\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x48\x37\x70\x3d\x39\x47\x25\x5f\x71\x38\x46\x2a\x50\x3c\x55\x41\x54\x7e\x42\x45\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x26\x6e\x33\x45\x48\x5a\x3f\x33\x44\x47\x42\x68\x7a\x50\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x47\x63\x71\x68\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x48\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x48\x21\x3e\x5f\x42\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x49\x58\x35\x67\x49\x46\x2a\x21\x46\x5a\x41\x54\x6c\x76\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x55\x48\x45\x44\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x41\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x29\x3d\x62\x4d\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x47\x42\x7a\x77\x41\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x54\x63\x6d\x33\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x66\x31\x54\x38\x47\x25\x4f\x25\x46\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x68\x74\x41\x49\x57\x3b\x55\x47\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x47\x42\x50\x59\x36\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x73\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x46\x2a\x68\x74\x41\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7a\x50\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x4c\x5f\x44\x46\x2a\x72\x33\x57\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x37\x56\x36\x47\x42\x2b\x24\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x76\x32\x45\x41\x54\x63\x23\x45\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x68\x6b\x38\x47\x26\x6e\x33\x45\x49\x35\x6a\x4c\x46\x48\x23\x39\x36\x44\x48\x5a\x76\x3f\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x48\x21\x76\x28\x39\x47\x42\x50\x7a\x52\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x49\x57\x7b\x61\x48\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x46\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x47\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x55\x77\x38\x47\x42\x47\x68\x4d\x41\x54\x75\x79\x35\x41\x54\x63\x70\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x69\x30\x58\x41\x54\x6c\x2a\x39\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x46\x2a\x50\x3c\x55\x41\x54\x63\x73\x41\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x44\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x3d\x56\x4b\x41\x55\x38\x48\x46\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x47\x40\x5f\x48\x38\x4c\x7a\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x21\x26\x3c\x41\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x48\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x38\x42\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x48\x61\x30\x39\x45\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x37\x45\x46\x64\x79\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x37\x46\x67\x47\x6b\x39\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x44\x45\x46\x64\x26\x46\x45\x46\x64\x5e\x49\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x46\x2a\x72\x30\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x49\x34\x6d\x47\x42\x49\x57\x7b\x61\x48\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x4b\x48\x41\x54\x26\x35\x45\x41\x54\x63\x6d\x39\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x37\x6b\x4e\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6b\x50\x41\x55\x38\x42\x44\x41\x54\x6c\x2a\x39\x41\x54\x63\x3b\x4e\x45\x46\x64\x3b\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x47\x46\x66\x31\x54\x39\x46\x66\x31\x54\x33\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x47\x77\x51\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x47\x40\x5f\x47\x42\x37\x62\x4c\x41\x54\x63\x73\x49\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x70\x39\x45\x46\x64\x26\x36\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x37\x77\x53\x41\x54\x3e\x42\x46\x41\x55\x51\x4e\x46\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x7a\x28\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x46\x29\x25\x62\x4e\x41\x54\x6c\x26\x4a\x45\x46\x64\x5e\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x7e\x32\x42\x41\x55\x38\x4b\x47\x41\x54\x63\x73\x45\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x63\x7a\x6e\x38\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x46\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x76\x47\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x77\x52\x41\x55\x38\x4b\x47\x41\x54\x26\x35\x45\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x21\x76\x28\x39\x48\x21\x26\x3c\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x58\x4e\x73\x4b\x49\x58\x45\x6d\x4a\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x63\x70\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x48\x23\x52\x49\x46\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x29\x53\x63\x34\x46\x66\x25\x4d\x35\x47\x42\x37\x6b\x4f\x41\x54\x6c\x73\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6e\x4e\x41\x54\x63\x5a\x3b\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x37\x4d\x34\x47\x25\x5f\x71\x38\x48\x59\x5e\x7d\x39\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x7e\x42\x45\x41\x54\x25\x7b\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x59\x6e\x39\x47\x42\x50\x7a\x52\x41\x54\x63\x26\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x71\x52\x41\x55\x38\x38\x43\x41\x54\x3e\x32\x43\x41\x54\x6c\x79\x4a\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x39\x46\x67\x59\x77\x42\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x4b\x47\x41\x54\x63\x5a\x3b\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x48\x45\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x43\x48\x59\x5e\x7d\x44\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x3d\x78\x3f\x47\x42\x68\x28\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x42\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x45\x46\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x24\x52\x41\x54\x63\x70\x43\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x46\x2a\x50\x68\x38\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x70\x38\x45\x46\x64\x3e\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x3f\x57\x41\x54\x63\x76\x4a\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3e\x38\x41\x54\x25\x7e\x43\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x35\x48\x5a\x55\x77\x38\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x7a\x6e\x38\x47\x42\x68\x77\x4f\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x46\x2a\x37\x56\x36\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x63\x70\x47\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x34\x6d\x47\x43\x49\x56\x3e\x50\x45\x47\x25\x4f\x25\x37\x46\x66\x63\x34\x32\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x45\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x79\x42\x45\x46\x64\x3b\x34\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x44\x47\x41\x74\x6c\x35\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x46\x29\x3d\x71\x52\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x48\x23\x61\x4f\x47\x48\x61\x49\x4c\x47\x46\x2a\x69\x30\x57\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x49\x35\x7b\x6a\x4a\x46\x2a\x69\x39\x5a\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x37\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x48\x5a\x6d\x2b\x41\x48\x23\x39\x36\x44\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x6a\x43\x44\x48\x38\x6d\x5f\x43\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x46\x2a\x37\x6b\x4e\x41\x55\x51\x63\x4b\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x47\x42\x47\x53\x35\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x63\x70\x46\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x29\x7d\x24\x55\x41\x54\x75\x79\x35\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x48\x38\x64\x3c\x42\x49\x35\x23\x58\x48\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x46\x66\x7d\x59\x37\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x62\x7c\x75\x37\x47\x25\x7a\x65\x36\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x38\x32\x41\x41\x54\x26\x35\x45\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x36\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x56\x30\x45\x46\x2a\x72\x46\x61\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x37\x65\x4d\x41\x54\x3e\x35\x44\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x37\x45\x46\x64\x76\x37\x46\x29\x53\x63\x42\x47\x62\x7c\x75\x36\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x46\x45\x46\x64\x23\x44\x45\x46\x64\x3e\x45\x45\x46\x64\x79\x30\x41\x54\x63\x23\x46\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x43\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x71\x71\x39\x49\x57\x73\x49\x45\x46\x29\x3d\x68\x4f\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x3e\x35\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x42\x49\x56\x3e\x50\x43\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x29\x3d\x71\x52\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x48\x23\x6a\x55\x48\x48\x39\x30\x49\x47\x46\x2a\x37\x2b\x56\x41\x54\x63\x79\x46\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x5e\x43\x41\x55\x51\x4b\x45\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x46\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x30\x30\x43\x46\x2a\x37\x56\x36\x46\x29\x7d\x6e\x50\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x47\x42\x68\x7c\x57\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x47\x64\x33\x28\x42\x47\x26\x6e\x33\x45\x46\x29\x7d\x71\x51\x41\x54\x63\x70\x42\x45\x46\x64\x5e\x46\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x46\x29\x7d\x50\x35\x47\x42\x68\x3f\x55\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x75\x26\x37\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x71\x71\x39\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x47\x42\x2b\x24\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x45\x45\x41\x54\x7d\x7e\x41\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x45\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x35\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x63\x7a\x6e\x38\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x26\x37\x41\x54\x63\x79\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x48\x23\x30\x30\x43\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x55\x51\x42\x42\x41\x54\x6c\x26\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x47\x25\x4f\x25\x37\x46\x67\x59\x77\x42\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x26\x39\x41\x55\x51\x45\x43\x41\x55\x51\x57\x49\x41\x54\x6c\x73\x42\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3f\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x59\x6e\x39\x46\x29\x25\x50\x4a\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x41\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x46\x66\x75\x47\x34\x48\x38\x28\x36\x45\x49\x57\x73\x49\x45\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x43\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x43\x74\x38\x47\x63\x7a\x6e\x38\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x45\x45\x46\x64\x3b\x45\x45\x46\x64\x2a\x37\x45\x46\x64\x23\x36\x45\x46\x64\x79\x41\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x46\x2a\x71\x5f\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x59\x5e\x7d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x26\x39\x41\x54\x63\x70\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x46\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x25\x26\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x43\x74\x38\x48\x61\x30\x39\x45\x46\x2a\x59\x24\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x64\x43\x3c\x43\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x75\x7e\x44\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x44\x45\x46\x64\x3e\x48\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x74\x50\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x55\x50\x7d\x60\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x39\x45\x46\x64\x79\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x34\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x47\x42\x71\x24\x50\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x34\x7e\x3f\x41\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x46\x2a\x50\x68\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x5f\x56\x41\x54\x63\x70\x44\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x48\x23\x39\x36\x44\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x48\x38\x55\x28\x41\x49\x34\x6d\x47\x42\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x38\x46\x41\x54\x6c\x23\x37\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x42\x45\x46\x64\x23\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x23\x39\x36\x44\x47\x26\x4c\x2b\x42\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x45\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x36\x41\x54\x6c\x26\x48\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x45\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x49\x43\x45\x49\x57\x61\x36\x43\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x34\x46\x66\x75\x47\x34\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x48\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x38\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x43\x5a\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x55\x51\x48\x44\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x35\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x7b\x44\x41\x54\x3d\x5e\x39\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x64\x33\x28\x42\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x75\x3b\x39\x41\x54\x3d\x78\x3f\x47\x42\x69\x30\x58\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x42\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x45\x46\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x2b\x54\x41\x54\x75\x3b\x39\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4a\x45\x46\x64\x23\x38\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x7b\x44\x41\x55\x51\x63\x4b\x41\x54\x6c\x3b\x41\x41\x54\x63\x3b\x42\x41\x54\x63\x6d\x42\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x46\x2a\x37\x24\x54\x41\x54\x25\x7b\x42\x41\x54\x63\x73\x46\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x29\x7d\x50\x35\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x46\x29\x53\x63\x41\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x3f\x56\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x46\x67\x47\x6b\x39\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x54\x6c\x26\x38\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x48\x54\x49\x41\x54\x63\x6d\x39\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x7a\x7c\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x46\x2a\x50\x68\x38\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x46\x45\x46\x64\x79\x38\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x44\x45\x46\x64\x3b\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x68\x2b\x52\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x47\x42\x71\x2b\x52\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x37\x70\x3d\x47\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x55\x3f\x43\x48\x5a\x26\x7c\x43\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x25\x4d\x35\x47\x63\x59\x56\x35\x46\x29\x25\x6e\x52\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x30\x39\x45\x49\x57\x7b\x61\x48\x48\x23\x52\x49\x46\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x39\x46\x66\x31\x54\x33\x48\x5a\x26\x7c\x43\x47\x42\x59\x74\x4f\x41\x54\x6c\x23\x46\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x45\x45\x46\x64\x23\x41\x45\x46\x64\x23\x36\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x44\x46\x29\x53\x63\x35\x46\x66\x7d\x59\x37\x47\x42\x37\x4d\x34\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x48\x23\x49\x43\x45\x48\x61\x39\x46\x46\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x54\x63\x5a\x3b\x46\x2a\x21\x36\x57\x41\x54\x6c\x23\x44\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x70\x39\x45\x46\x64\x26\x36\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x23\x58\x48\x46\x2a\x59\x24\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x44\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x4b\x48\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x5f\x57\x41\x54\x63\x70\x43\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x46\x2a\x7a\x28\x43\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x47\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x49\x49\x56\x3e\x50\x43\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x74\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x26\x4c\x2b\x42\x47\x42\x50\x6b\x4d\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x46\x29\x25\x59\x4d\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x47\x41\x74\x6c\x35\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x45\x45\x46\x64\x3b\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x5a\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x47\x42\x68\x28\x52\x41\x54\x63\x2a\x47\x45\x46\x64\x3e\x45\x45\x46\x64\x76\x41\x45\x46\x64\x26\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x55\x3f\x43\x47\x42\x7a\x77\x41\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x46\x2a\x59\x6e\x39\x48\x21\x3e\x5f\x42\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x47\x40\x5f\x46\x2a\x21\x36\x57\x41\x54\x63\x79\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x25\x7a\x65\x36\x46\x2a\x47\x71\x4f\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x48\x45\x46\x64\x76\x36\x46\x66\x31\x54\x35\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x42\x46\x66\x63\x34\x32\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x45\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x43\x74\x38\x46\x29\x3d\x6e\x51\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x45\x45\x46\x64\x3e\x47\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x46\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x49\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x21\x26\x3c\x41\x49\x58\x45\x6d\x4a\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x48\x45\x46\x64\x76\x36\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x47\x42\x68\x2b\x53\x41\x54\x63\x76\x41\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x4c\x5f\x44\x46\x2a\x71\x7c\x55\x41\x54\x63\x79\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x42\x46\x66\x63\x34\x32\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x28\x51\x41\x54\x63\x70\x42\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x23\x36\x41\x55\x51\x63\x4b\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x46\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x48\x5a\x6d\x2b\x41\x47\x42\x50\x6e\x4e\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x41\x74\x6c\x36\x46\x66\x6c\x41\x33\x47\x42\x47\x7a\x53\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x3d\x56\x4b\x41\x54\x63\x73\x41\x45\x46\x64\x79\x39\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x47\x74\x51\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x64\x4c\x5f\x44\x48\x21\x76\x28\x39\x48\x59\x5e\x7d\x39\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x2b\x55\x41\x54\x6c\x79\x36\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x59\x4d\x41\x55\x38\x4b\x47\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x47\x47\x41\x74\x6c\x36\x46\x66\x63\x34\x32\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x45\x46\x41\x54\x3d\x5e\x39\x41\x54\x3e\x45\x47\x41\x54\x6c\x23\x48\x45\x46\x64\x26\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x68\x4d\x41\x55\x38\x42\x44\x41\x54\x63\x73\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x45\x46\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x37\x74\x52\x41\x54\x75\x2a\x38\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x47\x26\x77\x39\x46\x48\x23\x61\x4f\x47\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x46\x29\x25\x53\x4b\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x47\x42\x71\x5f\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x68\x62\x36\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x47\x42\x47\x53\x35\x46\x2a\x21\x36\x57\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x48\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x35\x7b\x6a\x4a\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x44\x45\x46\x64\x79\x44\x45\x46\x64\x76\x38\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x48\x5a\x26\x7c\x43\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x43\x48\x59\x5e\x7d\x48\x49\x56\x3e\x50\x43\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x49\x57\x23\x4f\x46\x49\x57\x23\x4f\x46\x46\x2a\x37\x77\x52\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x43\x45\x46\x64\x2a\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x29\x7d\x50\x35\x48\x59\x5e\x7d\x39\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x7e\x45\x46\x41\x54\x25\x2a\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x47\x42\x47\x53\x35\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x49\x58\x4e\x73\x4b\x49\x35\x3b\x64\x49\x48\x5a\x76\x3f\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x7e\x44\x41\x54\x63\x23\x4c\x45\x46\x64\x3b\x34\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x64\x3c\x42\x47\x43\x33\x3f\x44\x49\x58\x4e\x73\x4b\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x49\x58\x45\x6d\x4a\x46\x2a\x50\x2b\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x71\x7a\x42\x46\x29\x25\x59\x4d\x41\x54\x63\x73\x47\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x73\x47\x45\x46\x64\x23\x35\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x47\x42\x68\x7c\x57\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x46\x2a\x68\x7c\x56\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x37\x70\x3d\x47\x47\x41\x74\x6c\x36\x47\x63\x2b\x74\x39\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3b\x41\x41\x54\x63\x6d\x43\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x48\x37\x70\x3d\x47\x47\x62\x7c\x75\x41\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x2a\x71\x7a\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x46\x66\x6c\x41\x33\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x43\x45\x46\x64\x79\x36\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x4c\x2b\x42\x47\x42\x47\x77\x52\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x23\x49\x43\x45\x46\x2a\x71\x7a\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x29\x3d\x65\x4e\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x46\x66\x75\x47\x34\x46\x29\x7d\x77\x53\x41\x54\x26\x32\x44\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x37\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x7a\x6e\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x25\x5f\x71\x38\x49\x34\x7e\x3f\x41\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x26\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x59\x3c\x54\x41\x54\x63\x2a\x41\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x61\x49\x4c\x47\x46\x2a\x50\x2b\x54\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x47\x62\x37\x47\x42\x68\x3f\x55\x41\x54\x63\x6d\x41\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x3e\x32\x43\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x37\x46\x29\x53\x63\x43\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x38\x46\x41\x54\x6c\x2a\x39\x41\x54\x63\x6d\x46\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x47\x42\x50\x59\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x46\x29\x53\x63\x39\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3f\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x3e\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x63\x23\x48\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x76\x36\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x46\x29\x3d\x6e\x51\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x53\x4b\x41\x54\x75\x23\x36\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x49\x35\x73\x52\x47\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x42\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x39\x47\x42\x71\x71\x39\x46\x2a\x71\x7a\x42\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x46\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x47\x7a\x53\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x48\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x2a\x39\x41\x55\x48\x54\x49\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x39\x46\x66\x31\x54\x37\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x6b\x38\x49\x57\x3b\x55\x47\x49\x34\x6d\x47\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x7a\x52\x41\x54\x63\x76\x4a\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3b\x37\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x34\x47\x26\x64\x7c\x44\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x71\x68\x37\x46\x2a\x59\x7c\x57\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x44\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x64\x43\x3c\x43\x46\x2a\x37\x7a\x53\x41\x55\x50\x7d\x60\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x47\x25\x4f\x25\x44\x48\x37\x70\x3d\x38\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6e\x4e\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x54\x63\x5a\x3b\x46\x2a\x47\x2b\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x39\x45\x46\x64\x7b\x48\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x47\x25\x4f\x25\x38\x47\x26\x4c\x2b\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x2b\x6b\x37\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x43\x49\x35\x7b\x6a\x4a\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x38\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x30\x39\x45\x47\x63\x7a\x6e\x38\x47\x42\x37\x65\x4d\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x45\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x64\x3c\x42\x46\x2a\x37\x7a\x53\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x64\x3c\x42\x46\x2a\x47\x71\x4f\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x21\x26\x3c\x41\x46\x29\x3d\x56\x4b\x41\x54\x75\x2a\x38\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x2a\x59\x3f\x55\x41\x54\x3e\x32\x43\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x5a\x26\x7c\x43\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x48\x38\x4c\x7a\x39\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x39\x45\x46\x64\x76\x36\x45\x46\x64\x79\x38\x46\x29\x53\x63\x36\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x30\x39\x45\x48\x5a\x64\x24\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x26\x38\x41\x54\x63\x6d\x33\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x47\x63\x2b\x74\x39\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x25\x4d\x35\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x71\x51\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x5a\x76\x3f\x42\x48\x23\x49\x43\x45\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x48\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x48\x23\x52\x49\x46\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x29\x53\x63\x38\x46\x29\x53\x63\x34\x47\x25\x2b\x6b\x37\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x47\x63\x59\x56\x35\x46\x2a\x37\x74\x51\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x43\x45\x46\x64\x7b\x4a\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x48\x37\x70\x3d\x38\x48\x61\x30\x39\x45\x46\x2a\x72\x30\x56\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x43\x5a\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6e\x51\x41\x54\x6c\x7b\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x38\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x26\x35\x45\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x46\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x43\x46\x29\x25\x44\x33\x46\x29\x25\x62\x4e\x41\x54\x7d\x7e\x41\x41\x54\x6c\x79\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x5e\x42\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x47\x42\x71\x24\x50\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x7b\x6a\x4a\x47\x42\x59\x5f\x57\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x44\x49\x56\x3e\x50\x48\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x71\x51\x41\x54\x6c\x79\x36\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x6d\x2b\x41\x47\x42\x5f\x2b\x43\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x46\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x48\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x49\x4c\x47\x48\x38\x43\x74\x38\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x47\x45\x46\x64\x3b\x34\x41\x54\x63\x79\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x46\x2a\x69\x30\x57\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x36\x41\x54\x63\x26\x47\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x49\x43\x45\x49\x57\x52\x30\x42\x48\x38\x33\x6e\x37\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x5a\x3f\x33\x44\x47\x42\x68\x3c\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x46\x29\x25\x59\x4d\x41\x54\x75\x6c\x3d\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6e\x4e\x41\x54\x75\x3b\x39\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x48\x23\x52\x49\x46\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x23\x39\x36\x44\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x36\x47\x26\x33\x77\x39\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3e\x43\x41\x54\x3e\x35\x44\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x39\x45\x46\x64\x5e\x36\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x21\x46\x5a\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x44\x47\x42\x59\x65\x37\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x45\x46\x29\x53\x63\x35\x47\x64\x56\x30\x45\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x3c\x53\x41\x54\x6c\x76\x46\x45\x46\x64\x75\x7e\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x21\x76\x28\x39\x47\x42\x47\x28\x55\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x56\x3e\x50\x44\x47\x25\x5f\x71\x38\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x4b\x48\x41\x54\x7d\x5e\x38\x41\x54\x3e\x32\x43\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x47\x63\x5f\x7a\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x47\x64\x33\x28\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x43\x49\x56\x3e\x50\x43\x47\x42\x47\x53\x35\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x28\x55\x41\x54\x63\x70\x42\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x68\x6b\x38\x47\x26\x4c\x2b\x42\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x21\x4c\x37\x42\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x45\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x25\x5f\x71\x38\x46\x29\x3d\x65\x4e\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x43\x48\x37\x70\x3d\x47\x46\x66\x31\x54\x41\x46\x66\x31\x54\x33\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x36\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x36\x46\x66\x31\x54\x41\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x45\x46\x41\x55\x51\x5a\x4a\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x23\x39\x45\x46\x64\x26\x32\x41\x54\x63\x26\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x7c\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x5f\x54\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x62\x4c\x41\x54\x63\x26\x39\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x6d\x5f\x43\x48\x23\x61\x4f\x47\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x79\x41\x45\x46\x64\x7b\x37\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x35\x49\x56\x3e\x50\x43\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x63\x2b\x74\x39\x46\x29\x25\x50\x4a\x41\x54\x63\x26\x45\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x42\x45\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x3f\x56\x41\x54\x76\x32\x45\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x39\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x47\x43\x33\x3f\x44\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x3b\x55\x47\x49\x58\x45\x6d\x4a\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x21\x26\x3c\x41\x47\x42\x47\x6b\x4e\x41\x55\x48\x38\x42\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x46\x29\x3d\x74\x53\x41\x55\x38\x42\x44\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x35\x49\x34\x7e\x3f\x41\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x50\x45\x46\x64\x79\x35\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x4a\x46\x29\x53\x63\x38\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x6b\x4f\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x5a\x4a\x41\x55\x38\x42\x44\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x49\x34\x7e\x3f\x41\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x46\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x47\x26\x77\x39\x46\x47\x42\x47\x53\x35\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x28\x55\x41\x54\x63\x70\x46\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x71\x71\x39\x46\x29\x7d\x68\x4e\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x68\x6b\x38\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x4e\x73\x4b\x47\x64\x43\x3c\x43\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x68\x28\x52\x41\x54\x63\x70\x48\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x48\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x47\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x57\x3b\x55\x47\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x25\x4d\x35\x47\x63\x7a\x6e\x38\x46\x2a\x37\x7a\x53\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x38\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x3f\x56\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x6e\x33\x45\x47\x42\x50\x3c\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x47\x62\x37\x47\x42\x71\x71\x39\x47\x64\x4c\x5f\x44\x46\x2a\x50\x3c\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x6b\x38\x46\x2a\x50\x68\x38\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x45\x44\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x47\x25\x4f\x25\x37\x46\x29\x25\x44\x33\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x48\x45\x46\x64\x76\x36\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x46\x67\x59\x77\x42\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x72\x33\x57\x41\x54\x63\x76\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x49\x35\x49\x33\x43\x46\x2a\x37\x7a\x53\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x3b\x39\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x62\x7c\x75\x45\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x66\x31\x54\x33\x49\x57\x3b\x55\x47\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x35\x43\x41\x54\x3d\x3e\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x26\x38\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x42\x48\x37\x70\x3d\x42\x47\x62\x7c\x75\x37\x47\x64\x56\x30\x45\x46\x2a\x47\x28\x54\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x38\x46\x66\x31\x54\x39\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x43\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x46\x29\x25\x6e\x52\x41\x54\x3d\x3b\x37\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x42\x42\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x49\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x42\x45\x46\x64\x26\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x73\x48\x45\x46\x64\x3e\x42\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x48\x5a\x26\x7c\x43\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x26\x32\x44\x41\x55\x38\x45\x45\x41\x54\x6c\x3e\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x49\x56\x3e\x50\x45\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x59\x6e\x39\x46\x2a\x50\x68\x38\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x48\x23\x39\x36\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x36\x46\x66\x31\x54\x42\x45\x46\x64\x5e\x4a\x45\x46\x64\x26\x45\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x47\x42\x50\x59\x36\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x24\x51\x41\x54\x6c\x76\x42\x45\x46\x64\x3b\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x46\x2a\x59\x3c\x54\x41\x55\x51\x5a\x4a\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x47\x42\x37\x68\x4e\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x61\x36\x43\x46\x2a\x59\x7a\x50\x41\x54\x25\x7e\x43\x41\x54\x6c\x26\x4a\x45\x46\x64\x5e\x42\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x7d\x7e\x41\x41\x54\x6c\x5e\x43\x41\x54\x63\x6d\x37\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x7a\x7c\x54\x41\x54\x63\x26\x48\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x49\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x70\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x68\x6b\x38\x46\x29\x7d\x6e\x50\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x26\x77\x39\x46\x46\x2a\x68\x74\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x49\x58\x4e\x73\x4b\x47\x26\x64\x7c\x44\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x76\x32\x45\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x45\x45\x46\x64\x3e\x48\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x47\x25\x4f\x25\x37\x47\x26\x33\x77\x39\x47\x42\x37\x77\x53\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x2b\x55\x41\x54\x63\x76\x49\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x7a\x6e\x38\x46\x2a\x47\x6e\x4e\x41\x55\x48\x35\x41\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x48\x23\x39\x36\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x47\x42\x50\x74\x50\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x46\x29\x3d\x6b\x50\x41\x54\x75\x7b\x43\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x44\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x46\x29\x25\x56\x4c\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x75\x7e\x41\x54\x7d\x25\x40\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x46\x29\x25\x53\x4b\x41\x54\x63\x70\x48\x45\x46\x64\x23\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x29\x7d\x50\x35\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x68\x2b\x52\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x35\x52\x39\x44\x46\x29\x7d\x71\x51\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x47\x45\x46\x64\x3e\x44\x45\x46\x64\x3b\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x64\x7c\x44\x46\x2a\x71\x7a\x42\x48\x5a\x76\x3f\x42\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x26\x38\x41\x55\x51\x51\x47\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x61\x46\x45\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x39\x46\x46\x48\x38\x33\x6e\x37\x49\x34\x7e\x3f\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x39\x48\x21\x4c\x37\x41\x48\x5a\x26\x7c\x43\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x34\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x28\x53\x41\x54\x7e\x42\x45\x41\x54\x25\x3b\x38\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x36\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x35\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x49\x4c\x47\x46\x29\x25\x56\x4c\x41\x55\x51\x42\x42\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x45\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x58\x35\x67\x49\x46\x29\x3d\x4a\x34\x49\x35\x7b\x6a\x4a\x46\x2a\x68\x5f\x55\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x37\x49\x35\x38\x7c\x42\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x46\x2a\x71\x7a\x42\x48\x38\x6d\x5f\x43\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x3b\x39\x41\x54\x63\x23\x4a\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x23\x39\x36\x44\x47\x26\x77\x39\x46\x46\x29\x3d\x71\x52\x41\x54\x63\x70\x42\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x7a\x6e\x38\x47\x42\x59\x3c\x55\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x36\x46\x66\x63\x34\x32\x47\x42\x50\x71\x4f\x41\x54\x3d\x3e\x38\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x46\x2a\x71\x7a\x42\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x3c\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x47\x42\x68\x6b\x38\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x26\x32\x44\x41\x55\x38\x48\x46\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x46\x67\x47\x6b\x39\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x42\x47\x25\x7a\x65\x36\x46\x2a\x69\x33\x58\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x59\x65\x37\x47\x41\x74\x6c\x35\x49\x35\x23\x58\x48\x47\x42\x59\x74\x4f\x41\x55\x50\x7d\x60\x49\x56\x3e\x50\x43\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x47\x64\x56\x30\x45\x49\x35\x61\x46\x45\x46\x2a\x59\x5f\x56\x41\x54\x63\x3b\x48\x45\x46\x64\x23\x45\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x48\x38\x43\x74\x38\x46\x2a\x37\x74\x51\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x26\x3c\x41\x49\x34\x6d\x47\x42\x48\x5a\x3f\x33\x44\x47\x43\x33\x3f\x44\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x38\x45\x46\x64\x26\x43\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x47\x77\x51\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x71\x7a\x42\x46\x29\x25\x50\x4a\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x46\x2a\x7a\x28\x43\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x43\x33\x3f\x44\x49\x57\x61\x36\x43\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x23\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x45\x49\x56\x3e\x50\x4b\x46\x66\x31\x54\x41\x46\x66\x31\x54\x41\x49\x34\x6d\x47\x45\x49\x56\x3e\x50\x44\x46\x2a\x47\x62\x37\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x47\x64\x56\x30\x45\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x43\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x76\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x46\x2a\x47\x62\x37\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x68\x24\x51\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x34\x7e\x3f\x41\x46\x2a\x72\x39\x59\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x6b\x50\x41\x54\x63\x23\x46\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x7a\x77\x41\x46\x29\x25\x53\x4b\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x46\x2a\x71\x3c\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x59\x65\x37\x49\x35\x6a\x4c\x46\x46\x2a\x50\x5f\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x41\x45\x46\x64\x7b\x48\x45\x46\x64\x26\x43\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x46\x29\x7d\x50\x35\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x45\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x63\x26\x39\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x24\x52\x41\x54\x25\x7e\x43\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x44\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x26\x77\x39\x46\x49\x35\x23\x58\x48\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x47\x25\x4f\x25\x39\x46\x66\x31\x54\x35\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x5f\x57\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x48\x39\x30\x49\x47\x49\x35\x7b\x6a\x4a\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x48\x59\x5e\x7d\x39\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x48\x21\x3e\x5f\x42\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x38\x49\x35\x6a\x4c\x46\x47\x42\x68\x28\x52\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x48\x21\x4c\x37\x47\x46\x29\x53\x63\x37\x48\x21\x4c\x37\x41\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x59\x4b\x41\x54\x6c\x79\x36\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x76\x3f\x42\x47\x63\x68\x62\x36\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x49\x57\x23\x4f\x46\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x25\x44\x33\x47\x26\x43\x24\x41\x46\x2a\x47\x3c\x56\x41\x54\x75\x5e\x42\x41\x54\x63\x6d\x47\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x62\x7c\x75\x37\x47\x25\x5f\x71\x38\x46\x2a\x50\x74\x4f\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x23\x58\x48\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x44\x45\x46\x64\x23\x35\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x46\x2a\x7a\x28\x43\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x44\x45\x46\x64\x3e\x45\x45\x46\x64\x7b\x4b\x45\x46\x64\x3b\x46\x45\x46\x64\x3b\x34\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x47\x42\x68\x77\x4f\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x47\x64\x56\x30\x45\x46\x29\x7d\x65\x4d\x41\x55\x38\x4b\x47\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x73\x48\x45\x46\x64\x23\x41\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x23\x39\x36\x44\x47\x63\x71\x68\x37\x47\x42\x59\x3f\x56\x41\x54\x63\x79\x45\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x46\x2a\x71\x5f\x54\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x37\x56\x36\x48\x21\x3e\x5f\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x48\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x68\x6b\x38\x48\x5a\x76\x3f\x42\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x38\x46\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x76\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x47\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x43\x46\x67\x37\x65\x38\x46\x2a\x50\x7a\x51\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x44\x45\x46\x64\x76\x36\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x43\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x7a\x28\x43\x48\x38\x28\x36\x45\x48\x61\x30\x39\x45\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x34\x6d\x47\x4a\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x63\x79\x42\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x41\x45\x46\x64\x23\x37\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x23\x58\x48\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x41\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x2a\x39\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x46\x45\x46\x64\x79\x41\x45\x46\x64\x76\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x75\x47\x34\x46\x2a\x59\x6e\x39\x47\x26\x43\x24\x41\x46\x2a\x59\x6e\x39\x46\x29\x3d\x68\x4f\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x47\x25\x7a\x65\x36\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x48\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x43\x45\x46\x64\x2a\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x43\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x47\x45\x46\x64\x3e\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x47\x42\x69\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x47\x42\x71\x24\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x66\x31\x54\x41\x45\x46\x64\x79\x39\x46\x66\x31\x54\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x42\x46\x66\x31\x54\x42\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x7b\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x41\x45\x46\x64\x3e\x49\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x52\x39\x44\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x46\x2a\x68\x7c\x56\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x4b\x48\x37\x70\x3d\x38\x48\x5a\x55\x77\x38\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x4b\x48\x41\x54\x3e\x35\x44\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x76\x41\x45\x46\x64\x76\x37\x45\x46\x64\x76\x41\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x44\x47\x26\x4c\x2b\x42\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x46\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x5a\x26\x7c\x43\x46\x29\x25\x50\x4a\x41\x55\x38\x42\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x35\x48\x5a\x26\x7c\x43\x46\x2a\x37\x68\x4d\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x7a\x51\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x74\x53\x41\x55\x38\x35\x42\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x44\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x3d\x3b\x37\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x67\x50\x71\x41\x47\x42\x47\x71\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x39\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x46\x2a\x37\x56\x36\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x38\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x50\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x79\x37\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x33\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x55\x38\x38\x43\x41\x54\x7e\x42\x45\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x48\x37\x70\x3d\x38\x47\x63\x5f\x7a\x41\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x2a\x39\x41\x54\x3e\x32\x43\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x23\x39\x45\x46\x64\x5e\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x68\x62\x36\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x3c\x54\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x72\x39\x59\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x42\x46\x29\x53\x63\x41\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x43\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x30\x39\x45\x48\x5a\x64\x24\x39\x47\x25\x5f\x71\x38\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x66\x31\x54\x33\x46\x66\x25\x4d\x35\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x48\x38\x64\x3c\x42\x46\x2a\x37\x6e\x4f\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x49\x58\x45\x6d\x4a\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x46\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x29\x7d\x24\x55\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x48\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x21\x26\x3c\x41\x48\x39\x30\x49\x47\x48\x23\x6a\x55\x48\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x23\x49\x43\x45\x49\x57\x7b\x61\x48\x49\x57\x52\x30\x42\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x42\x71\x71\x39\x47\x42\x71\x71\x39\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x2a\x38\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x47\x63\x2b\x74\x39\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x71\x24\x50\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x43\x5a\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x2b\x74\x39\x47\x42\x37\x65\x4d\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x47\x62\x7c\x75\x37\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x28\x55\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x37\x24\x54\x41\x54\x25\x72\x3e\x46\x2a\x68\x3f\x54\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x46\x66\x63\x34\x32\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6b\x4d\x41\x54\x75\x2a\x38\x41\x54\x63\x76\x36\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x33\x47\x42\x59\x65\x37\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x56\x3e\x50\x43\x49\x34\x7e\x3f\x41\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x41\x46\x2a\x47\x62\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x63\x70\x44\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x34\x6d\x47\x44\x46\x66\x31\x54\x37\x49\x34\x6d\x47\x4a\x48\x21\x4c\x37\x42\x47\x25\x4f\x25\x39\x49\x34\x6d\x47\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x46\x2a\x47\x62\x37\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x47\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x73\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x47\x63\x7a\x6e\x38\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x24\x51\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x46\x2a\x71\x5f\x54\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x71\x71\x39\x49\x35\x3b\x64\x49\x47\x42\x68\x3f\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x3b\x39\x45\x46\x64\x2a\x47\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x37\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x46\x2a\x59\x3c\x54\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x7a\x6e\x38\x46\x2a\x37\x24\x54\x41\x54\x3d\x7e\x42\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x7a\x6e\x38\x47\x42\x7a\x77\x41\x48\x38\x77\x30\x44\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x39\x46\x29\x53\x63\x36\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x47\x26\x6e\x33\x45\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x26\x38\x41\x55\x51\x48\x44\x41\x54\x63\x79\x37\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x63\x59\x56\x35\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x59\x6e\x39\x46\x29\x25\x56\x4c\x41\x54\x63\x70\x46\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x29\x7d\x24\x55\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x47\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x66\x6c\x41\x33\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x21\x76\x28\x39\x46\x29\x7d\x24\x55\x41\x55\x38\x45\x45\x41\x54\x75\x3e\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x46\x66\x6c\x41\x33\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x41\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x47\x49\x34\x6d\x47\x42\x47\x64\x4c\x5f\x44\x47\x42\x37\x77\x53\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x21\x46\x5a\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x41\x45\x46\x64\x2a\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x46\x2a\x37\x56\x36\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x26\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x2b\x52\x41\x54\x6c\x23\x37\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x50\x2b\x54\x41\x54\x3e\x35\x44\x41\x54\x63\x26\x39\x41\x55\x37\x7e\x39\x41\x54\x63\x23\x4c\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x45\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x71\x71\x39\x46\x29\x25\x44\x33\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x4b\x46\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x41\x46\x66\x63\x34\x32\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x55\x48\x38\x42\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x42\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x43\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x46\x47\x41\x74\x6c\x42\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x2b\x54\x41\x54\x6c\x3e\x42\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x6d\x5f\x43\x48\x23\x39\x36\x44\x47\x42\x68\x6b\x38\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x38\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x48\x21\x4c\x37\x49\x49\x34\x6d\x47\x42\x46\x29\x7d\x50\x35\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x77\x4f\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x7a\x6e\x38\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x44\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x6b\x50\x41\x54\x63\x79\x49\x45\x46\x64\x3e\x42\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x3e\x32\x43\x41\x54\x6c\x3b\x41\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x49\x34\x7e\x3f\x41\x47\x42\x68\x5f\x56\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x47\x42\x47\x77\x52\x41\x54\x63\x70\x47\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x46\x29\x3d\x62\x4d\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x48\x61\x30\x39\x45\x46\x29\x25\x53\x4b\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x21\x3e\x5f\x42\x46\x2a\x68\x74\x41\x46\x2a\x59\x2b\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x28\x36\x45\x47\x64\x4c\x5f\x44\x48\x38\x77\x30\x44\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x4a\x45\x46\x64\x3e\x47\x45\x46\x64\x79\x42\x45\x46\x64\x23\x39\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x24\x52\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x46\x2a\x47\x6e\x4e\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x6d\x5f\x43\x47\x26\x33\x77\x39\x46\x2a\x21\x30\x55\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x42\x49\x56\x3e\x50\x46\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x3e\x41\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x28\x51\x41\x54\x63\x23\x47\x45\x46\x64\x7b\x49\x45\x46\x64\x23\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x46\x2a\x50\x68\x38\x46\x2a\x50\x3f\x56\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x38\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x6e\x33\x45\x46\x2a\x37\x7a\x53\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x68\x62\x36\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x46\x29\x7d\x6b\x4f\x41\x55\x48\x48\x45\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x44\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x30\x57\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x75\x7e\x44\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x59\x56\x35\x48\x5a\x6d\x2b\x41\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x5a\x4a\x41\x54\x6c\x76\x49\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3f\x55\x41\x54\x63\x76\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x35\x45\x41\x55\x38\x32\x41\x41\x54\x3d\x7e\x42\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x49\x48\x37\x70\x3d\x38\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x7e\x42\x45\x41\x54\x25\x7e\x43\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x48\x5a\x26\x7c\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x48\x38\x55\x28\x41\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x43\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x48\x5a\x64\x24\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x38\x43\x41\x54\x63\x76\x36\x41\x54\x75\x3b\x39\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x59\x3f\x55\x41\x54\x63\x76\x4a\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x6e\x4e\x41\x55\x51\x5a\x4a\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x23\x38\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x4b\x48\x37\x70\x3d\x38\x46\x66\x3d\x53\x36\x46\x2a\x69\x33\x58\x41\x54\x63\x79\x44\x45\x46\x64\x5e\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x47\x42\x71\x28\x51\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x2a\x68\x28\x51\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x34\x6d\x47\x4a\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x2b\x54\x41\x54\x7e\x35\x43\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x59\x4d\x41\x54\x63\x2a\x41\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x4c\x7a\x39\x48\x61\x30\x39\x45\x48\x38\x64\x3c\x42\x46\x29\x3d\x56\x4b\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x37\x47\x26\x43\x24\x41\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6b\x4f\x41\x54\x63\x26\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x5a\x26\x7c\x43\x47\x42\x59\x3c\x55\x41\x54\x63\x3e\x50\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x48\x21\x26\x3c\x41\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x46\x29\x7d\x6e\x50\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x43\x74\x38\x48\x61\x30\x39\x45\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x63\x70\x41\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x26\x55\x3f\x43\x46\x2a\x37\x74\x51\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x45\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x48\x5a\x64\x24\x39\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x38\x32\x41\x41\x54\x26\x35\x45\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x39\x45\x46\x64\x76\x37\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x35\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x59\x6e\x39\x49\x58\x45\x6d\x4a\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x41\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x46\x66\x63\x34\x32\x48\x5a\x6d\x2b\x41\x49\x58\x45\x6d\x4a\x47\x42\x71\x3f\x54\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x4c\x5f\x44\x47\x42\x59\x77\x50\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x48\x23\x61\x4f\x47\x48\x61\x39\x46\x46\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x79\x49\x45\x46\x64\x3b\x44\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x63\x4b\x41\x55\x38\x38\x43\x41\x55\x51\x63\x4b\x41\x54\x75\x5e\x42\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x46\x2a\x68\x3c\x53\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x71\x4f\x41\x54\x3d\x5e\x39\x41\x54\x54\x54\x2d\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x28\x55\x41\x54\x75\x7b\x43\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x5f\x56\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x7a\x6e\x38\x46\x2a\x72\x36\x58\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x71\x71\x39\x49\x57\x73\x49\x45\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x45\x45\x46\x64\x79\x34\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x5a\x4a\x41\x54\x6c\x7b\x44\x41\x54\x63\x3b\x42\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x35\x6a\x4c\x46\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x35\x41\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x48\x21\x3e\x5f\x42\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x39\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x48\x45\x46\x64\x26\x43\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x66\x31\x54\x35\x48\x21\x4c\x37\x42\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x71\x53\x41\x55\x38\x4e\x48\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x47\x40\x5f\x46\x29\x25\x6b\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x46\x2a\x68\x5f\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x26\x33\x77\x39\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x3d\x4a\x34\x47\x25\x2b\x6b\x37\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x46\x2a\x59\x24\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x56\x30\x45\x46\x2a\x71\x7c\x55\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x44\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x6b\x51\x41\x55\x38\x4b\x47\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x42\x42\x41\x54\x26\x35\x45\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x46\x2a\x68\x5f\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x47\x62\x7c\x75\x39\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x42\x43\x41\x54\x63\x26\x48\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x48\x38\x33\x6e\x37\x47\x42\x59\x7a\x51\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x28\x53\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x23\x6a\x55\x48\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x2b\x54\x41\x54\x63\x3e\x43\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x4e\x73\x4b\x46\x2a\x68\x74\x41\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x5e\x36\x41\x54\x63\x76\x42\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x41\x46\x29\x3d\x4a\x34\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x34\x47\x25\x7a\x65\x36\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6e\x50\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x68\x6b\x38\x46\x2a\x72\x46\x61\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3b\x41\x41\x55\x50\x7d\x60\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x35\x45\x46\x64\x2a\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x47\x46\x66\x31\x54\x42\x49\x56\x3e\x50\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x42\x45\x46\x64\x76\x33\x46\x66\x31\x54\x41\x47\x62\x7c\x75\x36\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x29\x3d\x62\x4d\x41\x55\x51\x4e\x46\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x43\x74\x38\x46\x2a\x71\x3f\x53\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x34\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x44\x45\x46\x64\x3e\x39\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x39\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x48\x38\x77\x30\x44\x48\x23\x49\x43\x45\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x46\x29\x25\x59\x4d\x41\x54\x6c\x73\x41\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3f\x55\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x68\x4d\x41\x55\x51\x57\x49\x41\x54\x63\x70\x47\x45\x46\x64\x2a\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x43\x48\x21\x4c\x37\x41\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x23\x36\x41\x54\x25\x5e\x41\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x46\x2a\x7a\x28\x43\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x47\x25\x5f\x71\x38\x47\x42\x47\x7a\x53\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x56\x3e\x50\x44\x47\x26\x4c\x2b\x42\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x47\x42\x5f\x2b\x43\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x47\x25\x4f\x25\x38\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x28\x55\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x7d\x7a\x54\x41\x54\x6c\x66\x3c\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x46\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x42\x49\x34\x6d\x47\x43\x46\x29\x53\x63\x34\x47\x63\x7a\x6e\x38\x46\x2a\x59\x28\x52\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x45\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x25\x2b\x6b\x37\x49\x57\x3b\x55\x47\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7a\x50\x41\x54\x63\x70\x47\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x48\x61\x39\x46\x46\x46\x29\x25\x50\x4a\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x59\x6e\x39\x46\x2a\x72\x46\x61\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x52\x39\x44\x47\x42\x37\x62\x4c\x41\x54\x6c\x73\x42\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x37\x46\x66\x25\x4d\x35\x47\x26\x55\x3f\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x32\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x46\x49\x34\x6d\x47\x49\x48\x59\x5e\x7d\x39\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x5a\x33\x59\x41\x54\x63\x23\x4a\x45\x46\x64\x7b\x4b\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x38\x47\x25\x4f\x25\x38\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x71\x53\x41\x54\x75\x79\x35\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x47\x49\x56\x3e\x50\x43\x47\x25\x5f\x71\x38\x47\x42\x59\x3c\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x28\x54\x41\x54\x63\x76\x48\x45\x46\x64\x72\x7d\x41\x54\x7e\x4b\x48\x41\x55\x47\x40\x5f\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x75\x3b\x39\x41\x55\x48\x35\x41\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x5a\x64\x24\x39\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4a\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x64\x24\x39\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x4a\x45\x46\x64\x5e\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x25\x4f\x25\x46\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x46\x2a\x72\x39\x59\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x48\x47\x41\x54\x63\x6d\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x71\x68\x37\x47\x42\x68\x28\x52\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x46\x2a\x50\x68\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x73\x43\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x46\x67\x47\x6b\x39\x49\x35\x7b\x6a\x4a\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x2a\x39\x41\x55\x47\x40\x5f\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x48\x21\x76\x28\x39\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x37\x45\x46\x64\x26\x36\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x47\x25\x4f\x25\x37\x48\x61\x30\x39\x45\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x74\x52\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x77\x50\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x48\x21\x3e\x5f\x42\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x38\x47\x26\x55\x3f\x43\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x42\x45\x41\x54\x3e\x38\x45\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x45\x46\x64\x7b\x37\x41\x54\x63\x79\x37\x41\x54\x6c\x73\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x46\x45\x46\x64\x75\x7e\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x38\x48\x59\x5e\x7d\x42\x46\x66\x31\x54\x37\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x49\x35\x73\x52\x47\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x26\x42\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x47\x45\x46\x64\x3e\x45\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x48\x21\x4c\x37\x42\x46\x67\x47\x6b\x39\x49\x35\x52\x39\x44\x48\x5a\x3f\x33\x44\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x41\x41\x54\x54\x54\x2d\x46\x2a\x50\x68\x38\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x35\x47\x62\x7c\x75\x36\x47\x26\x77\x39\x46\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7c\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x47\x42\x2b\x24\x42\x47\x42\x59\x5f\x57\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x46\x2a\x5a\x30\x58\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x62\x4c\x41\x54\x6c\x23\x37\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x57\x7b\x61\x48\x47\x42\x7a\x77\x41\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x49\x45\x46\x64\x2a\x33\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x43\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x46\x29\x3d\x65\x4e\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x23\x61\x4f\x47\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x71\x24\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x47\x42\x59\x77\x50\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x59\x6e\x39\x48\x21\x3e\x5f\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x26\x38\x41\x54\x7e\x32\x42\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x47\x42\x47\x7a\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x39\x46\x66\x6c\x41\x33\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x2a\x39\x41\x54\x3d\x5e\x39\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x44\x48\x59\x5e\x7d\x39\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x42\x44\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x3f\x54\x41\x54\x7e\x35\x43\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x26\x32\x44\x41\x54\x6c\x3b\x41\x41\x54\x75\x23\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x49\x34\x6d\x47\x49\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x47\x42\x59\x3c\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x42\x45\x41\x54\x3d\x5e\x39\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x43\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x59\x3f\x55\x41\x54\x63\x3b\x42\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x2b\x54\x41\x54\x75\x2a\x38\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4b\x45\x46\x64\x23\x45\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x48\x23\x61\x4f\x47\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x39\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x33\x56\x41\x54\x6c\x76\x46\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x41\x45\x46\x64\x26\x43\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x47\x42\x71\x3c\x53\x41\x54\x6c\x76\x42\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x49\x34\x7e\x3f\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x47\x42\x68\x7c\x57\x41\x54\x6c\x73\x43\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x45\x44\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x3d\x56\x4b\x41\x55\x38\x4b\x47\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x47\x40\x5f\x46\x29\x25\x6b\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x47\x42\x71\x3c\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x64\x3c\x42\x46\x2a\x59\x6e\x39\x47\x42\x59\x65\x37\x48\x38\x77\x30\x44\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x41\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x39\x46\x46\x47\x25\x7a\x65\x36\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x47\x48\x21\x4c\x37\x42\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x46\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x33\x6e\x37\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x48\x47\x41\x74\x6c\x44\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x41\x74\x6c\x39\x46\x29\x53\x63\x34\x47\x26\x77\x39\x46\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x25\x5f\x71\x38\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x46\x67\x59\x77\x42\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x26\x37\x41\x54\x6c\x79\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x23\x36\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x43\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x39\x47\x63\x2b\x74\x39\x46\x29\x25\x68\x50\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x2a\x21\x4c\x62\x41\x55\x48\x4b\x46\x41\x54\x75\x3e\x41\x41\x54\x3d\x78\x3f\x46\x2a\x37\x2b\x56\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x43\x45\x46\x64\x3b\x38\x45\x46\x64\x76\x36\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x58\x35\x67\x49\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x6e\x52\x41\x54\x7e\x4b\x48\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x47\x45\x46\x64\x23\x42\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x46\x29\x7d\x71\x51\x41\x54\x63\x23\x45\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x44\x48\x38\x4c\x7a\x39\x46\x29\x7d\x71\x51\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x24\x52\x41\x54\x75\x7e\x44\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x46\x67\x37\x65\x38\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x47\x6b\x39\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x47\x42\x50\x74\x50\x41\x55\x38\x45\x45\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x43\x48\x37\x70\x3d\x44\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x74\x53\x41\x54\x54\x54\x2d\x46\x2a\x59\x7a\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x45\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x47\x64\x4c\x5f\x44\x47\x42\x59\x5f\x57\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x47\x42\x71\x24\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x66\x31\x54\x42\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x47\x41\x74\x6c\x36\x46\x66\x6c\x41\x33\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x3b\x42\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x7a\x51\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x38\x7c\x42\x46\x2a\x21\x43\x59\x41\x54\x63\x79\x47\x45\x46\x64\x7b\x37\x41\x55\x38\x51\x49\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x73\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x49\x46\x66\x31\x54\x33\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x26\x38\x41\x54\x75\x2a\x38\x41\x54\x63\x76\x45\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x7a\x51\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x54\x6c\x7b\x44\x41\x55\x51\x4e\x46\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x34\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x34\x7e\x3f\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x45\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x21\x26\x3c\x41\x46\x29\x25\x56\x4c\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x48\x48\x37\x70\x3d\x38\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x7e\x42\x45\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x63\x2a\x41\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x55\x38\x42\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x46\x66\x63\x34\x32\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x26\x46\x45\x46\x64\x76\x37\x45\x46\x64\x5e\x41\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x7b\x6a\x4a\x47\x42\x59\x77\x50\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x35\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x44\x47\x63\x68\x62\x36\x47\x63\x7a\x6e\x38\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x46\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x37\x6b\x4e\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x44\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x64\x56\x30\x45\x47\x43\x33\x3f\x44\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x70\x43\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x42\x44\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x46\x2a\x7a\x28\x43\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x44\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x6b\x4f\x41\x54\x63\x76\x47\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x46\x29\x3d\x4a\x34\x46\x2a\x37\x56\x36\x48\x61\x49\x4c\x47\x46\x2a\x71\x5f\x54\x41\x54\x63\x76\x43\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x38\x4c\x7a\x39\x47\x64\x4c\x5f\x44\x48\x38\x43\x74\x38\x47\x25\x5f\x71\x38\x46\x2a\x37\x24\x54\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x2a\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x46\x61\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x73\x52\x47\x47\x42\x37\x59\x4b\x41\x54\x6c\x23\x48\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x7b\x41\x41\x54\x25\x26\x36\x41\x54\x6c\x23\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x47\x43\x33\x3f\x44\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x2b\x53\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x72\x46\x61\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x44\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x68\x4f\x41\x54\x63\x23\x47\x45\x46\x64\x3b\x34\x41\x55\x48\x4b\x46\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x47\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x46\x29\x53\x63\x34\x49\x57\x73\x49\x45\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x4b\x48\x41\x54\x63\x6d\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x62\x7c\x75\x35\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x57\x23\x4f\x46\x47\x25\x5f\x71\x38\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x55\x51\x4b\x45\x41\x54\x6c\x23\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x43\x46\x67\x47\x6b\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x26\x39\x41\x55\x47\x40\x5f\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x46\x66\x75\x47\x34\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x46\x67\x37\x65\x38\x49\x57\x3b\x55\x47\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x29\x7d\x24\x55\x41\x54\x63\x70\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x79\x35\x41\x54\x25\x7e\x43\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x26\x7c\x43\x47\x42\x71\x71\x39\x47\x42\x68\x7a\x50\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x46\x29\x3d\x74\x53\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x55\x38\x35\x42\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x50\x7d\x60\x49\x58\x4e\x73\x4b\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x48\x21\x76\x28\x39\x47\x42\x71\x3c\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x49\x58\x45\x6d\x4a\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x33\x46\x2a\x71\x7a\x42\x46\x2a\x50\x24\x52\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x37\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x71\x4e\x41\x54\x63\x26\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x28\x53\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x46\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x7a\x6e\x38\x46\x2a\x50\x24\x52\x41\x55\x38\x45\x45\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x64\x3c\x42\x48\x23\x39\x36\x44\x48\x61\x52\x52\x48\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x21\x26\x3c\x41\x47\x42\x47\x77\x52\x41\x55\x48\x48\x45\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x25\x4f\x25\x37\x49\x34\x6d\x47\x42\x46\x66\x63\x34\x32\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x42\x45\x46\x64\x26\x32\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x44\x49\x56\x3e\x50\x44\x47\x63\x2b\x74\x39\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x43\x48\x59\x5e\x7d\x47\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x68\x4e\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x38\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x3e\x32\x43\x41\x55\x38\x48\x46\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x47\x42\x37\x59\x4b\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x36\x46\x66\x6c\x41\x33\x46\x2a\x47\x74\x50\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x25\x59\x4d\x41\x54\x63\x73\x46\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x23\x58\x48\x47\x42\x68\x28\x52\x41\x54\x63\x26\x4c\x45\x46\x64\x3e\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x52\x39\x44\x46\x2a\x59\x3f\x55\x41\x54\x3d\x78\x3f\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x46\x66\x6c\x41\x33\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x46\x66\x31\x54\x34\x48\x38\x33\x6e\x37\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x2a\x39\x41\x54\x63\x73\x42\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3c\x55\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x47\x42\x47\x53\x35\x46\x2a\x50\x74\x4f\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x34\x45\x46\x64\x75\x7e\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x47\x45\x46\x64\x23\x41\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x77\x52\x41\x55\x38\x51\x49\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x5a\x3f\x33\x44\x49\x34\x7e\x3f\x41\x47\x42\x68\x7a\x50\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x55\x51\x48\x44\x41\x54\x6c\x26\x4b\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x48\x21\x3e\x5f\x42\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x46\x29\x25\x50\x4a\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x47\x42\x69\x30\x58\x41\x54\x63\x3e\x50\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x4c\x7a\x39\x47\x42\x50\x59\x36\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x75\x5e\x42\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x7a\x6e\x38\x48\x23\x6a\x55\x48\x46\x29\x3d\x56\x4b\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x5a\x26\x7c\x43\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x77\x30\x44\x47\x63\x7a\x6e\x38\x47\x43\x33\x3f\x44\x47\x63\x71\x68\x37\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x79\x49\x45\x46\x64\x76\x42\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x63\x4b\x41\x54\x63\x26\x39\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x47\x64\x4c\x5f\x44\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x35\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x52\x52\x48\x48\x38\x4c\x7a\x39\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x43\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x46\x29\x7d\x71\x51\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x7a\x28\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x38\x6d\x5f\x43\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x35\x48\x5a\x64\x24\x39\x47\x25\x4f\x25\x38\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x47\x26\x6e\x33\x45\x48\x61\x30\x39\x45\x48\x23\x52\x49\x46\x46\x2a\x47\x62\x37\x47\x42\x50\x59\x36\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x46\x66\x3d\x53\x36\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x36\x46\x29\x53\x63\x38\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x7a\x6e\x38\x47\x42\x47\x28\x55\x41\x55\x38\x51\x49\x41\x54\x63\x3e\x43\x41\x54\x63\x76\x45\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x25\x2b\x6b\x37\x46\x2a\x50\x3f\x56\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x7c\x54\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x63\x59\x56\x35\x49\x57\x73\x49\x45\x46\x2a\x7a\x5f\x53\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x2a\x46\x45\x46\x64\x2a\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x26\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x35\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x42\x45\x46\x64\x79\x41\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x49\x45\x46\x64\x76\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x28\x52\x41\x54\x63\x23\x4b\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x45\x44\x41\x54\x6c\x26\x47\x45\x46\x64\x23\x36\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x26\x38\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x42\x68\x6b\x38\x46\x29\x3d\x62\x4d\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x2a\x68\x28\x51\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x48\x38\x33\x6e\x37\x46\x29\x7d\x62\x4c\x41\x54\x63\x73\x46\x45\x46\x64\x76\x34\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x49\x35\x49\x33\x43\x47\x42\x68\x77\x4f\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x43\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x64\x56\x30\x45\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x55\x38\x32\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x39\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x46\x29\x25\x44\x33\x48\x61\x30\x39\x45\x46\x2a\x7a\x28\x43\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x56\x3e\x50\x4b\x49\x34\x6d\x47\x43\x48\x38\x43\x74\x38\x47\x42\x50\x71\x4f\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x43\x33\x3f\x44\x49\x34\x6d\x47\x42\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x46\x45\x46\x64\x79\x39\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x45\x47\x41\x74\x6c\x35\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x42\x69\x30\x58\x41\x54\x7e\x4b\x48\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x46\x2a\x50\x3c\x55\x41\x55\x48\x45\x44\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x48\x45\x46\x64\x23\x44\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x47\x63\x68\x62\x36\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x73\x49\x45\x49\x57\x7b\x61\x48\x47\x42\x69\x30\x58\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x46\x2a\x47\x6e\x4e\x41\x54\x63\x26\x39\x41\x54\x63\x26\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x5f\x7a\x41\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x42\x44\x41\x54\x25\x5e\x41\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x3f\x33\x44\x48\x61\x39\x46\x46\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x38\x3f\x43\x46\x46\x29\x25\x59\x4d\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x37\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x29\x25\x44\x33\x47\x42\x68\x6b\x38\x48\x5a\x76\x3f\x42\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x41\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x43\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x77\x54\x41\x54\x54\x54\x2d\x46\x2a\x47\x7a\x52\x41\x54\x63\x3e\x4e\x45\x46\x64\x3e\x44\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x5a\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x47\x42\x68\x24\x51\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x34\x6d\x47\x49\x49\x34\x6d\x47\x42\x48\x5a\x3f\x33\x44\x47\x63\x68\x62\x36\x46\x2a\x21\x46\x5a\x41\x54\x63\x6d\x44\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x7d\x7e\x41\x41\x54\x6c\x5e\x43\x41\x55\x38\x48\x46\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x61\x46\x45\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x37\x41\x54\x63\x79\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x43\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x7e\x45\x46\x41\x54\x25\x26\x36\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3c\x55\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x74\x53\x41\x55\x38\x32\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x38\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x3d\x3b\x37\x41\x54\x63\x73\x44\x45\x46\x64\x76\x33\x45\x46\x64\x76\x36\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x6e\x4e\x41\x54\x63\x6d\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x38\x41\x55\x38\x48\x46\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x48\x21\x26\x3c\x41\x46\x2a\x71\x5f\x54\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x26\x55\x3f\x43\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x46\x45\x46\x64\x79\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x26\x33\x77\x39\x46\x29\x25\x6b\x51\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x48\x21\x26\x3c\x41\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x75\x3e\x41\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x46\x2a\x21\x43\x59\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x34\x6d\x47\x48\x48\x21\x4c\x37\x45\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x4c\x5f\x44\x46\x2a\x50\x3c\x55\x41\x54\x63\x70\x45\x45\x46\x64\x3e\x43\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x64\x3c\x42\x47\x42\x50\x6b\x4d\x41\x54\x6c\x73\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x55\x48\x4e\x47\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x47\x42\x71\x71\x39\x46\x29\x25\x44\x33\x46\x29\x25\x6e\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x21\x4c\x37\x42\x47\x25\x2b\x6b\x37\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x71\x68\x37\x46\x2a\x59\x7c\x57\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x46\x2a\x68\x74\x41\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x48\x23\x73\x61\x49\x48\x38\x28\x36\x45\x46\x2a\x47\x71\x4f\x41\x55\x51\x54\x48\x41\x54\x63\x6d\x43\x45\x46\x64\x2a\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x49\x49\x34\x6d\x47\x42\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x74\x50\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6e\x4e\x41\x54\x75\x6c\x3d\x46\x29\x7d\x24\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x79\x38\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7c\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x45\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x6c\x73\x38\x45\x46\x64\x5e\x44\x45\x46\x64\x79\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x26\x64\x7c\x44\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x39\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x35\x46\x2a\x71\x7a\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x42\x37\x4d\x34\x49\x35\x61\x46\x45\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x38\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x44\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x47\x63\x71\x68\x37\x47\x42\x71\x3f\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x46\x2a\x37\x56\x36\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x75\x2a\x38\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x48\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x46\x66\x31\x54\x42\x49\x34\x6d\x47\x43\x47\x42\x7a\x77\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x59\x65\x37\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x7e\x42\x41\x54\x6c\x2a\x39\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x76\x47\x45\x46\x64\x23\x39\x45\x46\x64\x76\x35\x46\x66\x31\x54\x33\x47\x26\x43\x24\x41\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x74\x52\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x30\x39\x45\x46\x2a\x72\x39\x59\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x47\x63\x2b\x74\x39\x48\x21\x3e\x5f\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x70\x44\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x45\x45\x41\x55\x51\x63\x4b\x41\x54\x63\x70\x45\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x43\x3c\x43\x46\x2a\x72\x46\x61\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x59\x5e\x7d\x39\x49\x57\x23\x4f\x46\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x2a\x39\x41\x55\x51\x57\x49\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x23\x39\x45\x46\x64\x2a\x33\x41\x54\x63\x23\x43\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x47\x26\x55\x3f\x43\x46\x2a\x59\x7c\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x52\x39\x44\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x46\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3b\x42\x41\x54\x63\x6d\x43\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x25\x4f\x25\x37\x48\x37\x70\x3d\x46\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x36\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x49\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x47\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x7a\x77\x41\x46\x2a\x47\x71\x4f\x41\x54\x3e\x45\x47\x41\x54\x63\x6d\x37\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x39\x46\x66\x31\x54\x33\x48\x5a\x55\x77\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x38\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x47\x42\x37\x65\x4d\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x47\x25\x4f\x25\x42\x46\x29\x53\x63\x34\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x6d\x5f\x43\x47\x42\x50\x6e\x4e\x41\x54\x6c\x73\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x77\x52\x41\x54\x25\x72\x3e\x46\x2a\x59\x3f\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x46\x45\x46\x64\x2a\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x29\x7d\x50\x35\x49\x35\x38\x7c\x42\x47\x42\x68\x3c\x54\x41\x54\x63\x2a\x4a\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x47\x64\x56\x30\x45\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x47\x42\x68\x28\x52\x41\x54\x63\x79\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x6d\x33\x41\x54\x6c\x26\x43\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x2a\x39\x41\x55\x51\x45\x43\x41\x54\x6c\x3b\x41\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x47\x42\x69\x30\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x64\x33\x28\x42\x46\x29\x25\x53\x4b\x41\x54\x63\x5a\x3b\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x7a\x53\x41\x54\x75\x2a\x38\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x48\x23\x6a\x55\x48\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x42\x37\x4d\x34\x49\x35\x61\x46\x45\x47\x26\x64\x7c\x44\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x43\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x2a\x39\x41\x54\x7e\x32\x42\x41\x54\x25\x72\x3e\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x49\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x26\x4c\x2b\x42\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x48\x5a\x64\x24\x39\x48\x61\x49\x4c\x47\x46\x2a\x69\x30\x57\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x47\x42\x47\x65\x4c\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x42\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x43\x45\x46\x64\x79\x38\x46\x66\x31\x54\x35\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x7a\x28\x43\x46\x29\x3d\x56\x4b\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x45\x46\x64\x76\x37\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x46\x2a\x72\x36\x58\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x46\x2a\x37\x6b\x4e\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x6d\x5f\x43\x47\x26\x4c\x2b\x42\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x46\x67\x59\x77\x42\x46\x2a\x71\x7a\x42\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x55\x48\x45\x44\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x49\x34\x6d\x47\x47\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x52\x49\x46\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x43\x5a\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x73\x52\x47\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x43\x45\x46\x64\x7b\x49\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x62\x7c\x75\x44\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x2a\x39\x41\x54\x63\x73\x44\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x4b\x48\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x44\x45\x46\x64\x79\x43\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x34\x6d\x47\x43\x46\x66\x6c\x41\x33\x47\x42\x5f\x2b\x43\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x45\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x77\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x28\x55\x41\x54\x63\x5a\x3b\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x45\x45\x46\x64\x76\x43\x45\x46\x64\x26\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x37\x56\x36\x47\x25\x4f\x25\x37\x48\x23\x52\x49\x46\x46\x2a\x47\x3f\x57\x41\x55\x38\x48\x46\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x48\x38\x4c\x7a\x39\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x39\x45\x46\x64\x7b\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x35\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x47\x49\x34\x6d\x47\x42\x46\x2a\x71\x7a\x42\x48\x23\x39\x36\x44\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x5a\x26\x7c\x43\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x37\x41\x54\x63\x79\x49\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x43\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x47\x41\x74\x6c\x36\x47\x63\x5f\x7a\x41\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x2b\x6b\x37\x47\x42\x68\x2b\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x43\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x64\x24\x39\x47\x64\x56\x30\x45\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x3e\x35\x44\x41\x54\x6c\x7b\x44\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x47\x40\x5f\x48\x38\x4c\x7a\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x45\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x47\x53\x35\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x48\x38\x6d\x5f\x43\x47\x63\x71\x68\x37\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x47\x26\x43\x24\x41\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x37\x7e\x39\x41\x54\x7d\x7e\x41\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x45\x46\x64\x76\x34\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x3b\x64\x49\x46\x2a\x7a\x7c\x54\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x46\x2a\x37\x28\x55\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x47\x26\x6e\x33\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x36\x48\x38\x4c\x7a\x39\x47\x42\x37\x65\x4d\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x45\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x46\x66\x75\x47\x34\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x49\x49\x56\x3e\x50\x43\x47\x26\x4c\x2b\x42\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x3b\x41\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x59\x65\x37\x47\x42\x59\x77\x50\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x33\x28\x42\x49\x35\x61\x46\x45\x47\x42\x37\x65\x4d\x41\x54\x63\x79\x49\x45\x46\x64\x79\x36\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x2a\x37\x24\x54\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x71\x4e\x41\x54\x63\x26\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x7c\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x4a\x48\x37\x70\x3d\x44\x49\x56\x3e\x50\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x46\x2a\x71\x7a\x42\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x42\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6e\x4e\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x74\x50\x41\x54\x63\x5a\x3b\x46\x2a\x68\x2b\x52\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x47\x47\x25\x4f\x25\x37\x46\x67\x50\x71\x41\x48\x23\x49\x43\x45\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3e\x42\x41\x55\x51\x42\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x48\x21\x4c\x37\x48\x47\x25\x4f\x25\x39\x45\x46\x64\x26\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x42\x5f\x2b\x43\x49\x35\x6a\x4c\x46\x47\x42\x47\x6b\x4e\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x36\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x46\x2a\x37\x56\x36\x46\x2a\x50\x24\x52\x41\x54\x63\x79\x4a\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x43\x45\x46\x64\x3e\x41\x45\x46\x64\x23\x44\x45\x46\x64\x76\x39\x46\x29\x53\x63\x36\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x52\x52\x48\x47\x26\x6e\x33\x45\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x45\x45\x41\x54\x63\x76\x36\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x47\x42\x71\x2b\x52\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x37\x46\x2a\x68\x74\x41\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x42\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x73\x35\x41\x54\x6c\x26\x4a\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x47\x45\x46\x64\x2a\x33\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x7c\x54\x41\x55\x48\x4e\x47\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x37\x45\x46\x64\x76\x37\x46\x29\x53\x63\x34\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x45\x45\x41\x54\x3d\x3e\x38\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x49\x57\x61\x36\x43\x47\x42\x47\x71\x50\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x46\x29\x53\x63\x34\x49\x58\x35\x67\x49\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x2a\x39\x41\x54\x3d\x3e\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x42\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x23\x49\x43\x45\x47\x26\x4c\x2b\x42\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x39\x49\x35\x52\x39\x44\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x38\x49\x34\x6d\x47\x46\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x68\x4f\x41\x54\x63\x23\x49\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x23\x39\x36\x44\x48\x5a\x6d\x2b\x41\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x3b\x34\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x47\x42\x47\x53\x35\x47\x63\x68\x62\x36\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x75\x3e\x41\x41\x54\x25\x72\x3e\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x23\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x2b\x52\x41\x54\x7e\x35\x43\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x37\x74\x52\x41\x54\x75\x7e\x44\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x44\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x4b\x46\x66\x31\x54\x41\x46\x66\x31\x54\x41\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x42\x46\x2a\x7a\x28\x43\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x48\x48\x37\x70\x3d\x38\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x46\x45\x46\x64\x79\x37\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x46\x2a\x37\x56\x36\x48\x61\x49\x4c\x47\x46\x2a\x72\x39\x59\x41\x54\x63\x76\x45\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x48\x23\x52\x49\x46\x46\x2a\x72\x30\x56\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x2b\x54\x41\x54\x63\x70\x42\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x35\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x3b\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x38\x47\x42\x37\x4d\x34\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x47\x26\x6e\x33\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x49\x48\x21\x4c\x37\x41\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x7a\x6e\x38\x47\x42\x47\x28\x55\x41\x55\x48\x45\x44\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x47\x63\x59\x56\x35\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x42\x49\x56\x3e\x50\x44\x48\x38\x55\x28\x41\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x6b\x50\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x47\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x45\x46\x64\x26\x46\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x2a\x47\x77\x51\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x6d\x5f\x43\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x45\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x48\x38\x55\x28\x41\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x48\x38\x43\x74\x38\x47\x64\x4c\x5f\x44\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x24\x51\x41\x54\x63\x70\x48\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x29\x25\x44\x33\x48\x23\x73\x61\x49\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x73\x49\x45\x49\x58\x4e\x73\x4b\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x61\x49\x4c\x47\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x36\x46\x66\x31\x54\x42\x48\x21\x4c\x37\x43\x46\x29\x53\x63\x34\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x63\x2b\x74\x39\x48\x59\x5e\x7d\x39\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x42\x44\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x3f\x33\x44\x46\x2a\x68\x74\x41\x46\x2a\x72\x43\x5a\x41\x54\x63\x26\x44\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x75\x79\x35\x41\x54\x63\x76\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x46\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x46\x29\x53\x63\x41\x47\x62\x7c\x75\x44\x47\x62\x7c\x75\x36\x48\x37\x70\x3d\x39\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x48\x38\x77\x30\x44\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x45\x48\x21\x4c\x37\x41\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x25\x7a\x65\x36\x47\x42\x50\x6e\x4e\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x2a\x69\x30\x57\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x34\x6d\x47\x4a\x47\x25\x4f\x25\x37\x48\x38\x77\x30\x44\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x37\x7e\x39\x41\x54\x3e\x38\x45\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x34\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x43\x3c\x43\x47\x42\x59\x77\x50\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x49\x57\x7b\x61\x48\x47\x42\x50\x3c\x56\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x55\x28\x41\x47\x63\x7a\x6e\x38\x47\x42\x59\x24\x52\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x42\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x3f\x56\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x5f\x2b\x43\x46\x2a\x50\x68\x38\x46\x2a\x37\x6b\x4e\x41\x54\x3d\x3b\x37\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x44\x45\x46\x64\x3e\x49\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x75\x7e\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x48\x21\x4c\x37\x41\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x3e\x38\x41\x54\x63\x2a\x41\x41\x54\x63\x73\x42\x45\x46\x64\x26\x37\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x37\x7a\x54\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x77\x50\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x68\x4f\x41\x55\x37\x7e\x39\x41\x55\x48\x57\x4a\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x38\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x59\x65\x37\x46\x2a\x72\x43\x5a\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x43\x33\x3f\x44\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x2a\x41\x41\x55\x51\x5a\x4a\x41\x54\x63\x73\x43\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x48\x37\x70\x3d\x39\x47\x26\x64\x7c\x44\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x30\x39\x45\x47\x42\x59\x3c\x55\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x74\x53\x41\x54\x75\x79\x35\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x46\x66\x75\x47\x34\x47\x42\x50\x59\x36\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x42\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x47\x77\x51\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x37\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x26\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x42\x71\x71\x39\x47\x64\x43\x3c\x43\x46\x29\x7d\x71\x51\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x61\x30\x39\x45\x46\x2a\x72\x33\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x46\x2a\x59\x28\x52\x41\x54\x63\x3b\x4c\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x36\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x48\x23\x39\x36\x44\x47\x26\x6e\x33\x45\x46\x29\x7d\x50\x35\x49\x57\x3b\x55\x47\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x38\x42\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x37\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x26\x45\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x38\x42\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x25\x7a\x65\x36\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x48\x5a\x64\x24\x39\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x33\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x6e\x50\x41\x54\x63\x2a\x41\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x45\x6d\x4a\x46\x2a\x68\x74\x41\x48\x23\x52\x49\x46\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x47\x42\x68\x24\x51\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x47\x63\x68\x62\x36\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x75\x47\x34\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x37\x47\x26\x43\x24\x41\x46\x2a\x47\x6e\x4e\x41\x55\x48\x38\x42\x41\x54\x7d\x5e\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x48\x61\x39\x46\x46\x47\x42\x37\x74\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x46\x29\x3d\x71\x52\x41\x55\x51\x4b\x45\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x44\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x48\x23\x52\x49\x46\x46\x29\x7d\x6b\x4f\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x35\x73\x52\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x47\x26\x4c\x2b\x42\x46\x29\x3d\x56\x4b\x41\x54\x63\x73\x42\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x2a\x68\x74\x41\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x3f\x56\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x23\x6a\x55\x48\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x37\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x5a\x3f\x33\x44\x48\x5a\x64\x24\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x42\x44\x41\x55\x48\x54\x49\x41\x54\x63\x5a\x3b\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x48\x38\x64\x3c\x42\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x48\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x39\x45\x46\x64\x26\x42\x45\x46\x64\x76\x37\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x43\x49\x56\x3e\x50\x43\x47\x26\x64\x7c\x44\x47\x42\x47\x65\x4c\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x64\x56\x30\x45\x47\x42\x7a\x77\x41\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x47\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x71\x71\x39\x48\x38\x55\x28\x41\x49\x57\x73\x49\x45\x48\x23\x73\x61\x49\x46\x2a\x71\x7a\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x23\x39\x36\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x46\x45\x46\x64\x76\x36\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x39\x45\x46\x64\x26\x37\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x46\x29\x7d\x50\x35\x46\x2a\x59\x24\x51\x41\x54\x6c\x76\x42\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x48\x23\x73\x61\x49\x46\x2a\x21\x49\x61\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x47\x42\x68\x24\x51\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x34\x6d\x47\x49\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x59\x4b\x41\x54\x6c\x73\x34\x41\x54\x75\x7e\x44\x41\x54\x3e\x45\x47\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x42\x42\x41\x54\x63\x6d\x41\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x49\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x71\x4f\x41\x54\x63\x70\x46\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x6b\x4e\x41\x55\x38\x4e\x48\x41\x55\x51\x45\x43\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x46\x2a\x68\x74\x41\x46\x2a\x72\x33\x57\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x48\x23\x61\x4f\x47\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x70\x43\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x42\x45\x41\x54\x7e\x32\x42\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x41\x45\x46\x64\x7b\x49\x45\x46\x64\x3e\x35\x41\x54\x75\x6c\x3d\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x43\x45\x46\x64\x3b\x34\x41\x54\x63\x76\x46\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x35\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x46\x2a\x68\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x6a\x4c\x46\x46\x2a\x68\x3f\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x47\x42\x50\x59\x36\x47\x42\x68\x5f\x56\x41\x55\x38\x4b\x47\x41\x54\x3d\x3e\x38\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x45\x45\x46\x64\x76\x37\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x47\x42\x50\x24\x53\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x25\x59\x4d\x41\x54\x25\x2a\x37\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x2b\x6b\x37\x47\x42\x68\x77\x4f\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x47\x25\x4f\x25\x37\x49\x35\x61\x46\x45\x47\x42\x71\x2b\x52\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x48\x23\x61\x4f\x47\x48\x23\x39\x36\x44\x47\x42\x50\x28\x54\x41\x54\x3d\x7b\x41\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x45\x45\x46\x64\x23\x43\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x47\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x46\x2a\x68\x7c\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x43\x33\x3f\x44\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x5e\x39\x41\x54\x6c\x73\x34\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x43\x45\x46\x64\x23\x44\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x7a\x53\x41\x54\x7e\x45\x46\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x21\x3e\x5f\x42\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x33\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x43\x48\x59\x5e\x7d\x39\x49\x57\x7b\x61\x48\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x47\x6b\x39\x47\x42\x47\x77\x52\x41\x54\x6c\x76\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x7d\x7a\x54\x41\x54\x54\x54\x2d\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x46\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x47\x62\x37\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x7e\x45\x46\x41\x54\x25\x3e\x39\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x48\x61\x52\x52\x48\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x46\x67\x47\x6b\x39\x46\x29\x3d\x68\x4f\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x45\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x3b\x41\x41\x55\x51\x54\x48\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x42\x37\x4d\x34\x46\x29\x7d\x7a\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x70\x38\x45\x46\x64\x26\x37\x45\x46\x64\x79\x35\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x37\x7a\x54\x41\x54\x25\x7b\x42\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x48\x38\x43\x74\x38\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x42\x45\x46\x64\x76\x33\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x46\x2a\x7a\x28\x43\x48\x23\x52\x49\x46\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x41\x41\x54\x63\x73\x35\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x57\x61\x36\x43\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x59\x6e\x39\x46\x29\x25\x50\x4a\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x42\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x46\x2a\x72\x39\x59\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x6a\x4c\x46\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x47\x46\x29\x53\x63\x38\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x7a\x6e\x38\x46\x2a\x50\x3f\x56\x41\x54\x63\x23\x38\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x50\x4a\x41\x54\x63\x26\x39\x41\x55\x38\x45\x45\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x47\x64\x43\x3c\x43\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x37\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x43\x48\x21\x4c\x37\x43\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x25\x72\x3e\x46\x2a\x59\x2b\x53\x41\x54\x63\x3b\x46\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x43\x33\x3f\x44\x46\x2a\x69\x30\x57\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x47\x42\x71\x2b\x52\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x4b\x46\x29\x53\x63\x34\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x65\x4d\x41\x54\x6c\x3b\x41\x41\x55\x48\x42\x43\x41\x55\x37\x7e\x39\x41\x54\x25\x26\x36\x41\x54\x6c\x3e\x42\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x38\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x4c\x7a\x39\x46\x2a\x68\x74\x41\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6b\x4d\x41\x54\x76\x32\x45\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x48\x61\x30\x39\x45\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x75\x79\x35\x41\x55\x51\x48\x44\x41\x54\x63\x76\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x44\x48\x21\x4c\x37\x44\x47\x62\x7c\x75\x45\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x45\x46\x64\x7b\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x42\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3e\x32\x43\x41\x54\x6c\x73\x34\x41\x54\x63\x2a\x41\x41\x55\x48\x54\x49\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6e\x50\x41\x54\x63\x26\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x30\x39\x45\x46\x2a\x71\x3c\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x77\x30\x44\x47\x63\x7a\x6e\x38\x48\x39\x30\x49\x47\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x42\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x39\x45\x46\x64\x2a\x42\x45\x46\x64\x3e\x47\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x63\x76\x47\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3e\x38\x41\x54\x63\x73\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x38\x7c\x42\x47\x42\x68\x24\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x46\x2a\x59\x6e\x39\x47\x42\x59\x3f\x56\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3e\x42\x41\x55\x51\x4b\x45\x41\x54\x6c\x23\x49\x45\x46\x64\x26\x38\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x48\x61\x39\x46\x46\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x46\x2a\x59\x7a\x50\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x49\x35\x49\x33\x43\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x37\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x46\x2a\x47\x62\x37\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x46\x66\x31\x54\x39\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x46\x2a\x47\x2b\x55\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x28\x53\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x49\x57\x61\x36\x43\x46\x29\x7d\x24\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x47\x48\x59\x5e\x7d\x46\x46\x66\x31\x54\x35\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x47\x40\x5f\x47\x42\x37\x62\x4c\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x43\x45\x46\x64\x2a\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x44\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x37\x7a\x54\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x64\x56\x30\x45\x48\x23\x52\x49\x46\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x42\x44\x41\x54\x3d\x7e\x42\x41\x54\x6c\x76\x35\x41\x54\x63\x73\x44\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x43\x3c\x43\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x37\x49\x57\x23\x4f\x46\x46\x2a\x50\x24\x52\x41\x54\x7d\x7e\x41\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x3c\x53\x41\x54\x6c\x76\x47\x45\x46\x64\x26\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x46\x2a\x68\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x47\x42\x71\x28\x51\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x34\x6d\x47\x49\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x59\x4b\x41\x54\x63\x2a\x41\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x6d\x5f\x43\x47\x42\x2b\x24\x42\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x2a\x71\x7a\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x46\x2a\x71\x7a\x42\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x42\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x4b\x46\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x33\x6e\x37\x46\x29\x3d\x74\x53\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x4a\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x36\x46\x66\x25\x4d\x35\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x48\x45\x46\x64\x76\x37\x46\x66\x31\x54\x42\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x42\x43\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x47\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x49\x35\x52\x39\x44\x46\x2a\x69\x36\x59\x41\x54\x63\x6d\x45\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x47\x42\x71\x71\x39\x46\x29\x25\x56\x4c\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x41\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x42\x41\x54\x63\x70\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x46\x66\x31\x54\x33\x47\x26\x43\x24\x41\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3c\x52\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x2a\x39\x41\x55\x51\x4e\x46\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x36\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x48\x38\x77\x30\x44\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x56\x3e\x50\x43\x46\x66\x63\x34\x32\x47\x42\x50\x3c\x56\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x3f\x33\x44\x46\x2a\x47\x77\x51\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x59\x65\x37\x49\x58\x4e\x73\x4b\x48\x21\x76\x28\x39\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x29\x7d\x24\x55\x41\x54\x75\x3e\x41\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x48\x61\x39\x46\x46\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x5e\x43\x41\x55\x51\x51\x47\x41\x54\x63\x76\x45\x45\x46\x64\x23\x37\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x4a\x46\x66\x31\x54\x41\x46\x66\x31\x54\x41\x49\x34\x6d\x47\x42\x46\x66\x25\x4d\x35\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x23\x30\x30\x43\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x23\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x44\x45\x46\x64\x3b\x34\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x41\x45\x46\x64\x23\x45\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x29\x7d\x24\x55\x41\x54\x75\x79\x35\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x21\x26\x3c\x41\x46\x2a\x71\x7a\x42\x46\x2a\x69\x39\x5a\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x67\x37\x65\x38\x47\x63\x5f\x7a\x41\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x24\x51\x41\x54\x76\x32\x45\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x37\x45\x46\x64\x5e\x49\x45\x46\x64\x3e\x47\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x33\x56\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x37\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x66\x31\x54\x33\x47\x26\x33\x77\x39\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7c\x57\x41\x54\x6c\x73\x47\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x45\x45\x46\x64\x79\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x37\x48\x39\x30\x49\x47\x46\x2a\x71\x7a\x42\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x34\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x47\x42\x68\x7a\x50\x41\x54\x6c\x3b\x41\x41\x54\x63\x76\x42\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x43\x46\x2a\x7a\x28\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x29\x3d\x4a\x34\x47\x42\x59\x65\x37\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x48\x21\x4c\x37\x42\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x79\x39\x46\x29\x53\x63\x36\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x5a\x26\x7c\x43\x48\x5a\x64\x24\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x45\x45\x41\x55\x50\x7d\x60\x46\x29\x25\x6b\x51\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x24\x50\x41\x54\x63\x73\x49\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x68\x4d\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x29\x7d\x24\x55\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x47\x49\x34\x6d\x47\x46\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x42\x45\x41\x54\x3e\x42\x46\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x76\x41\x45\x46\x64\x5e\x36\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x25\x7a\x65\x36\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x50\x2b\x55\x41\x54\x6c\x23\x46\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4b\x45\x46\x64\x23\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x38\x49\x34\x6d\x47\x43\x47\x42\x50\x59\x36\x46\x29\x25\x71\x53\x41\x54\x63\x73\x43\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x46\x61\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x36\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x3f\x57\x41\x54\x63\x76\x41\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x73\x35\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x46\x2a\x71\x3c\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x4a\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x50\x7d\x60\x47\x42\x68\x5f\x56\x41\x55\x51\x63\x4b\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x45\x45\x46\x64\x23\x36\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6e\x4e\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x7d\x7a\x54\x41\x54\x6c\x66\x3c\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x41\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x36\x47\x62\x7c\x75\x36\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x43\x45\x46\x64\x3b\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x47\x42\x71\x2b\x52\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x47\x42\x71\x2b\x52\x41\x54\x63\x73\x49\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x45\x44\x41\x54\x63\x26\x44\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x46\x29\x53\x63\x37\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x68\x74\x41\x49\x35\x3b\x64\x49\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x42\x7a\x77\x41\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x48\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x35\x41\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x69\x30\x58\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x23\x58\x48\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x66\x31\x54\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x46\x2a\x71\x7a\x42\x49\x35\x23\x58\x48\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x26\x39\x41\x55\x51\x4b\x45\x41\x54\x63\x5a\x3b\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x7d\x24\x55\x41\x55\x50\x7d\x60\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x36\x47\x62\x7c\x75\x36\x47\x42\x68\x6b\x38\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x23\x38\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x35\x43\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x44\x45\x46\x64\x23\x41\x45\x46\x64\x2a\x33\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x47\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x46\x66\x31\x54\x35\x46\x66\x31\x54\x33\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x24\x54\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x55\x48\x4b\x46\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x34\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x29\x3d\x62\x4d\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x48\x61\x30\x39\x45\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x39\x46\x29\x53\x63\x41\x47\x41\x74\x6c\x36\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x79\x38\x46\x66\x31\x54\x33\x46\x66\x6c\x41\x33\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x70\x38\x45\x46\x64\x3e\x47\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x5e\x36\x41\x55\x51\x57\x49\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x46\x2a\x59\x3f\x55\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x77\x52\x41\x54\x63\x6d\x41\x45\x46\x64\x79\x34\x45\x46\x64\x23\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x47\x25\x4f\x25\x37\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x2a\x39\x41\x54\x25\x2a\x37\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x38\x46\x66\x31\x54\x34\x47\x42\x59\x65\x37\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x48\x38\x64\x3c\x42\x46\x2a\x21\x39\x58\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x50\x68\x38\x46\x2a\x59\x7a\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x43\x45\x46\x64\x2a\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x47\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x66\x31\x54\x33\x47\x26\x64\x7c\x44\x47\x42\x50\x28\x54\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x25\x59\x4d\x41\x54\x25\x2a\x37\x41\x54\x63\x73\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x47\x63\x5f\x7a\x41\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x75\x79\x35\x41\x55\x51\x4e\x46\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x41\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x46\x61\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x52\x39\x44\x46\x2a\x21\x43\x59\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x37\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x37\x47\x42\x50\x59\x36\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x68\x24\x51\x41\x54\x63\x76\x45\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x50\x77\x51\x41\x54\x7e\x45\x46\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x38\x43\x74\x38\x46\x2a\x37\x2b\x56\x41\x54\x7d\x7e\x41\x41\x55\x38\x35\x42\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x45\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x37\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x68\x74\x41\x46\x2a\x50\x68\x38\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x46\x2a\x37\x7a\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x44\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x30\x39\x45\x46\x29\x25\x59\x4d\x41\x55\x37\x7e\x39\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x59\x5e\x7d\x39\x48\x5a\x55\x77\x38\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x74\x52\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x5f\x57\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x2a\x39\x41\x55\x51\x4e\x46\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x41\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x4b\x45\x46\x64\x23\x36\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x46\x2a\x72\x39\x59\x41\x54\x6c\x26\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x73\x52\x47\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x38\x42\x41\x54\x63\x26\x48\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x48\x38\x64\x3c\x42\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x47\x45\x46\x64\x79\x41\x45\x46\x64\x79\x35\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x45\x46\x29\x53\x63\x35\x46\x2a\x68\x74\x41\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x42\x47\x64\x4c\x5f\x44\x46\x2a\x59\x24\x51\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x7a\x52\x41\x54\x6c\x79\x42\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x26\x35\x45\x41\x54\x75\x2a\x38\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x34\x47\x26\x55\x3f\x43\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x68\x4e\x41\x54\x63\x26\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x68\x6b\x38\x46\x2a\x72\x36\x58\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x63\x71\x68\x37\x47\x42\x71\x71\x39\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x43\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x46\x2a\x68\x74\x41\x48\x39\x30\x49\x47\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x42\x44\x41\x55\x50\x7d\x60\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x47\x42\x37\x7a\x54\x41\x54\x6c\x7b\x44\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x39\x47\x41\x74\x6c\x35\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x63\x7a\x6e\x38\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x41\x46\x29\x25\x44\x33\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x36\x41\x54\x6c\x26\x44\x45\x46\x64\x23\x39\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x26\x38\x41\x54\x7e\x32\x42\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x42\x59\x65\x37\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x67\x50\x71\x41\x46\x29\x3d\x77\x54\x41\x54\x63\x26\x39\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x23\x39\x45\x46\x64\x76\x36\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x30\x39\x45\x47\x26\x4c\x2b\x42\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x34\x6d\x47\x42\x48\x23\x30\x30\x43\x47\x42\x50\x6b\x4d\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x47\x42\x2b\x24\x42\x48\x38\x28\x36\x45\x46\x2a\x47\x7a\x52\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x26\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x59\x5e\x7d\x39\x47\x62\x7c\x75\x36\x46\x66\x75\x47\x34\x47\x42\x59\x77\x50\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x48\x23\x39\x36\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x2a\x71\x7a\x42\x46\x29\x25\x56\x4c\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x36\x47\x25\x2b\x6b\x37\x46\x2a\x47\x3f\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x57\x61\x36\x43\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x45\x48\x21\x4c\x37\x45\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x68\x4e\x41\x54\x63\x23\x46\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x61\x30\x39\x45\x48\x38\x33\x6e\x37\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x4a\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x46\x29\x7d\x24\x55\x41\x54\x3d\x3e\x38\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x48\x23\x52\x49\x46\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x46\x66\x75\x47\x34\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x48\x38\x6d\x5f\x43\x46\x29\x25\x6e\x52\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x47\x45\x46\x64\x23\x38\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x49\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x41\x74\x6c\x35\x46\x66\x63\x34\x32\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x5a\x3f\x33\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x36\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x26\x45\x45\x46\x64\x26\x37\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x47\x25\x4f\x25\x38\x47\x25\x5f\x71\x38\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x74\x52\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x46\x29\x3d\x6b\x50\x41\x54\x3e\x45\x47\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x43\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x42\x45\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x42\x47\x63\x5f\x7a\x41\x46\x2a\x59\x3f\x55\x41\x54\x6c\x73\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x49\x33\x43\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x43\x45\x46\x64\x2a\x37\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x43\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x23\x39\x36\x44\x46\x29\x7d\x74\x52\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x7a\x28\x43\x46\x2a\x68\x3f\x54\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x63\x2b\x74\x39\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x5f\x56\x41\x54\x63\x70\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x42\x45\x41\x54\x26\x35\x45\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x25\x7a\x65\x36\x47\x42\x59\x5f\x57\x41\x54\x63\x26\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x21\x30\x55\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x7b\x41\x41\x54\x63\x73\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x34\x7e\x3f\x41\x47\x42\x68\x7a\x50\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x44\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x46\x2a\x68\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x2a\x5a\x33\x59\x41\x54\x63\x79\x46\x45\x46\x64\x3e\x45\x45\x46\x64\x76\x36\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x46\x2a\x47\x62\x37\x46\x2a\x50\x3f\x56\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x45\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x47\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x66\x31\x54\x33\x49\x57\x6a\x43\x44\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x2a\x41\x41\x54\x63\x6d\x39\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x48\x37\x70\x3d\x39\x47\x26\x64\x7c\x44\x46\x2a\x69\x30\x57\x41\x54\x25\x7b\x42\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x48\x38\x6d\x5f\x43\x49\x35\x52\x39\x44\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x38\x6d\x5f\x43\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x48\x61\x30\x39\x45\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3b\x42\x41\x54\x7d\x7b\x39\x41\x54\x6c\x76\x35\x41\x54\x25\x7b\x42\x41\x54\x75\x79\x35\x41\x54\x63\x73\x44\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x47\x42\x59\x28\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x45\x46\x41\x54\x3d\x3b\x37\x41\x55\x37\x7e\x39\x41\x54\x6c\x79\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x6b\x4e\x41\x54\x75\x79\x35\x41\x54\x7e\x4b\x48\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x3f\x33\x44\x47\x42\x59\x65\x37\x46\x2a\x21\x4c\x62\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x55\x51\x4e\x46\x41\x54\x63\x79\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x45\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x30\x30\x43\x46\x29\x7d\x50\x35\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x61\x4f\x47\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x46\x2a\x68\x74\x41\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x42\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x48\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x37\x71\x50\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x48\x38\x55\x28\x41\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x48\x38\x55\x28\x41\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x39\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x46\x66\x63\x34\x32\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x70\x38\x45\x46\x64\x3e\x43\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x75\x7e\x41\x54\x26\x35\x45\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x29\x25\x59\x4d\x41\x54\x6c\x66\x3c\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x2a\x37\x24\x54\x41\x54\x75\x3e\x41\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x7a\x6e\x38\x47\x43\x33\x3f\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x63\x68\x62\x36\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x36\x47\x26\x33\x77\x39\x48\x38\x33\x6e\x37\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x54\x7e\x42\x45\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x54\x63\x5a\x3b\x49\x58\x4e\x73\x4b\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x23\x39\x36\x44\x46\x2a\x21\x36\x57\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x46\x29\x25\x59\x4d\x41\x54\x63\x70\x39\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x29\x7d\x50\x35\x49\x35\x6a\x4c\x46\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x35\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x25\x7a\x65\x36\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x38\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x48\x38\x3f\x43\x46\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x4b\x47\x41\x55\x51\x4b\x45\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x73\x52\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x59\x6e\x39\x48\x38\x4c\x7a\x39\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3b\x38\x41\x55\x48\x4b\x46\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x29\x7d\x24\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x47\x42\x59\x3c\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x4b\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x48\x5a\x26\x7c\x43\x49\x57\x52\x30\x42\x47\x63\x59\x56\x35\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x48\x38\x64\x3c\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x5a\x3f\x33\x44\x46\x2a\x21\x36\x57\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x59\x65\x37\x48\x38\x43\x74\x38\x48\x61\x49\x4c\x47\x46\x29\x25\x44\x33\x46\x29\x3d\x74\x53\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x37\x70\x3d\x39\x47\x26\x33\x77\x39\x46\x2a\x59\x7c\x57\x41\x54\x6c\x26\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x5a\x3f\x33\x44\x46\x29\x25\x6e\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x46\x2a\x50\x5f\x57\x41\x54\x7e\x35\x43\x41\x54\x7d\x7e\x41\x41\x54\x63\x23\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x48\x21\x4c\x37\x41\x46\x2a\x59\x6e\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x4e\x48\x41\x54\x63\x23\x38\x41\x54\x75\x23\x36\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x2a\x68\x3f\x54\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x47\x63\x68\x62\x36\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x45\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x68\x3c\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x64\x56\x30\x45\x46\x2a\x68\x3c\x53\x41\x54\x63\x23\x38\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x46\x2a\x21\x4c\x62\x41\x54\x3d\x7e\x42\x41\x54\x7d\x7e\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x44\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x45\x46\x66\x31\x54\x41\x48\x59\x5e\x7d\x48\x46\x66\x31\x54\x41\x46\x66\x31\x54\x41\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x47\x65\x4c\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x62\x7c\x75\x36\x49\x58\x4e\x73\x4b\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x42\x45\x41\x55\x51\x5a\x4a\x41\x55\x38\x42\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x37\x47\x26\x4c\x2b\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x68\x4e\x41\x54\x63\x26\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x52\x52\x48\x46\x2a\x72\x36\x58\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6b\x50\x41\x55\x38\x4e\x48\x41\x54\x3d\x7b\x41\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x45\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x71\x3f\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x76\x46\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x76\x36\x41\x54\x63\x26\x45\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x49\x35\x73\x52\x47\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x26\x6e\x33\x45\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x23\x35\x45\x46\x64\x7b\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x48\x21\x4c\x37\x41\x47\x42\x71\x71\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x41\x41\x54\x63\x73\x35\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x47\x63\x71\x68\x37\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x49\x4c\x47\x48\x38\x33\x6e\x37\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x54\x54\x54\x2d\x46\x2a\x59\x5f\x56\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x43\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x47\x63\x59\x56\x35\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x46\x2a\x5a\x33\x59\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x47\x45\x46\x64\x23\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x47\x42\x50\x59\x36\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x47\x25\x4f\x25\x44\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x77\x52\x41\x55\x48\x38\x42\x41\x54\x63\x76\x43\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x39\x48\x37\x70\x3d\x38\x46\x66\x75\x47\x34\x48\x23\x39\x36\x44\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x42\x68\x28\x52\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x5f\x56\x41\x54\x63\x73\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x37\x65\x38\x48\x23\x61\x4f\x47\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x3b\x55\x47\x46\x29\x25\x59\x4d\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x3c\x53\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x68\x4d\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x71\x52\x41\x54\x75\x6c\x3d\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x26\x41\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x45\x46\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x24\x52\x41\x54\x63\x70\x43\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x46\x2a\x37\x56\x36\x47\x42\x59\x3f\x56\x41\x54\x63\x73\x47\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x30\x30\x43\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x48\x38\x33\x6e\x37\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x43\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x71\x68\x37\x46\x2a\x37\x28\x55\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x46\x2a\x68\x2b\x52\x41\x55\x38\x45\x45\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x47\x42\x37\x74\x52\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x56\x3e\x50\x43\x48\x5a\x26\x7c\x43\x47\x26\x64\x7c\x44\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x54\x6c\x7b\x44\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x54\x63\x5a\x3b\x47\x26\x6e\x33\x45\x47\x42\x71\x3c\x53\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x64\x3c\x42\x46\x2a\x47\x71\x4f\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x46\x29\x25\x6e\x52\x41\x54\x63\x6d\x33\x41\x54\x3e\x32\x43\x41\x55\x51\x45\x43\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x29\x53\x63\x34\x48\x61\x30\x39\x45\x46\x2a\x72\x43\x5a\x41\x55\x50\x7d\x60\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x47\x64\x56\x30\x45\x46\x29\x7d\x77\x53\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x48\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x48\x38\x28\x36\x45\x48\x23\x39\x36\x44\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x47\x26\x6e\x33\x45\x46\x2a\x47\x2b\x55\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x4b\x46\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x38\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x42\x43\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x47\x47\x62\x7c\x75\x45\x48\x59\x5e\x7d\x39\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x39\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x5a\x30\x58\x41\x54\x63\x23\x49\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x42\x43\x41\x54\x6c\x26\x45\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x47\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x44\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x46\x66\x31\x54\x42\x49\x56\x3e\x50\x44\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x63\x5f\x7a\x41\x46\x29\x25\x6b\x51\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x35\x47\x62\x7c\x75\x36\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x63\x71\x68\x37\x47\x42\x47\x53\x35\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x26\x37\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x4b\x48\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x3c\x55\x41\x54\x75\x3e\x41\x41\x55\x48\x42\x43\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x43\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x43\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x45\x45\x41\x54\x26\x35\x45\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x63\x2b\x74\x39\x46\x2a\x68\x3f\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x38\x7c\x42\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x45\x45\x46\x64\x2a\x37\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x46\x48\x21\x4c\x37\x41\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x25\x7b\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x68\x74\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x38\x77\x30\x44\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x34\x47\x26\x33\x77\x39\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x37\x7e\x39\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x47\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x39\x45\x46\x64\x26\x45\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x46\x2a\x37\x74\x51\x41\x55\x48\x45\x44\x41\x55\x51\x4b\x45\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x39\x46\x46\x46\x2a\x72\x43\x5a\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3b\x41\x41\x54\x63\x6d\x33\x41\x54\x63\x23\x43\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x77\x52\x41\x54\x54\x54\x2d\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x45\x45\x46\x64\x76\x43\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x36\x48\x21\x4c\x37\x41\x46\x2a\x71\x7a\x42\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x26\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x69\x30\x58\x41\x54\x7e\x42\x45\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x26\x32\x44\x41\x55\x38\x42\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x37\x45\x46\x64\x79\x34\x46\x66\x31\x54\x39\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x3e\x43\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x47\x42\x59\x7a\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x48\x37\x70\x3d\x38\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x41\x45\x46\x64\x79\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x24\x51\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x26\x7c\x43\x46\x29\x3d\x62\x4d\x41\x54\x63\x23\x43\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x68\x62\x36\x48\x38\x43\x74\x38\x47\x42\x71\x71\x39\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x46\x66\x75\x47\x34\x46\x2a\x68\x3c\x53\x41\x54\x6c\x76\x46\x45\x46\x64\x23\x31\x41\x54\x63\x79\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x59\x5e\x7d\x43\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x43\x47\x42\x5f\x2b\x43\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x68\x2b\x53\x41\x54\x63\x76\x44\x45\x46\x64\x26\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x47\x42\x71\x2b\x52\x41\x54\x63\x3b\x42\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x47\x42\x37\x6e\x50\x41\x54\x3d\x3b\x37\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x6e\x52\x41\x55\x38\x48\x46\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x54\x63\x5a\x3b\x47\x26\x6e\x33\x45\x46\x2a\x37\x74\x51\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x47\x42\x47\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x46\x29\x25\x59\x4d\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x37\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x46\x29\x7d\x71\x51\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x7a\x6e\x38\x48\x23\x30\x30\x43\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x35\x42\x41\x54\x63\x76\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x44\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x46\x66\x31\x54\x39\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x47\x74\x50\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x54\x6c\x66\x3c\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x43\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x35\x49\x34\x6d\x47\x42\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x73\x48\x45\x46\x64\x3e\x48\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x5f\x55\x41\x54\x63\x26\x39\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x2a\x50\x3c\x55\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x47\x62\x37\x47\x42\x71\x28\x51\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x2a\x47\x45\x46\x64\x26\x36\x45\x46\x64\x3e\x45\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x44\x47\x42\x37\x4d\x34\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x47\x64\x43\x3c\x43\x46\x29\x3d\x62\x4d\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x35\x47\x42\x59\x65\x37\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x46\x2a\x59\x2b\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x34\x49\x35\x73\x52\x47\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x43\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x30\x39\x45\x46\x29\x3d\x68\x4f\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x45\x45\x46\x64\x3b\x45\x45\x46\x64\x2a\x45\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x46\x2a\x72\x43\x5a\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x47\x7a\x52\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x35\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x48\x38\x4c\x7a\x39\x47\x42\x50\x28\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x37\x48\x23\x6a\x55\x48\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3b\x41\x41\x54\x3e\x35\x44\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x35\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x7a\x6e\x38\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x45\x47\x62\x7c\x75\x36\x48\x38\x33\x6e\x37\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x2a\x39\x41\x54\x3d\x3b\x37\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x26\x38\x45\x46\x64\x23\x31\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x36\x48\x59\x5e\x7d\x39\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x34\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x24\x51\x41\x54\x63\x23\x4b\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x47\x40\x5f\x47\x42\x68\x77\x4f\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x34\x45\x46\x64\x76\x34\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x4a\x47\x62\x7c\x75\x44\x46\x29\x53\x63\x34\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x47\x77\x51\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x48\x45\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x4b\x46\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x25\x5f\x71\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x48\x38\x55\x28\x41\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x43\x3c\x43\x47\x42\x37\x65\x4d\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x47\x25\x4f\x25\x41\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x46\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x35\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x59\x4b\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x35\x46\x29\x53\x63\x39\x47\x25\x4f\x25\x38\x49\x34\x6d\x47\x42\x47\x42\x68\x6b\x38\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x47\x42\x71\x28\x51\x41\x54\x63\x76\x49\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x47\x41\x74\x6c\x35\x49\x35\x38\x7c\x42\x46\x2a\x21\x36\x57\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x49\x47\x62\x7c\x75\x36\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x62\x4c\x41\x54\x63\x3b\x42\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x6d\x2b\x41\x47\x43\x33\x3f\x44\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x41\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x63\x26\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x77\x39\x46\x46\x2a\x37\x68\x4d\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x55\x28\x41\x47\x25\x5f\x71\x38\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x41\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x39\x46\x29\x53\x63\x34\x48\x5a\x64\x24\x39\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x39\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x23\x39\x36\x44\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x44\x45\x46\x64\x79\x39\x45\x46\x64\x23\x35\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x46\x2a\x71\x7a\x42\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x37\x49\x34\x6d\x47\x4a\x48\x21\x4c\x37\x45\x46\x66\x31\x54\x34\x48\x38\x55\x28\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x26\x33\x77\x39\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x48\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x71\x51\x41\x54\x63\x73\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x2a\x47\x62\x37\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x24\x51\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x55\x51\x51\x47\x41\x54\x6c\x2a\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x56\x3e\x50\x43\x46\x29\x25\x44\x33\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x26\x39\x41\x55\x51\x42\x42\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x35\x73\x52\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x47\x42\x7a\x77\x41\x46\x2a\x59\x6e\x39\x48\x23\x49\x43\x45\x48\x38\x3f\x43\x46\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x42\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x59\x56\x35\x46\x29\x7d\x6b\x4f\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x71\x71\x39\x47\x42\x59\x7a\x51\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x46\x66\x6c\x41\x33\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x35\x48\x38\x33\x6e\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x37\x7e\x39\x41\x54\x3e\x45\x47\x41\x54\x6c\x2a\x39\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x54\x54\x54\x2d\x46\x29\x25\x6b\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x46\x2a\x68\x3c\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x47\x62\x7c\x75\x39\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x49\x35\x23\x58\x48\x46\x29\x3d\x68\x4f\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x49\x33\x43\x46\x2a\x37\x74\x51\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x21\x4c\x37\x49\x46\x66\x31\x54\x33\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x71\x51\x41\x54\x7e\x35\x43\x41\x54\x63\x70\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x25\x4f\x25\x37\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x61\x46\x45\x46\x2a\x21\x30\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x45\x45\x46\x64\x7b\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x37\x56\x36\x46\x29\x53\x63\x34\x47\x26\x55\x3f\x43\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x7a\x65\x36\x47\x42\x68\x3f\x55\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x39\x47\x63\x7a\x6e\x38\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x42\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x47\x63\x2b\x74\x39\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x44\x45\x46\x64\x23\x35\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x37\x41\x54\x26\x38\x46\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x46\x2a\x68\x7c\x56\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x3d\x4a\x34\x47\x26\x55\x3f\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x39\x46\x66\x31\x54\x34\x47\x25\x2b\x6b\x37\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x39\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x43\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x45\x45\x46\x64\x79\x41\x45\x46\x64\x26\x39\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x47\x25\x5f\x71\x38\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x46\x66\x31\x54\x42\x49\x34\x6d\x47\x49\x46\x29\x53\x63\x43\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x71\x52\x41\x55\x37\x2d\x5e\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3b\x46\x45\x46\x64\x26\x42\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x42\x45\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x37\x47\x63\x5f\x7a\x41\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x44\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x55\x3f\x43\x47\x42\x47\x53\x35\x46\x29\x25\x6e\x52\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x43\x45\x46\x64\x72\x7d\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x47\x64\x43\x3c\x43\x46\x2a\x21\x49\x61\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x48\x21\x4c\x37\x41\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x23\x39\x36\x44\x47\x26\x43\x24\x41\x46\x2a\x37\x6e\x4f\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x37\x49\x35\x61\x46\x45\x47\x42\x50\x74\x50\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x71\x7a\x42\x47\x42\x2b\x24\x42\x48\x39\x30\x49\x47\x46\x2a\x47\x74\x50\x41\x54\x63\x70\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x47\x42\x68\x6b\x38\x46\x29\x3d\x59\x4c\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x33\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x42\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x37\x48\x21\x26\x3c\x41\x47\x42\x59\x7a\x51\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x39\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x46\x45\x46\x64\x23\x38\x45\x46\x64\x2a\x45\x45\x46\x64\x23\x39\x45\x46\x64\x76\x38\x46\x29\x53\x63\x35\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x71\x7a\x42\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x25\x4d\x35\x48\x23\x30\x30\x43\x48\x21\x26\x3c\x41\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x36\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x35\x41\x41\x54\x63\x26\x45\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x47\x48\x37\x70\x3d\x47\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x41\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x73\x43\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x76\x36\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x38\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x45\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x77\x39\x46\x46\x2a\x47\x71\x4f\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x77\x52\x41\x55\x37\x2d\x5e\x47\x42\x37\x74\x52\x41\x54\x6c\x2a\x46\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x41\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x34\x7e\x3f\x41\x47\x42\x68\x77\x4f\x41\x54\x63\x26\x45\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x47\x42\x68\x6b\x38\x47\x42\x47\x65\x4c\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x47\x42\x68\x28\x52\x41\x54\x63\x23\x48\x45\x46\x64\x2a\x47\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x42\x59\x65\x37\x47\x42\x59\x3f\x56\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x43\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x4c\x7a\x39\x46\x2a\x47\x77\x51\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x37\x7a\x53\x41\x55\x48\x38\x42\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x48\x21\x4c\x37\x49\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x25\x5f\x71\x38\x48\x21\x4c\x37\x41\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x75\x26\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x26\x7c\x43\x47\x42\x59\x65\x37\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x46\x66\x3d\x53\x36\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x48\x37\x70\x3d\x39\x47\x26\x4c\x2b\x42\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x37\x4d\x34\x46\x2a\x7a\x7c\x54\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x49\x35\x61\x46\x45\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x39\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x44\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x49\x35\x49\x33\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x26\x38\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x2b\x52\x41\x54\x7e\x35\x43\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x61\x49\x4c\x47\x46\x2a\x50\x3c\x55\x41\x54\x63\x73\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x36\x47\x41\x74\x6c\x36\x47\x25\x7a\x65\x36\x48\x23\x73\x61\x49\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x47\x63\x68\x62\x36\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x49\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x44\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x21\x26\x3c\x41\x46\x29\x25\x53\x4b\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x46\x2a\x59\x3c\x54\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x2b\x74\x39\x47\x42\x59\x3c\x55\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x71\x7a\x42\x48\x23\x52\x49\x46\x48\x5a\x76\x3f\x42\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x79\x49\x45\x46\x64\x79\x37\x45\x46\x64\x2a\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x38\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x5f\x57\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x59\x4b\x41\x54\x63\x76\x48\x45\x46\x64\x26\x42\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x77\x54\x41\x54\x54\x54\x2d\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x35\x45\x46\x64\x26\x36\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x48\x38\x64\x3c\x42\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x55\x38\x45\x45\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x46\x67\x37\x65\x38\x47\x42\x47\x53\x35\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x46\x2a\x68\x74\x41\x46\x29\x3d\x71\x52\x41\x54\x63\x70\x44\x45\x46\x64\x76\x38\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x49\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x26\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x44\x47\x62\x7c\x75\x36\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x44\x45\x46\x64\x3e\x43\x45\x46\x64\x26\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x59\x3f\x55\x41\x54\x7e\x4b\x48\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x46\x2a\x50\x3c\x55\x41\x55\x38\x45\x45\x41\x54\x63\x70\x34\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x4c\x7a\x39\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x64\x3c\x42\x46\x2a\x37\x2b\x56\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x46\x29\x7d\x24\x55\x41\x54\x7e\x48\x47\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x44\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x42\x43\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x42\x48\x59\x5e\x7d\x47\x48\x59\x5e\x7d\x41\x47\x63\x5f\x7a\x41\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x43\x45\x46\x64\x3e\x45\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x46\x29\x25\x65\x4f\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x76\x3f\x42\x47\x42\x2b\x24\x42\x46\x29\x25\x71\x53\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x47\x42\x69\x30\x58\x41\x54\x6c\x73\x42\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x5e\x39\x41\x54\x63\x3b\x42\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x73\x48\x45\x46\x64\x23\x41\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x74\x51\x41\x54\x7e\x45\x46\x41\x55\x48\x48\x45\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x47\x42\x47\x53\x35\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x46\x67\x47\x6b\x39\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x46\x29\x25\x6e\x52\x41\x54\x6c\x26\x4a\x45\x46\x64\x3e\x47\x45\x46\x64\x26\x39\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x59\x5e\x7d\x39\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x46\x2a\x72\x36\x58\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x35\x43\x41\x54\x3d\x3e\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x68\x6b\x38\x47\x26\x55\x3f\x43\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x56\x3e\x50\x43\x49\x35\x23\x58\x48\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x44\x47\x41\x74\x6c\x37\x47\x41\x74\x6c\x35\x49\x35\x61\x46\x45\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x4b\x48\x41\x54\x7e\x32\x42\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x44\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x34\x7e\x3f\x41\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x4a\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x46\x29\x7d\x7a\x54\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x45\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x49\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x71\x4e\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x38\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x43\x49\x34\x6d\x47\x49\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3b\x41\x41\x54\x63\x6d\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x38\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x47\x42\x47\x68\x4d\x41\x54\x6c\x76\x47\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x39\x45\x46\x64\x26\x41\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x47\x47\x25\x4f\x25\x46\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x38\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x28\x51\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x6b\x4f\x41\x54\x63\x23\x49\x45\x46\x64\x79\x38\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x37\x41\x54\x63\x73\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x47\x49\x34\x6d\x47\x42\x47\x25\x7a\x65\x36\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x47\x64\x33\x28\x42\x49\x35\x23\x58\x48\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x46\x66\x31\x54\x39\x46\x29\x53\x63\x34\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x46\x29\x3d\x65\x4e\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x48\x61\x49\x4c\x47\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x7b\x44\x41\x55\x51\x4b\x45\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x66\x31\x54\x38\x48\x37\x70\x3d\x43\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x6a\x55\x48\x46\x2a\x50\x68\x38\x46\x29\x7d\x6e\x50\x41\x54\x63\x23\x4a\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x79\x42\x45\x46\x64\x75\x7e\x41\x54\x63\x23\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x45\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x62\x4d\x41\x54\x7d\x25\x40\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x35\x45\x46\x64\x26\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x28\x51\x41\x54\x7e\x42\x45\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x47\x42\x37\x74\x52\x41\x54\x63\x73\x47\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x46\x2a\x68\x74\x41\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x70\x38\x45\x46\x64\x3e\x46\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x45\x45\x46\x64\x26\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x48\x38\x64\x3c\x42\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x47\x42\x71\x71\x39\x49\x58\x45\x6d\x4a\x49\x35\x61\x46\x45\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x42\x68\x77\x4f\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x72\x33\x57\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x68\x4e\x41\x54\x63\x23\x4b\x45\x46\x64\x7b\x37\x41\x54\x25\x7e\x43\x41\x55\x47\x40\x5f\x48\x23\x39\x36\x44\x49\x57\x23\x4f\x46\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x79\x44\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x37\x41\x54\x63\x79\x48\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x42\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x46\x2a\x50\x68\x38\x49\x57\x61\x36\x43\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x49\x35\x52\x39\x44\x48\x5a\x76\x3f\x42\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x68\x28\x52\x41\x54\x63\x70\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x48\x48\x21\x4c\x37\x48\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x37\x47\x25\x4f\x25\x46\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x38\x48\x38\x33\x6e\x37\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x26\x33\x77\x39\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x46\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x7a\x6e\x38\x47\x42\x50\x71\x4f\x41\x55\x48\x35\x41\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x48\x23\x49\x43\x45\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3b\x41\x41\x54\x63\x79\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x41\x45\x46\x64\x79\x39\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x47\x45\x46\x64\x79\x38\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x43\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x68\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x68\x7c\x56\x41\x54\x63\x23\x43\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x35\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x3b\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x47\x49\x56\x3e\x50\x43\x47\x64\x4c\x5f\x44\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x64\x56\x30\x45\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x44\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x47\x42\x37\x7a\x54\x41\x54\x3d\x3e\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x48\x38\x64\x3c\x42\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x39\x45\x46\x64\x5e\x49\x45\x46\x64\x76\x36\x46\x66\x31\x54\x35\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x7a\x28\x43\x46\x29\x25\x71\x53\x41\x54\x3e\x35\x44\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x54\x54\x54\x2d\x46\x29\x25\x6b\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x59\x3f\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x56\x3e\x50\x44\x47\x42\x50\x59\x36\x47\x26\x43\x24\x41\x46\x29\x25\x65\x4f\x41\x54\x63\x6d\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x62\x7c\x75\x36\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x26\x38\x41\x54\x25\x26\x36\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x49\x4c\x47\x46\x2a\x71\x3f\x53\x41\x54\x63\x26\x45\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x48\x21\x76\x28\x39\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x7b\x44\x41\x55\x51\x54\x48\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x25\x2b\x6b\x37\x47\x42\x59\x71\x4e\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x47\x42\x50\x6e\x4e\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x6d\x5f\x43\x47\x25\x5f\x71\x38\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x47\x26\x55\x3f\x43\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7a\x50\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x7b\x44\x41\x55\x51\x42\x42\x41\x54\x63\x76\x45\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x48\x38\x64\x3c\x42\x48\x38\x77\x30\x44\x46\x29\x3d\x56\x4b\x41\x54\x6c\x3e\x42\x41\x54\x63\x79\x37\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x76\x49\x45\x46\x64\x3b\x34\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x66\x31\x54\x33\x47\x25\x7a\x65\x36\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x43\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x47\x42\x50\x6e\x4e\x41\x54\x7e\x4b\x48\x41\x54\x25\x26\x36\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x48\x38\x64\x3c\x42\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x39\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x48\x23\x61\x4f\x47\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x47\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x36\x47\x25\x4f\x25\x38\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x25\x72\x3e\x47\x42\x68\x2b\x53\x41\x54\x6c\x76\x44\x45\x46\x64\x5e\x36\x41\x55\x38\x48\x46\x41\x54\x63\x76\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x46\x2a\x59\x6e\x39\x46\x2a\x72\x39\x59\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x47\x63\x7a\x6e\x38\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x6b\x50\x41\x54\x63\x79\x49\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x48\x38\x33\x6e\x37\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x47\x62\x7c\x75\x36\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x64\x43\x3c\x43\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x45\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x28\x51\x41\x54\x63\x23\x4b\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x6d\x33\x41\x54\x63\x26\x44\x45\x46\x64\x79\x37\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x42\x44\x41\x55\x51\x63\x4b\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x25\x2b\x6b\x37\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x46\x29\x53\x63\x38\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x6b\x4f\x41\x54\x63\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x43\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x47\x26\x43\x24\x41\x46\x2a\x71\x3c\x52\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x43\x48\x21\x4c\x37\x44\x46\x29\x53\x63\x38\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x2b\x74\x39\x46\x2a\x50\x7c\x58\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x46\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x6d\x5f\x43\x46\x2a\x37\x2b\x56\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x6e\x33\x45\x47\x42\x47\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x48\x38\x4c\x7a\x39\x48\x21\x76\x28\x39\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x75\x5e\x42\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x48\x61\x30\x39\x45\x48\x23\x49\x43\x45\x46\x2a\x59\x2b\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x5f\x54\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x48\x23\x30\x30\x43\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x26\x37\x41\x54\x6c\x73\x45\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x3e\x48\x45\x46\x64\x3b\x44\x45\x46\x64\x79\x38\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x49\x45\x46\x64\x2a\x42\x45\x46\x64\x5e\x47\x45\x46\x64\x7b\x48\x45\x46\x64\x26\x37\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x49\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x47\x45\x46\x64\x3e\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x47\x42\x71\x2b\x52\x41\x54\x63\x70\x48\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x46\x45\x46\x64\x26\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x46\x2a\x59\x6e\x39\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x3e\x38\x45\x41\x54\x7e\x45\x46\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x46\x2a\x71\x7a\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x41\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x65\x4d\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x39\x46\x2a\x59\x6e\x39\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7a\x50\x41\x54\x6c\x79\x45\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x46\x2a\x72\x33\x57\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x44\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x44\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x48\x59\x5e\x7d\x41\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x47\x26\x77\x39\x46\x47\x42\x71\x71\x39\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x46\x29\x25\x68\x50\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x47\x42\x69\x30\x58\x41\x54\x63\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x64\x3c\x42\x47\x42\x50\x59\x36\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x76\x32\x45\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x48\x23\x30\x30\x43\x47\x25\x7a\x65\x36\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x43\x46\x29\x53\x63\x36\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x30\x39\x45\x47\x64\x56\x30\x45\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x43\x45\x46\x64\x3e\x48\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x75\x7e\x41\x55\x51\x5a\x4a\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x47\x42\x68\x7c\x57\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x2b\x56\x41\x55\x51\x57\x49\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x47\x43\x33\x3f\x44\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x2b\x52\x41\x54\x6c\x73\x48\x45\x46\x64\x3e\x35\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x48\x38\x64\x3c\x42\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x61\x49\x4c\x47\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x23\x35\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x7d\x59\x37\x46\x2a\x68\x74\x41\x47\x25\x2b\x6b\x37\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x48\x46\x41\x54\x63\x73\x35\x41\x54\x3d\x78\x3f\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x5a\x3f\x33\x44\x46\x2a\x37\x68\x4d\x41\x54\x63\x70\x44\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x43\x33\x3f\x44\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x75\x47\x34\x47\x25\x7a\x65\x36\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x2a\x33\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x26\x4c\x2b\x42\x46\x2a\x68\x28\x51\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x47\x42\x68\x2b\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x34\x6d\x47\x4a\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3b\x41\x41\x54\x26\x35\x45\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x76\x41\x45\x46\x64\x76\x38\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x3b\x64\x49\x47\x42\x59\x2b\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x49\x57\x3b\x55\x47\x47\x42\x59\x74\x4f\x41\x55\x50\x7d\x60\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x2a\x38\x41\x54\x63\x76\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x29\x3d\x4a\x34\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x47\x42\x59\x3c\x55\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x38\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x47\x63\x68\x62\x36\x47\x42\x47\x7a\x53\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x45\x47\x25\x4f\x25\x44\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x74\x50\x41\x55\x48\x4b\x46\x41\x54\x63\x76\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x47\x25\x4f\x25\x37\x46\x66\x75\x47\x34\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x42\x45\x46\x64\x5e\x46\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x61\x39\x46\x46\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x2b\x53\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3e\x42\x41\x55\x51\x4e\x46\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x47\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x39\x36\x44\x49\x56\x3e\x50\x46\x46\x29\x53\x63\x34\x49\x58\x35\x67\x49\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x47\x64\x4c\x5f\x44\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x45\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x6c\x76\x48\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x29\x7d\x24\x55\x41\x54\x75\x79\x35\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x21\x76\x28\x39\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x7d\x59\x37\x48\x61\x52\x52\x48\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x42\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x28\x55\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x55\x47\x40\x5f\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x39\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x73\x49\x45\x46\x64\x3e\x42\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x5f\x55\x41\x54\x6c\x2a\x39\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x43\x74\x38\x46\x2a\x50\x28\x53\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x52\x30\x42\x46\x2a\x59\x2b\x53\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x42\x45\x46\x64\x76\x34\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x6b\x38\x46\x2a\x50\x68\x38\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x48\x23\x30\x30\x43\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x37\x45\x46\x64\x23\x38\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x29\x25\x53\x4b\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x43\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x39\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x28\x52\x41\x54\x63\x23\x48\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x51\x45\x43\x41\x54\x63\x26\x45\x45\x46\x64\x76\x33\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x29\x25\x44\x33\x47\x42\x68\x6b\x38\x47\x25\x2b\x6b\x37\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x45\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x50\x4a\x41\x54\x6c\x2a\x39\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x47\x42\x50\x24\x53\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x43\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x34\x7e\x3f\x41\x47\x42\x37\x6e\x50\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x68\x7c\x56\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x21\x4c\x37\x48\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x46\x2a\x59\x6e\x39\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x35\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6b\x4d\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x37\x7a\x53\x41\x55\x50\x7d\x60\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x46\x45\x46\x64\x76\x39\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x43\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x42\x45\x46\x64\x3b\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x46\x2a\x68\x3f\x54\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x46\x2a\x68\x28\x51\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x74\x52\x41\x54\x7e\x42\x45\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x4e\x73\x4b\x47\x63\x68\x62\x36\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x49\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x47\x42\x68\x6b\x38\x49\x58\x45\x6d\x4a\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x43\x45\x46\x64\x2a\x33\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x42\x48\x37\x70\x3d\x38\x47\x42\x59\x65\x37\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x62\x7c\x75\x36\x49\x35\x49\x33\x43\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x46\x2a\x68\x74\x41\x47\x42\x7a\x77\x41\x48\x39\x30\x49\x47\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x41\x45\x46\x64\x79\x34\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x41\x45\x46\x64\x3e\x43\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x3b\x64\x49\x46\x2a\x72\x30\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x46\x66\x63\x34\x32\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x3d\x4a\x34\x47\x63\x71\x68\x37\x47\x42\x59\x2b\x54\x41\x54\x75\x26\x37\x41\x55\x51\x42\x42\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x42\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x37\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x5a\x30\x58\x41\x54\x6c\x73\x39\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x48\x21\x26\x3c\x41\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x36\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x39\x47\x62\x7c\x75\x37\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x63\x79\x44\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x47\x42\x47\x7a\x53\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x50\x3c\x56\x41\x54\x6c\x73\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x5f\x2b\x43\x49\x57\x52\x30\x42\x46\x2a\x50\x5f\x57\x41\x54\x63\x6d\x37\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x48\x23\x30\x30\x43\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x66\x31\x54\x33\x46\x66\x63\x34\x32\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x5a\x26\x7c\x43\x46\x2a\x50\x2b\x54\x41\x54\x63\x70\x38\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x37\x46\x2a\x37\x56\x36\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x25\x44\x33\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x36\x47\x26\x4c\x2b\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x71\x68\x37\x47\x42\x68\x2b\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x41\x49\x35\x73\x52\x47\x47\x42\x59\x2b\x54\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x59\x6e\x39\x47\x63\x59\x56\x35\x47\x63\x68\x62\x36\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x79\x48\x45\x46\x64\x79\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x55\x51\x54\x48\x41\x55\x38\x42\x44\x41\x54\x54\x54\x2d\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x50\x7d\x60\x46\x2a\x21\x33\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x37\x56\x36\x48\x59\x5e\x7d\x39\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x7b\x44\x41\x54\x25\x7b\x42\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x47\x43\x33\x3f\x44\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x48\x38\x33\x6e\x37\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x42\x45\x46\x64\x5e\x49\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x75\x47\x34\x48\x61\x30\x39\x45\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x47\x74\x50\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x38\x42\x41\x54\x63\x3e\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x48\x21\x4c\x37\x49\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x5f\x7a\x41\x47\x25\x4f\x25\x37\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x45\x45\x41\x54\x25\x2a\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x79\x38\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x49\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x48\x5a\x64\x24\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x26\x39\x41\x54\x63\x79\x37\x41\x54\x6c\x79\x36\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x2a\x5a\x33\x59\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x64\x4c\x5f\x44\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x42\x46\x29\x3d\x4a\x34\x49\x35\x49\x33\x43\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x55\x51\x4e\x46\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x47\x42\x59\x7a\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x49\x35\x6a\x4c\x46\x47\x42\x37\x62\x4c\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x39\x45\x46\x64\x2a\x38\x45\x46\x64\x5e\x49\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x6a\x4c\x46\x47\x42\x68\x2b\x53\x41\x54\x6c\x79\x41\x45\x46\x64\x2a\x33\x41\x54\x26\x38\x46\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x68\x74\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x49\x58\x4e\x73\x4b\x46\x29\x7d\x71\x51\x41\x54\x6c\x76\x35\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x45\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x42\x45\x41\x54\x3d\x5e\x39\x41\x54\x63\x70\x44\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x63\x2b\x74\x39\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x33\x28\x42\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x7e\x42\x41\x54\x6c\x2a\x39\x41\x54\x63\x6d\x33\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x39\x46\x66\x31\x54\x33\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x45\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x46\x2a\x37\x28\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x35\x52\x39\x44\x46\x2a\x59\x7a\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x2b\x55\x41\x54\x6c\x3b\x41\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x45\x6d\x4a\x47\x42\x7a\x77\x41\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x48\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x71\x53\x41\x55\x38\x32\x41\x41\x55\x51\x57\x49\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x43\x48\x37\x70\x3d\x39\x47\x42\x71\x71\x39\x47\x42\x37\x77\x53\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x5f\x57\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x64\x56\x30\x45\x47\x42\x5f\x2b\x43\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x70\x43\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x42\x44\x41\x54\x7d\x7e\x41\x41\x54\x63\x73\x47\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x59\x6e\x39\x46\x2a\x72\x33\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x43\x33\x3f\x44\x46\x29\x53\x63\x34\x47\x63\x2b\x74\x39\x47\x42\x59\x74\x4f\x41\x54\x75\x2a\x38\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x23\x37\x45\x46\x64\x79\x36\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x46\x2a\x37\x6b\x4e\x41\x54\x3d\x3e\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x61\x52\x52\x48\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x26\x33\x77\x39\x46\x2a\x50\x3f\x56\x41\x55\x48\x48\x45\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x44\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x47\x26\x77\x39\x46\x48\x23\x39\x36\x44\x46\x29\x25\x53\x4b\x41\x54\x7d\x25\x40\x49\x35\x73\x52\x47\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x38\x42\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x39\x46\x29\x25\x44\x33\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x48\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x7a\x77\x41\x46\x29\x7d\x6b\x4f\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x47\x42\x37\x4d\x34\x47\x42\x50\x3c\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x4e\x73\x4b\x46\x29\x3d\x68\x4f\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x55\x38\x51\x49\x41\x54\x3d\x3e\x38\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x46\x67\x37\x65\x38\x47\x42\x37\x62\x4c\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x41\x74\x6c\x35\x47\x26\x77\x39\x46\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x42\x45\x41\x55\x51\x54\x48\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x4a\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x7b\x44\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x68\x3c\x53\x41\x54\x63\x3b\x42\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x46\x2a\x50\x5f\x57\x41\x55\x51\x4b\x45\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x23\x44\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x34\x6d\x47\x48\x47\x62\x7c\x75\x45\x46\x66\x31\x54\x41\x46\x66\x31\x54\x32\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x42\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x63\x59\x56\x35\x46\x29\x25\x6e\x52\x41\x54\x6c\x76\x44\x45\x46\x64\x79\x38\x46\x29\x53\x63\x34\x46\x66\x6c\x41\x33\x49\x35\x52\x39\x44\x47\x42\x68\x6b\x38\x49\x35\x61\x46\x45\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x49\x57\x61\x36\x43\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x24\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x63\x5f\x7a\x41\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x48\x37\x70\x3d\x39\x47\x25\x5f\x71\x38\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x38\x44\x41\x54\x26\x35\x45\x41\x54\x6c\x5e\x43\x41\x54\x63\x70\x44\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x35\x47\x25\x7a\x65\x36\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x47\x26\x33\x77\x39\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x48\x21\x3e\x5f\x42\x47\x26\x4c\x2b\x42\x48\x5a\x64\x24\x39\x47\x42\x37\x68\x4e\x41\x55\x48\x4e\x47\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x48\x23\x30\x30\x43\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x55\x51\x4e\x46\x41\x54\x6c\x26\x4b\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x34\x6d\x47\x4a\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x43\x46\x66\x75\x47\x34\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x5f\x2b\x43\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x45\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x46\x29\x3d\x65\x4e\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x2a\x68\x74\x41\x47\x63\x68\x62\x36\x49\x35\x38\x7c\x42\x46\x2a\x72\x33\x57\x41\x54\x6c\x26\x48\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x54\x63\x76\x36\x41\x54\x6c\x79\x45\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x44\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x59\x6e\x39\x49\x35\x3b\x64\x49\x46\x29\x3d\x6e\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x68\x3f\x54\x41\x54\x63\x79\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x6b\x4e\x41\x55\x51\x54\x48\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x37\x45\x46\x64\x76\x37\x46\x66\x31\x54\x38\x48\x21\x4c\x37\x41\x46\x2a\x59\x6e\x39\x46\x2a\x59\x24\x51\x41\x54\x63\x26\x44\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x47\x42\x59\x28\x53\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x46\x2a\x5a\x30\x58\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x29\x53\x63\x43\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x59\x4b\x41\x54\x63\x26\x39\x41\x54\x3e\x35\x44\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x45\x45\x46\x64\x76\x36\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x45\x46\x41\x54\x3d\x7b\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x43\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x45\x45\x41\x54\x26\x32\x44\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x26\x7c\x43\x48\x21\x26\x3c\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x48\x37\x70\x3d\x39\x48\x38\x33\x6e\x37\x46\x29\x3d\x6b\x50\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x59\x56\x35\x48\x38\x33\x6e\x37\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x46\x2a\x68\x74\x41\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x35\x45\x41\x54\x6c\x76\x35\x41\x54\x75\x5e\x42\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x26\x39\x45\x46\x64\x75\x7e\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x44\x48\x59\x5e\x7d\x41\x48\x38\x43\x74\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4a\x45\x46\x64\x23\x39\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x29\x53\x63\x36\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x48\x38\x77\x30\x44\x48\x23\x49\x43\x45\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x46\x29\x25\x6b\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x46\x2a\x68\x3c\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x46\x29\x25\x59\x4d\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x23\x38\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x46\x2a\x37\x6e\x4f\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x35\x38\x7c\x42\x46\x29\x3d\x59\x4c\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x5f\x57\x41\x54\x75\x7b\x43\x41\x54\x26\x35\x45\x41\x54\x75\x3b\x39\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x43\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x3e\x45\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x21\x4c\x62\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x33\x46\x29\x53\x63\x42\x47\x62\x7c\x75\x37\x48\x21\x4c\x37\x41\x46\x2a\x68\x74\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x2a\x33\x41\x54\x63\x26\x45\x45\x46\x64\x76\x42\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x2a\x71\x7c\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x35\x49\x33\x43\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x47\x46\x66\x31\x54\x38\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x2b\x54\x41\x54\x63\x2a\x41\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x4e\x73\x4b\x47\x43\x33\x3f\x44\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x48\x38\x33\x6e\x37\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x48\x38\x6d\x5f\x43\x48\x23\x73\x61\x49\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x47\x63\x59\x56\x35\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x45\x46\x64\x79\x38\x46\x66\x31\x54\x35\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x7a\x28\x43\x46\x29\x25\x71\x53\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x45\x46\x64\x75\x7e\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x47\x64\x33\x28\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x45\x47\x25\x4f\x25\x38\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x4e\x47\x41\x54\x63\x26\x45\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x35\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3c\x52\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x42\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x71\x7a\x42\x47\x26\x77\x39\x46\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x41\x41\x55\x50\x7d\x60\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x35\x6a\x4c\x46\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x36\x46\x66\x31\x54\x42\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x68\x6b\x38\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x47\x42\x68\x77\x4f\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x47\x25\x4f\x25\x37\x49\x35\x73\x52\x47\x47\x42\x71\x2b\x52\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x59\x6e\x39\x48\x21\x76\x28\x39\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x26\x37\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x23\x49\x43\x45\x49\x57\x7b\x61\x48\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x47\x42\x68\x6b\x38\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x6e\x52\x41\x54\x63\x3b\x42\x41\x54\x63\x2a\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x42\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x30\x39\x45\x47\x26\x64\x7c\x44\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x46\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x30\x39\x45\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x45\x45\x46\x64\x23\x36\x45\x46\x64\x3b\x39\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x44\x47\x25\x7a\x65\x36\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x47\x64\x4c\x5f\x44\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x46\x66\x31\x54\x37\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x71\x68\x37\x46\x29\x7d\x24\x55\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x7a\x6e\x38\x46\x2a\x50\x7c\x58\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x43\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x4e\x73\x4b\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x64\x3c\x42\x46\x2a\x47\x71\x4f\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x59\x65\x37\x46\x29\x25\x53\x4b\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x23\x38\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x37\x74\x51\x41\x55\x48\x42\x43\x41\x55\x48\x42\x43\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x47\x42\x50\x59\x36\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x48\x38\x4c\x7a\x39\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x28\x51\x41\x54\x75\x3b\x39\x41\x54\x6c\x73\x48\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x71\x71\x39\x46\x29\x25\x59\x4d\x41\x55\x38\x42\x44\x41\x54\x63\x6d\x38\x45\x46\x64\x3b\x38\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x61\x49\x4c\x47\x46\x2a\x21\x36\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x59\x5e\x7d\x39\x49\x57\x23\x4f\x46\x47\x42\x68\x7c\x57\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x3d\x59\x4c\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x35\x48\x5a\x55\x77\x38\x47\x42\x37\x6e\x50\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3f\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x54\x63\x79\x37\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x34\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x37\x65\x38\x48\x23\x49\x43\x45\x49\x57\x3b\x55\x47\x49\x58\x35\x67\x49\x46\x29\x25\x59\x4d\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x35\x73\x52\x47\x46\x2a\x68\x2b\x52\x41\x54\x63\x79\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x36\x47\x25\x5f\x71\x38\x48\x38\x28\x36\x45\x47\x63\x59\x56\x35\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x38\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x2a\x68\x28\x51\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x71\x71\x39\x49\x57\x23\x4f\x46\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x79\x48\x45\x46\x64\x79\x36\x45\x46\x64\x26\x38\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x48\x37\x70\x3d\x38\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x47\x43\x33\x3f\x44\x48\x61\x49\x4c\x47\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x48\x38\x77\x30\x44\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x26\x32\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x56\x30\x45\x46\x2a\x47\x2b\x55\x41\x54\x63\x70\x42\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x7d\x7e\x41\x41\x54\x63\x2a\x41\x41\x55\x48\x48\x45\x41\x54\x63\x5a\x3b\x47\x42\x37\x6b\x4f\x41\x54\x6c\x79\x43\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x45\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x41\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x47\x42\x5f\x2b\x43\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7a\x50\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x34\x7e\x3f\x41\x46\x2a\x7a\x7c\x54\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x59\x4b\x41\x54\x6c\x3e\x42\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x76\x3f\x42\x47\x42\x7a\x77\x41\x46\x2a\x47\x62\x37\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x48\x38\x64\x3c\x42\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x48\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x35\x47\x41\x74\x6c\x36\x47\x63\x71\x68\x37\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x43\x45\x46\x64\x23\x37\x45\x46\x64\x26\x41\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x2b\x52\x41\x54\x63\x3b\x42\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x46\x2a\x21\x49\x61\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x52\x30\x42\x47\x42\x71\x24\x50\x41\x54\x63\x6d\x45\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x48\x23\x6a\x55\x48\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x29\x53\x63\x38\x46\x29\x53\x63\x35\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x25\x7a\x65\x36\x49\x57\x61\x36\x43\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x49\x56\x3e\x50\x43\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x46\x29\x3d\x65\x4e\x41\x54\x75\x79\x35\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x41\x46\x66\x31\x54\x39\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x74\x4f\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x5f\x2b\x43\x46\x2a\x47\x62\x37\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x38\x45\x46\x64\x3b\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x37\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x46\x2a\x71\x3f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x30\x55\x41\x54\x6c\x76\x46\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3b\x37\x41\x54\x26\x32\x44\x41\x54\x6c\x23\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x46\x2a\x50\x68\x38\x46\x29\x7d\x50\x35\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x46\x2a\x37\x56\x36\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x46\x67\x47\x6b\x39\x46\x29\x25\x71\x53\x41\x54\x75\x26\x37\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x64\x3c\x42\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x44\x46\x2a\x71\x7a\x42\x47\x42\x59\x5f\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x42\x5f\x2b\x43\x46\x66\x31\x54\x33\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x38\x45\x46\x64\x3b\x45\x45\x46\x64\x79\x42\x45\x46\x64\x76\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x3d\x78\x3f\x47\x42\x68\x5f\x56\x41\x54\x63\x3b\x4e\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x34\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x6c\x73\x38\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x45\x44\x41\x54\x6c\x26\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x56\x3e\x50\x47\x48\x59\x5e\x7d\x39\x46\x29\x53\x63\x34\x46\x2a\x59\x6e\x39\x49\x57\x7b\x61\x48\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x49\x45\x46\x64\x2a\x33\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x42\x48\x59\x5e\x7d\x39\x46\x67\x50\x71\x41\x49\x35\x3b\x64\x49\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x47\x42\x68\x77\x4f\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x7b\x6a\x4a\x46\x2a\x7a\x7c\x54\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x79\x38\x46\x66\x31\x54\x35\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x46\x29\x25\x71\x53\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x46\x2a\x72\x33\x57\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x2a\x37\x24\x54\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x55\x28\x41\x47\x25\x2b\x6b\x37\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x35\x48\x5a\x26\x7c\x43\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x39\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x47\x26\x33\x77\x39\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x44\x45\x46\x64\x3e\x49\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x34\x6d\x47\x42\x48\x38\x77\x30\x44\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x38\x45\x46\x64\x2a\x41\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x33\x46\x29\x53\x63\x36\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x3f\x57\x41\x54\x63\x76\x49\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3e\x32\x43\x41\x54\x63\x73\x42\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x48\x37\x70\x3d\x38\x48\x61\x39\x46\x46\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x71\x68\x37\x46\x2a\x59\x5f\x56\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x47\x64\x4c\x5f\x44\x46\x2a\x59\x5f\x56\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x49\x35\x3b\x64\x49\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x39\x45\x46\x64\x3b\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x7e\x32\x42\x41\x54\x75\x79\x35\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x45\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x47\x42\x68\x6b\x38\x49\x58\x45\x6d\x4a\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3b\x38\x41\x55\x48\x4b\x46\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x42\x48\x37\x70\x3d\x42\x46\x66\x31\x54\x33\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x38\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x7c\x56\x41\x54\x63\x3e\x4f\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x6d\x33\x41\x54\x63\x26\x45\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x43\x46\x66\x7d\x59\x37\x46\x2a\x71\x7a\x42\x46\x29\x25\x56\x4c\x41\x54\x63\x73\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x59\x65\x37\x47\x42\x59\x7a\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x49\x35\x61\x46\x45\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x43\x49\x56\x3e\x50\x46\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x49\x35\x49\x33\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x41\x45\x46\x64\x26\x38\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x59\x3c\x54\x41\x54\x6c\x73\x34\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x61\x49\x4c\x47\x46\x2a\x50\x3c\x55\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x29\x25\x44\x33\x46\x2a\x59\x7a\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x45\x47\x25\x4f\x25\x37\x46\x67\x50\x71\x41\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x7e\x42\x41\x54\x63\x76\x49\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x49\x45\x46\x64\x2a\x33\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x74\x53\x41\x54\x63\x5a\x3b\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x44\x45\x46\x64\x26\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x5f\x55\x41\x54\x7e\x42\x45\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x47\x42\x37\x65\x4d\x41\x54\x63\x70\x38\x45\x46\x64\x79\x35\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x48\x38\x28\x36\x45\x48\x21\x3e\x5f\x42\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x43\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x24\x54\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x55\x48\x4b\x46\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x48\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x42\x43\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x26\x55\x3f\x43\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x49\x45\x46\x64\x23\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x7d\x50\x35\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x36\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x5e\x49\x45\x46\x64\x7b\x49\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x71\x5f\x54\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x46\x2a\x47\x74\x50\x41\x54\x63\x26\x39\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x37\x4d\x34\x46\x29\x25\x6b\x51\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x71\x68\x37\x47\x43\x33\x3f\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x75\x79\x35\x41\x55\x51\x42\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x46\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x46\x29\x53\x63\x35\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6b\x4d\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x26\x33\x77\x39\x47\x42\x37\x74\x52\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x47\x53\x35\x49\x58\x45\x6d\x4a\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x41\x45\x46\x64\x79\x36\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x47\x74\x51\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3c\x52\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6b\x50\x41\x54\x6c\x2a\x39\x41\x54\x75\x26\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x39\x45\x46\x64\x2a\x42\x45\x46\x64\x3e\x45\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x71\x68\x37\x46\x2a\x72\x39\x59\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x47\x26\x6e\x33\x45\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x26\x39\x41\x54\x63\x6d\x41\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x46\x2a\x59\x7c\x57\x41\x54\x63\x26\x45\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x42\x45\x46\x64\x79\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x2a\x50\x7a\x51\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x42\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x48\x23\x61\x4f\x47\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x45\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x45\x46\x64\x79\x38\x46\x66\x31\x54\x33\x49\x35\x3b\x64\x49\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3f\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x38\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x47\x49\x34\x6d\x47\x43\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x6e\x52\x41\x55\x38\x48\x46\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x4b\x45\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x66\x7d\x59\x37\x46\x2a\x68\x7c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x4b\x46\x41\x54\x63\x26\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x26\x36\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x35\x73\x52\x47\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x47\x45\x46\x64\x3e\x46\x45\x46\x64\x23\x39\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x42\x46\x66\x7d\x59\x37\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x54\x7e\x42\x45\x41\x55\x51\x42\x42\x41\x55\x51\x42\x42\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x47\x42\x37\x65\x4d\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x30\x39\x45\x46\x29\x25\x59\x4d\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x45\x48\x37\x70\x3d\x38\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x7e\x42\x45\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x59\x3f\x55\x41\x54\x7e\x42\x45\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x46\x2a\x50\x3f\x56\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x29\x25\x44\x33\x46\x2a\x59\x5f\x56\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x59\x6e\x39\x49\x57\x73\x49\x45\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x47\x63\x2b\x74\x39\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x23\x44\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x44\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x71\x51\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x45\x45\x46\x64\x79\x44\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x46\x2a\x59\x3c\x54\x41\x54\x63\x70\x38\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x28\x52\x41\x54\x6c\x73\x39\x45\x46\x64\x2a\x45\x45\x46\x64\x5e\x46\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x44\x46\x66\x7d\x59\x37\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x44\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x45\x6d\x4a\x47\x42\x50\x6b\x4d\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x64\x3c\x42\x47\x42\x50\x74\x50\x41\x55\x50\x7d\x60\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x37\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x49\x34\x7e\x3f\x41\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x64\x43\x3c\x43\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x46\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x45\x48\x21\x4c\x37\x45\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x68\x4e\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x71\x71\x39\x48\x38\x4c\x7a\x39\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x38\x46\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x73\x48\x45\x46\x64\x7b\x37\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x39\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x46\x29\x3d\x71\x52\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x48\x23\x39\x36\x44\x49\x58\x4e\x73\x4b\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x34\x46\x29\x53\x63\x41\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x46\x29\x25\x65\x4f\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x43\x45\x46\x64\x76\x38\x45\x46\x64\x79\x35\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x4a\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x43\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x65\x4e\x41\x54\x25\x72\x3e\x46\x2a\x47\x6e\x4e\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x75\x2a\x38\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x37\x7e\x39\x41\x55\x48\x42\x43\x41\x54\x63\x76\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x46\x29\x53\x63\x34\x46\x67\x37\x65\x38\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x48\x46\x41\x54\x63\x23\x38\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x35\x23\x58\x48\x47\x42\x50\x74\x50\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x47\x25\x7a\x65\x36\x49\x56\x3e\x50\x4a\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x29\x3d\x62\x4d\x41\x55\x47\x40\x5f\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x47\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x24\x51\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x68\x4e\x41\x54\x63\x23\x48\x45\x46\x64\x72\x7d\x41\x54\x7e\x45\x46\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x45\x46\x64\x76\x38\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x38\x7c\x42\x46\x2a\x72\x33\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x59\x6e\x39\x48\x38\x4c\x7a\x39\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x47\x45\x46\x64\x2a\x33\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x46\x2a\x47\x71\x4f\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x35\x6a\x4c\x46\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x44\x45\x46\x64\x3e\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x46\x2a\x50\x68\x38\x46\x2a\x50\x28\x53\x41\x54\x63\x73\x47\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x6a\x55\x48\x49\x57\x61\x36\x43\x49\x58\x35\x67\x49\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x61\x52\x52\x48\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x38\x45\x46\x64\x26\x36\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x6a\x4c\x46\x47\x42\x68\x28\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x25\x26\x36\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x49\x35\x49\x33\x43\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x23\x39\x36\x44\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x39\x45\x46\x64\x76\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x55\x3f\x43\x47\x42\x59\x65\x37\x49\x57\x61\x36\x43\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x45\x45\x41\x55\x48\x54\x49\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x47\x63\x5f\x7a\x41\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x59\x6e\x39\x49\x57\x7b\x61\x48\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x48\x45\x46\x64\x26\x32\x41\x54\x6c\x26\x4a\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x59\x74\x4f\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x4a\x47\x41\x74\x6c\x43\x46\x66\x31\x54\x37\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x71\x68\x37\x47\x42\x37\x6e\x50\x41\x54\x7d\x25\x40\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x45\x47\x62\x7c\x75\x36\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3f\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x46\x66\x25\x4d\x35\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x26\x32\x44\x41\x54\x6c\x79\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x2a\x37\x56\x36\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7a\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x63\x23\x49\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x79\x37\x41\x54\x6c\x26\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x48\x46\x29\x53\x63\x42\x47\x41\x74\x6c\x44\x46\x66\x31\x54\x42\x47\x41\x74\x6c\x35\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x28\x55\x41\x54\x63\x5a\x3b\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x39\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x45\x45\x46\x64\x79\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x47\x42\x71\x24\x50\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x64\x24\x39\x47\x64\x56\x30\x45\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x43\x45\x46\x64\x3e\x46\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x44\x45\x46\x64\x26\x45\x45\x46\x64\x23\x35\x45\x46\x64\x26\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x38\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x7e\x42\x45\x41\x54\x63\x73\x41\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x36\x47\x64\x43\x3c\x43\x47\x42\x37\x59\x4b\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x47\x42\x71\x24\x50\x41\x54\x63\x79\x4b\x45\x46\x64\x26\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x46\x2a\x37\x56\x36\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x46\x45\x46\x64\x3e\x49\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x42\x47\x42\x59\x65\x37\x47\x42\x37\x74\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x46\x66\x31\x54\x33\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x37\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x62\x7c\x75\x44\x48\x59\x5e\x7d\x39\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x23\x36\x41\x54\x26\x32\x44\x41\x54\x63\x76\x43\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3c\x55\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3e\x42\x41\x55\x51\x42\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x48\x59\x5e\x7d\x45\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x4a\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x46\x66\x31\x54\x33\x46\x67\x47\x6b\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x47\x42\x50\x3c\x56\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x47\x42\x68\x6b\x38\x46\x29\x3d\x56\x4b\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x59\x56\x35\x47\x26\x43\x24\x41\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x41\x74\x6c\x36\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x42\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x37\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x44\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x30\x30\x43\x49\x35\x3b\x64\x49\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x47\x64\x56\x30\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x23\x44\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x25\x7a\x65\x36\x46\x2a\x37\x28\x55\x41\x54\x7e\x4b\x48\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x48\x23\x61\x4f\x47\x48\x38\x43\x74\x38\x46\x29\x7d\x7a\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x41\x49\x35\x3b\x64\x49\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x46\x2a\x59\x6e\x39\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x75\x3b\x39\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x48\x46\x66\x31\x54\x41\x46\x66\x31\x54\x41\x49\x34\x6d\x47\x4a\x49\x34\x6d\x47\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x48\x38\x64\x3c\x42\x47\x42\x71\x71\x39\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x45\x45\x46\x64\x79\x35\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x46\x2a\x7a\x28\x43\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x7c\x55\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x41\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x55\x77\x38\x47\x64\x43\x3c\x43\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x44\x45\x46\x64\x23\x36\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x5e\x49\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x5e\x39\x41\x54\x6c\x76\x35\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x48\x45\x46\x64\x23\x42\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x79\x35\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x48\x61\x49\x4c\x47\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x46\x66\x3d\x53\x36\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x62\x7c\x75\x37\x47\x25\x7a\x65\x36\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x42\x45\x41\x54\x63\x70\x38\x45\x46\x64\x26\x44\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x75\x7e\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x63\x26\x48\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x77\x39\x46\x46\x2a\x47\x6e\x4e\x41\x54\x3e\x35\x44\x41\x54\x63\x73\x45\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x46\x29\x53\x63\x35\x47\x42\x2b\x24\x42\x47\x42\x47\x68\x4d\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x42\x46\x2a\x47\x62\x37\x48\x23\x39\x36\x44\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x38\x77\x30\x44\x49\x35\x49\x33\x43\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x63\x70\x43\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x45\x45\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x74\x50\x41\x55\x50\x7d\x60\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x35\x45\x46\x64\x2a\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x46\x47\x41\x74\x6c\x41\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x63\x23\x47\x45\x46\x64\x2a\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x46\x2a\x37\x56\x36\x46\x2a\x50\x24\x52\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x44\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x6d\x5f\x43\x47\x42\x47\x77\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x47\x42\x47\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x49\x58\x35\x67\x49\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x43\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x61\x39\x46\x46\x47\x42\x47\x65\x4c\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x48\x38\x43\x74\x38\x46\x29\x7d\x62\x4c\x41\x54\x6c\x73\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x46\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x47\x45\x46\x64\x79\x38\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x43\x24\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x3b\x41\x41\x54\x63\x70\x43\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x44\x49\x34\x6d\x47\x42\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x46\x2a\x5a\x30\x58\x41\x55\x50\x7d\x60\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x47\x25\x2b\x6b\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x28\x51\x41\x54\x63\x70\x46\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x29\x25\x44\x33\x48\x23\x52\x49\x46\x48\x5a\x3f\x33\x44\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x63\x4b\x41\x54\x63\x76\x47\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x46\x67\x47\x6b\x39\x46\x2a\x71\x5f\x54\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x47\x25\x7a\x65\x36\x46\x29\x3d\x77\x54\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x23\x38\x45\x46\x64\x79\x36\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x4c\x7a\x39\x47\x42\x47\x6e\x4f\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x55\x50\x7d\x60\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x23\x48\x45\x46\x64\x76\x42\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x38\x46\x66\x31\x54\x42\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x46\x29\x53\x63\x34\x46\x66\x25\x4d\x35\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x48\x61\x49\x4c\x47\x47\x42\x37\x65\x4d\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x46\x29\x25\x71\x53\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x3c\x54\x41\x54\x6c\x76\x41\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x49\x35\x52\x39\x44\x47\x42\x71\x3f\x54\x41\x54\x63\x26\x39\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x3f\x56\x41\x54\x75\x3e\x41\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x45\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x55\x38\x45\x45\x41\x54\x76\x32\x45\x41\x55\x51\x48\x44\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x47\x26\x77\x39\x46\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x35\x43\x41\x54\x63\x6d\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x49\x35\x73\x52\x47\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x41\x45\x46\x64\x26\x42\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x26\x38\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x37\x74\x52\x41\x54\x76\x32\x45\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x23\x45\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x56\x3e\x50\x45\x46\x29\x53\x63\x34\x46\x2a\x59\x6e\x39\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x38\x46\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3c\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x71\x4f\x41\x54\x63\x6d\x47\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x4b\x47\x25\x4f\x25\x38\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x42\x43\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x26\x55\x3f\x43\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x49\x45\x46\x64\x23\x38\x45\x46\x64\x2a\x33\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x44\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x2a\x39\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x47\x25\x7a\x65\x36\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x41\x45\x46\x64\x5e\x41\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x39\x46\x46\x46\x29\x7d\x65\x4d\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x30\x39\x45\x46\x2a\x72\x39\x59\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x47\x26\x64\x7c\x44\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7c\x57\x41\x54\x75\x26\x37\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x34\x46\x66\x31\x54\x35\x46\x29\x53\x63\x39\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x46\x29\x25\x68\x50\x41\x54\x63\x76\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3f\x55\x41\x54\x63\x76\x49\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x77\x52\x41\x55\x51\x57\x49\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x37\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x47\x42\x37\x4d\x34\x46\x29\x7d\x71\x51\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x37\x47\x42\x7a\x77\x41\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x39\x46\x2a\x50\x68\x38\x47\x42\x37\x74\x52\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x48\x21\x4c\x37\x42\x48\x21\x4c\x37\x45\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x71\x68\x37\x46\x2a\x47\x2b\x55\x41\x55\x51\x63\x4b\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x59\x4d\x41\x55\x38\x48\x46\x41\x55\x51\x5a\x4a\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x36\x41\x54\x63\x79\x46\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x59\x5e\x7d\x39\x46\x29\x3d\x4a\x34\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x55\x48\x51\x48\x41\x54\x63\x26\x45\x45\x46\x64\x76\x36\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x33\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x37\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x46\x66\x31\x54\x33\x46\x66\x7d\x59\x37\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x48\x46\x41\x54\x63\x73\x35\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x5e\x36\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x47\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x39\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x71\x52\x41\x55\x48\x35\x41\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x5a\x55\x77\x38\x47\x42\x50\x77\x51\x41\x54\x63\x26\x44\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x24\x52\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x37\x41\x54\x63\x26\x4a\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x44\x49\x56\x3e\x50\x4a\x49\x34\x6d\x47\x4a\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x41\x74\x6c\x44\x48\x21\x4c\x37\x42\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x2a\x50\x68\x38\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x46\x2a\x71\x7a\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x49\x57\x61\x36\x43\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x39\x45\x46\x64\x3e\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x3d\x7e\x42\x41\x54\x63\x26\x39\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x47\x63\x2b\x74\x39\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x49\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x3e\x38\x41\x54\x7e\x45\x46\x41\x54\x26\x35\x45\x41\x54\x7e\x45\x46\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x21\x4c\x37\x42\x47\x26\x43\x24\x41\x46\x2a\x68\x3c\x53\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x7a\x51\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x47\x63\x7a\x6e\x38\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x62\x7c\x75\x37\x47\x25\x5f\x71\x38\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3e\x43\x41\x54\x7d\x5e\x38\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x33\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x48\x38\x28\x36\x45\x46\x2a\x21\x4c\x62\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x47\x41\x74\x6c\x35\x47\x25\x7a\x65\x36\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x55\x38\x32\x41\x41\x54\x63\x70\x39\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x47\x42\x68\x5f\x56\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x75\x26\x37\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x52\x52\x48\x46\x2a\x71\x3c\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x45\x6d\x4a\x47\x64\x33\x28\x42\x48\x39\x30\x49\x47\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x3d\x7e\x42\x41\x54\x25\x72\x3e\x48\x23\x49\x43\x45\x46\x29\x7d\x6e\x50\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x46\x29\x25\x53\x4b\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x36\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x48\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x4c\x2b\x42\x47\x42\x47\x74\x51\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x46\x29\x25\x53\x4b\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x48\x45\x46\x64\x23\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x37\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x46\x2a\x72\x39\x59\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x42\x5f\x2b\x43\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x5e\x39\x41\x55\x38\x32\x41\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x43\x45\x46\x64\x26\x39\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x74\x51\x41\x54\x75\x23\x36\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x69\x30\x57\x41\x54\x7e\x35\x43\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x48\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x46\x29\x25\x44\x33\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x2a\x43\x45\x46\x64\x7b\x47\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x46\x2a\x72\x33\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x25\x2b\x6b\x37\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x25\x4d\x35\x47\x26\x64\x7c\x44\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x68\x6b\x38\x46\x2a\x59\x5f\x56\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x47\x42\x59\x24\x52\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x47\x43\x33\x3f\x44\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x74\x52\x41\x54\x7e\x42\x45\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x64\x3c\x42\x48\x23\x6a\x55\x48\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x7b\x37\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x25\x4f\x25\x38\x48\x37\x70\x3d\x38\x47\x42\x37\x4d\x34\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x43\x45\x46\x64\x2a\x33\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x47\x25\x7a\x65\x36\x46\x2a\x47\x3f\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x35\x61\x46\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x48\x37\x70\x3d\x44\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x28\x54\x41\x54\x63\x3b\x42\x41\x55\x48\x4e\x47\x41\x54\x3e\x42\x46\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x54\x54\x54\x2d\x47\x26\x6e\x33\x45\x46\x2a\x50\x3f\x56\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x47\x42\x47\x77\x52\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x59\x6e\x39\x47\x26\x6e\x33\x45\x46\x29\x25\x53\x4b\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x47\x45\x46\x64\x26\x38\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x7a\x53\x41\x54\x7e\x42\x45\x41\x55\x48\x35\x41\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x71\x71\x39\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x47\x26\x55\x3f\x43\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x68\x24\x51\x41\x54\x63\x70\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x47\x63\x59\x56\x35\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x73\x49\x45\x46\x29\x25\x53\x4b\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x68\x5f\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x47\x42\x47\x53\x35\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x44\x47\x41\x74\x6c\x36\x46\x67\x47\x6b\x39\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x3c\x54\x41\x54\x6c\x76\x39\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x42\x68\x6b\x38\x47\x42\x50\x71\x4f\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x3e\x4a\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x76\x36\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x34\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x37\x65\x38\x47\x42\x68\x6b\x38\x46\x29\x3d\x71\x52\x41\x54\x54\x54\x2d\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x46\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x2a\x33\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x43\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x62\x4d\x41\x55\x48\x51\x48\x41\x54\x63\x26\x45\x45\x46\x64\x76\x41\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x36\x46\x29\x53\x63\x41\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x37\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x63\x68\x62\x36\x48\x23\x61\x4f\x47\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x45\x47\x25\x4f\x25\x38\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x46\x61\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x47\x63\x71\x68\x37\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x44\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x6e\x50\x41\x54\x63\x76\x47\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x47\x63\x68\x62\x36\x47\x26\x64\x7c\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x37\x77\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x54\x75\x79\x35\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x46\x67\x37\x65\x38\x46\x29\x25\x44\x33\x46\x29\x3d\x6b\x50\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x3b\x42\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x48\x21\x4c\x37\x41\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x3e\x38\x41\x54\x7e\x48\x47\x41\x54\x26\x32\x44\x41\x54\x3e\x35\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x46\x2a\x59\x5f\x56\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x72\x39\x59\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x48\x21\x3e\x5f\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x26\x37\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x28\x55\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x7d\x7a\x54\x41\x54\x6c\x66\x3c\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x48\x37\x70\x3d\x39\x48\x37\x70\x3d\x38\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x45\x46\x64\x79\x38\x46\x29\x53\x63\x34\x48\x21\x26\x3c\x41\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x24\x51\x41\x54\x6c\x23\x42\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x5e\x43\x41\x55\x51\x42\x42\x41\x54\x63\x23\x4a\x45\x46\x64\x26\x36\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x29\x25\x44\x33\x48\x21\x3e\x5f\x42\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x3b\x55\x47\x48\x38\x4c\x7a\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x26\x6e\x33\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x3d\x78\x3f\x47\x42\x68\x5f\x56\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x45\x46\x41\x54\x63\x3b\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x45\x45\x46\x64\x26\x44\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x64\x7c\x44\x48\x21\x76\x28\x39\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x47\x25\x4f\x25\x38\x49\x56\x3e\x50\x43\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x47\x74\x50\x41\x54\x63\x3b\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x74\x50\x41\x55\x48\x42\x43\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x35\x47\x41\x74\x6c\x35\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x37\x4d\x34\x46\x29\x3d\x68\x4f\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x47\x42\x7a\x77\x41\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x50\x24\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x37\x7e\x39\x41\x55\x48\x54\x49\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x46\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x48\x45\x46\x64\x23\x35\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x47\x42\x59\x24\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x33\x28\x42\x49\x35\x52\x39\x44\x46\x2a\x59\x3c\x54\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x36\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x46\x29\x53\x63\x34\x47\x63\x68\x62\x36\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x71\x68\x37\x47\x42\x68\x7a\x50\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x39\x47\x63\x7a\x6e\x38\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x43\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x25\x5f\x71\x38\x47\x63\x7a\x6e\x38\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x46\x45\x46\x64\x79\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x47\x71\x4f\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x25\x56\x4c\x41\x54\x26\x32\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x45\x45\x46\x64\x79\x38\x46\x66\x31\x54\x33\x47\x63\x2b\x74\x39\x47\x42\x59\x65\x37\x47\x26\x43\x24\x41\x46\x2a\x47\x3c\x56\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x43\x49\x35\x6a\x4c\x46\x47\x42\x59\x7a\x51\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x47\x62\x37\x48\x23\x39\x36\x44\x48\x38\x4c\x7a\x39\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x46\x45\x46\x64\x3b\x45\x45\x46\x64\x23\x39\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x48\x37\x70\x3d\x47\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x38\x46\x66\x31\x54\x34\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x7a\x52\x41\x54\x63\x76\x41\x45\x46\x64\x79\x44\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x2a\x47\x71\x4f\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x50\x28\x54\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x48\x21\x4c\x37\x45\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x56\x30\x45\x47\x42\x37\x6e\x50\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x39\x46\x66\x63\x34\x32\x46\x29\x25\x6e\x52\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x4a\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x4c\x7a\x39\x46\x2a\x71\x7a\x42\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x2a\x37\x24\x54\x41\x54\x75\x7b\x43\x41\x54\x63\x79\x37\x41\x54\x63\x79\x48\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x48\x38\x43\x74\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x41\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x71\x51\x41\x54\x63\x3e\x43\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x53\x4b\x41\x55\x38\x48\x46\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x49\x57\x52\x30\x42\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x46\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x47\x26\x6e\x33\x45\x47\x42\x50\x59\x36\x46\x66\x31\x54\x33\x46\x2a\x7a\x28\x43\x47\x42\x59\x3c\x55\x41\x54\x7e\x35\x43\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x48\x61\x39\x46\x46\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x41\x46\x29\x53\x63\x41\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x38\x45\x46\x64\x79\x38\x46\x66\x31\x54\x33\x49\x56\x3e\x50\x43\x48\x38\x33\x6e\x37\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x41\x45\x46\x64\x2a\x41\x45\x46\x64\x79\x34\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x59\x6e\x39\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x38\x7c\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x38\x45\x46\x64\x2a\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x34\x7e\x3f\x41\x46\x2a\x59\x5f\x56\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x43\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x26\x38\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x2b\x54\x41\x54\x63\x70\x43\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x38\x48\x21\x4c\x37\x42\x47\x26\x6e\x33\x45\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x26\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x47\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x68\x28\x51\x41\x54\x6c\x26\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x52\x39\x44\x46\x2a\x21\x4c\x62\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x41\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x68\x4f\x41\x55\x48\x4b\x46\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x35\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x47\x42\x50\x3c\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x45\x45\x46\x64\x3e\x46\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x35\x48\x38\x6d\x5f\x43\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x45\x45\x46\x64\x2a\x42\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x59\x65\x37\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x49\x35\x73\x52\x47\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x39\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x36\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x42\x45\x46\x64\x23\x36\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x46\x2a\x5a\x33\x59\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x47\x42\x71\x24\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x66\x31\x54\x41\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x74\x52\x41\x54\x7e\x42\x45\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x57\x7b\x61\x48\x48\x23\x30\x30\x43\x47\x63\x68\x62\x36\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x48\x45\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x47\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x2a\x33\x41\x54\x63\x26\x45\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x38\x47\x26\x4c\x2b\x42\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x44\x48\x21\x4c\x37\x45\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x71\x68\x37\x47\x42\x37\x6e\x50\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x36\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x46\x29\x25\x6b\x51\x41\x54\x63\x79\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x69\x30\x58\x41\x54\x63\x76\x47\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x46\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x36\x47\x25\x4f\x25\x37\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x68\x3c\x53\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x34\x6d\x47\x49\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x59\x4b\x41\x54\x63\x2a\x41\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x59\x4d\x41\x54\x75\x23\x36\x41\x55\x48\x42\x43\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x7b\x6a\x4a\x47\x42\x37\x74\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x74\x50\x41\x55\x51\x54\x48\x41\x55\x37\x2d\x5e\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6b\x4d\x41\x54\x25\x3b\x38\x41\x55\x38\x35\x42\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x37\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x34\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x5a\x30\x58\x41\x54\x63\x23\x4a\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x6d\x33\x41\x54\x6c\x26\x4a\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x71\x71\x39\x46\x2a\x37\x56\x36\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x57\x52\x30\x42\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x36\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x26\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x46\x66\x75\x47\x34\x48\x38\x55\x28\x41\x49\x35\x23\x58\x48\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x2a\x39\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x46\x2a\x5a\x30\x58\x41\x54\x3d\x5e\x39\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x39\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x34\x6d\x47\x48\x48\x21\x4c\x37\x49\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x45\x49\x56\x3e\x50\x43\x48\x38\x4c\x7a\x39\x47\x42\x59\x2b\x54\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x33\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7a\x50\x41\x54\x63\x73\x49\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x47\x42\x71\x71\x39\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x39\x45\x46\x64\x76\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x46\x2a\x7a\x28\x43\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x47\x77\x51\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6e\x4e\x41\x55\x48\x48\x45\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x66\x6c\x41\x33\x48\x61\x49\x4c\x47\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x28\x55\x41\x54\x25\x3b\x38\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x48\x23\x39\x36\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x46\x2a\x37\x56\x36\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x37\x47\x26\x33\x77\x39\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3e\x43\x41\x54\x7d\x7b\x39\x41\x54\x26\x35\x45\x41\x54\x63\x73\x44\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x72\x39\x59\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x66\x31\x54\x33\x49\x58\x35\x67\x49\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x45\x46\x41\x54\x63\x6d\x37\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x46\x66\x31\x54\x33\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x25\x5e\x41\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x46\x2a\x68\x74\x41\x46\x2a\x59\x3c\x54\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x64\x7c\x44\x48\x23\x61\x4f\x47\x48\x38\x6d\x5f\x43\x46\x2a\x50\x5f\x57\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x41\x45\x46\x64\x26\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x62\x7c\x75\x45\x47\x41\x74\x6c\x39\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x49\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x71\x68\x37\x47\x42\x50\x6e\x4e\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x43\x74\x38\x47\x42\x59\x3f\x56\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x5f\x54\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x49\x57\x23\x4f\x46\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x23\x48\x45\x46\x64\x76\x39\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x39\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x63\x2b\x74\x39\x46\x2a\x72\x30\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x49\x35\x38\x7c\x42\x46\x2a\x59\x7a\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x7b\x4a\x45\x46\x64\x3e\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x38\x7c\x42\x47\x42\x68\x5f\x56\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x35\x43\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x44\x45\x46\x64\x3e\x46\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x36\x46\x66\x75\x47\x34\x49\x57\x61\x36\x43\x48\x23\x39\x36\x44\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x41\x41\x55\x51\x45\x43\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x36\x41\x54\x63\x79\x49\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x4a\x48\x21\x4c\x37\x48\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x25\x72\x3e\x47\x42\x68\x3c\x54\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x39\x47\x26\x77\x39\x46\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x26\x32\x44\x41\x54\x75\x79\x35\x41\x55\x51\x4b\x45\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x37\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x3d\x56\x4b\x41\x54\x75\x23\x36\x41\x54\x63\x6d\x45\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x30\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x73\x52\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x46\x66\x6c\x41\x33\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x3d\x4a\x34\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x36\x47\x26\x4c\x2b\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x71\x51\x41\x54\x63\x26\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x68\x6b\x38\x46\x2a\x72\x39\x59\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x4e\x73\x4b\x46\x29\x3d\x65\x4e\x41\x54\x7e\x48\x47\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x4c\x7a\x39\x47\x63\x59\x56\x35\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x47\x42\x5f\x2b\x43\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x46\x45\x46\x64\x5e\x36\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x47\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x48\x37\x70\x3d\x38\x47\x63\x68\x62\x36\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x46\x2a\x59\x6e\x39\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3b\x41\x41\x55\x51\x42\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x35\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x3e\x43\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x25\x5f\x71\x38\x46\x2a\x72\x39\x59\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x46\x66\x31\x54\x33\x47\x63\x7a\x6e\x38\x47\x42\x47\x6b\x4e\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x25\x59\x4d\x41\x54\x63\x73\x43\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x46\x47\x41\x74\x6c\x35\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x46\x45\x46\x64\x3e\x47\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x59\x3c\x54\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x28\x52\x41\x54\x63\x23\x48\x45\x46\x64\x5e\x49\x45\x46\x64\x23\x38\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x48\x61\x30\x39\x45\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x74\x50\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x28\x55\x41\x55\x48\x4e\x47\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x46\x29\x3d\x68\x4f\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x71\x68\x37\x48\x23\x52\x49\x46\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x5a\x6d\x2b\x41\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x34\x47\x25\x2b\x6b\x37\x46\x29\x7d\x62\x4c\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x34\x46\x66\x31\x54\x34\x47\x25\x4f\x25\x46\x46\x29\x53\x63\x34\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x77\x39\x46\x46\x2a\x47\x71\x4f\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x3f\x33\x44\x47\x42\x47\x28\x55\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x59\x65\x37\x47\x26\x6e\x33\x45\x49\x57\x6a\x43\x44\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x2a\x37\x24\x54\x41\x54\x25\x3e\x39\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x59\x56\x35\x47\x63\x59\x56\x35\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x49\x57\x7b\x61\x48\x48\x38\x77\x30\x44\x48\x5a\x26\x7c\x43\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x6c\x73\x45\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x7a\x77\x41\x46\x29\x25\x50\x4a\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x45\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x45\x45\x46\x64\x79\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x46\x2a\x5a\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x47\x41\x74\x6c\x35\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x6e\x50\x41\x54\x63\x26\x39\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x57\x7b\x61\x48\x48\x23\x52\x49\x46\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x47\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x71\x53\x41\x54\x6c\x23\x37\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x7b\x44\x41\x54\x25\x2a\x37\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x7a\x51\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x55\x47\x40\x5f\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x35\x45\x46\x64\x3e\x44\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x48\x37\x70\x3d\x46\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x38\x7c\x42\x46\x2a\x47\x28\x54\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x38\x45\x46\x64\x7b\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x49\x35\x6a\x4c\x46\x46\x2a\x37\x6e\x4f\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x5a\x26\x7c\x43\x47\x42\x59\x24\x52\x41\x54\x6c\x26\x48\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x55\x48\x45\x44\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x3e\x44\x45\x46\x64\x3e\x35\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x7b\x6a\x4a\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x72\x7d\x41\x54\x63\x23\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x42\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x38\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x51\x48\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x23\x38\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x48\x61\x39\x46\x46\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x47\x64\x56\x30\x45\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x43\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x41\x47\x26\x64\x7c\x44\x49\x35\x23\x58\x48\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x39\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x24\x54\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x47\x40\x5f\x47\x42\x37\x59\x4b\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x46\x2a\x37\x56\x36\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x35\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x57\x52\x30\x42\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x44\x45\x46\x64\x3e\x46\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x2a\x50\x28\x53\x41\x54\x6c\x26\x38\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x59\x4d\x41\x55\x38\x38\x43\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x49\x35\x73\x52\x47\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x42\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x39\x46\x46\x49\x57\x7b\x61\x48\x48\x5a\x64\x24\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x43\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x39\x46\x46\x46\x29\x3d\x65\x4e\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x46\x48\x21\x4c\x37\x47\x47\x25\x4f\x25\x38\x48\x37\x70\x3d\x38\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x74\x50\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x54\x7d\x25\x40\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x42\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x2a\x47\x62\x37\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x43\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x5f\x57\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x33\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x34\x49\x58\x35\x67\x49\x49\x35\x6a\x4c\x46\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x37\x48\x37\x70\x3d\x47\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x24\x52\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x59\x4b\x41\x54\x63\x76\x49\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x7b\x41\x41\x54\x25\x26\x36\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x44\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x46\x2a\x50\x24\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x6a\x4c\x46\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x47\x47\x62\x7c\x75\x41\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x43\x3c\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x43\x48\x59\x5e\x7d\x39\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x6d\x5f\x43\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x46\x2a\x47\x77\x51\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x25\x7a\x65\x36\x48\x38\x43\x74\x38\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x42\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x47\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x47\x42\x47\x68\x4d\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3f\x56\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x74\x53\x41\x55\x38\x42\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x39\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x39\x46\x29\x25\x44\x33\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x37\x47\x25\x4f\x25\x38\x49\x56\x3e\x50\x43\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3c\x55\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x46\x29\x7d\x50\x35\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x47\x47\x25\x4f\x25\x43\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x47\x64\x43\x3c\x43\x47\x42\x50\x59\x36\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x26\x42\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x32\x41\x41\x54\x63\x3b\x4b\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x47\x26\x77\x39\x46\x46\x2a\x72\x46\x61\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x61\x36\x43\x46\x2a\x59\x24\x51\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x26\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x62\x7c\x75\x45\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x56\x3e\x50\x43\x49\x57\x7b\x61\x48\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x4b\x48\x41\x54\x63\x6d\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x47\x25\x4f\x25\x41\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x42\x68\x77\x4f\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x46\x2a\x7a\x7c\x54\x41\x54\x63\x79\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x46\x2a\x47\x62\x37\x46\x2a\x37\x77\x52\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x26\x45\x45\x46\x64\x26\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x55\x48\x48\x45\x41\x54\x63\x79\x47\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x71\x52\x41\x54\x63\x76\x36\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x43\x46\x66\x31\x54\x33\x47\x63\x5f\x7a\x41\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x50\x45\x46\x64\x26\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x46\x2a\x47\x62\x37\x46\x2a\x47\x74\x50\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x48\x37\x70\x3d\x47\x48\x59\x5e\x7d\x39\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x4c\x7a\x39\x46\x2a\x47\x71\x4f\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x37\x7a\x53\x41\x54\x3d\x78\x3f\x46\x2a\x68\x2b\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x39\x45\x46\x64\x26\x36\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x46\x29\x7d\x50\x35\x47\x42\x71\x2b\x52\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x35\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x42\x69\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x47\x42\x71\x28\x51\x41\x54\x63\x2a\x47\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x45\x44\x41\x54\x63\x26\x44\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x45\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x49\x43\x45\x46\x2a\x47\x62\x37\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x50\x7d\x60\x47\x42\x37\x62\x4c\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x5e\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x47\x42\x37\x77\x53\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x49\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x42\x46\x29\x53\x63\x36\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x71\x7a\x42\x48\x5a\x6d\x2b\x41\x48\x5a\x26\x7c\x43\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x47\x26\x77\x39\x46\x47\x42\x68\x3f\x55\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x54\x7d\x25\x40\x46\x2a\x68\x3c\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x39\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x39\x46\x66\x31\x54\x34\x47\x26\x55\x3f\x43\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x41\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x4b\x45\x46\x64\x23\x45\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x46\x2a\x7a\x28\x43\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x44\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x47\x42\x5f\x2b\x43\x46\x29\x7d\x62\x4c\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x35\x46\x29\x53\x63\x34\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x47\x63\x7a\x6e\x38\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x45\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x36\x59\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x39\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x36\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x37\x47\x64\x43\x3c\x43\x46\x29\x7d\x65\x4d\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x6d\x2b\x41\x48\x23\x49\x43\x45\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x5e\x45\x45\x46\x64\x79\x36\x46\x66\x31\x54\x34\x46\x29\x3d\x4a\x34\x47\x42\x71\x71\x39\x48\x37\x70\x3d\x39\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6b\x4f\x41\x54\x63\x26\x45\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x77\x50\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x2a\x39\x41\x54\x63\x79\x37\x41\x54\x63\x76\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x41\x41\x55\x51\x42\x42\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x76\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x28\x55\x41\x55\x51\x63\x4b\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x46\x2a\x68\x74\x41\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7c\x57\x41\x54\x6c\x76\x44\x45\x46\x64\x79\x38\x45\x46\x64\x7b\x42\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x47\x25\x7a\x65\x36\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x44\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x44\x49\x34\x6d\x47\x43\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x47\x26\x6e\x33\x45\x48\x23\x52\x49\x46\x48\x5a\x55\x77\x38\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x38\x46\x41\x54\x63\x76\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x3c\x53\x41\x54\x63\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x2b\x56\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x36\x47\x43\x33\x3f\x44\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x44\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x47\x42\x71\x71\x39\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x38\x33\x6e\x37\x46\x2a\x50\x3c\x55\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x35\x49\x33\x43\x46\x2a\x59\x7a\x50\x41\x54\x76\x32\x45\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x37\x41\x55\x51\x5a\x4a\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x46\x2a\x68\x5f\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x68\x62\x36\x46\x2a\x59\x6e\x39\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x43\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x4c\x7a\x39\x47\x42\x47\x77\x52\x41\x54\x7d\x7e\x41\x41\x54\x26\x35\x45\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x64\x56\x30\x45\x48\x23\x6a\x55\x48\x48\x38\x6d\x5f\x43\x47\x42\x50\x3c\x56\x41\x54\x63\x70\x39\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x25\x4f\x25\x45\x47\x25\x4f\x25\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x63\x5f\x7a\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x42\x5f\x2b\x43\x49\x35\x73\x52\x47\x47\x42\x50\x6e\x4e\x41\x54\x6c\x79\x42\x45\x46\x64\x7b\x49\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x44\x47\x41\x74\x6c\x35\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x47\x45\x46\x64\x79\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x59\x3f\x55\x41\x54\x63\x3b\x42\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x43\x74\x38\x46\x2a\x50\x3c\x55\x41\x54\x7e\x4b\x48\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4b\x45\x46\x64\x23\x37\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x47\x42\x59\x65\x37\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x38\x46\x66\x6c\x41\x33\x46\x2a\x47\x62\x37\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x47\x26\x6e\x33\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x48\x45\x46\x64\x76\x37\x46\x66\x31\x54\x42\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x38\x45\x46\x64\x26\x36\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x47\x6b\x4e\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x5f\x57\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3b\x41\x41\x54\x63\x76\x36\x41\x54\x63\x26\x4a\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x45\x47\x62\x7c\x75\x43\x46\x66\x31\x54\x42\x46\x66\x31\x54\x41\x46\x66\x31\x54\x41\x49\x34\x6d\x47\x42\x46\x66\x63\x34\x32\x47\x42\x59\x74\x4f\x41\x54\x6c\x76\x43\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x55\x48\x48\x45\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x47\x42\x47\x53\x35\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x71\x4f\x41\x54\x63\x70\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x77\x52\x41\x55\x38\x38\x43\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x23\x49\x43\x45\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x48\x38\x55\x28\x41\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x44\x45\x46\x64\x76\x38\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x45\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x48\x38\x77\x30\x44\x46\x2a\x71\x7a\x42\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x48\x38\x6d\x5f\x43\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x4b\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x36\x47\x26\x33\x77\x39\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x49\x45\x46\x64\x23\x41\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x47\x42\x59\x65\x37\x47\x42\x68\x2b\x53\x41\x54\x63\x6d\x41\x45\x46\x64\x2a\x47\x45\x46\x64\x3e\x43\x45\x46\x64\x76\x34\x46\x29\x53\x63\x39\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x48\x45\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x39\x48\x37\x70\x3d\x38\x46\x29\x3d\x4a\x34\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x42\x45\x46\x64\x76\x35\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x43\x33\x3f\x44\x47\x63\x71\x68\x37\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x46\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x55\x77\x38\x46\x29\x3d\x77\x54\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x68\x62\x36\x48\x38\x33\x6e\x37\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6e\x4e\x41\x55\x48\x48\x45\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x35\x46\x66\x31\x54\x33\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x62\x4d\x41\x54\x7d\x25\x40\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x38\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x49\x45\x46\x64\x26\x44\x45\x46\x64\x3e\x45\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x36\x46\x66\x75\x47\x34\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x45\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x42\x47\x63\x5f\x7a\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x46\x67\x59\x77\x42\x46\x2a\x59\x6e\x39\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x29\x7d\x24\x55\x41\x54\x25\x3b\x38\x41\x54\x63\x70\x41\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x66\x3d\x53\x36\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x71\x28\x51\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x7b\x44\x41\x55\x48\x42\x43\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x42\x46\x29\x53\x63\x38\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x68\x74\x41\x49\x57\x6a\x43\x44\x48\x21\x4c\x37\x42\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x46\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x7a\x6e\x38\x47\x42\x50\x6b\x4d\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x47\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x6a\x4c\x46\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x48\x21\x4c\x37\x45\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x4c\x5f\x44\x47\x42\x37\x65\x4d\x41\x55\x38\x4e\x48\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x57\x7b\x61\x48\x47\x42\x5f\x2b\x43\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x79\x42\x45\x46\x64\x75\x7e\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x44\x47\x62\x7c\x75\x36\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x37\x4d\x34\x47\x25\x5f\x71\x38\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x42\x48\x37\x70\x3d\x38\x48\x21\x3e\x5f\x42\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x39\x46\x46\x47\x63\x7a\x6e\x38\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x70\x38\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x26\x45\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x48\x61\x49\x4c\x47\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x42\x46\x2a\x37\x56\x36\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x35\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x42\x47\x42\x59\x65\x37\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x3c\x54\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x7a\x6e\x38\x46\x2a\x71\x7c\x55\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x3c\x54\x41\x54\x75\x3b\x39\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x42\x49\x56\x3e\x50\x47\x48\x21\x4c\x37\x41\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x4c\x7a\x39\x47\x42\x47\x77\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x64\x3c\x42\x47\x42\x47\x28\x55\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x48\x38\x43\x74\x38\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x46\x45\x46\x64\x79\x36\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x55\x77\x38\x47\x42\x37\x7a\x54\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x47\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x55\x38\x4b\x47\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x45\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x7b\x44\x41\x55\x51\x54\x48\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x4a\x48\x37\x70\x3d\x39\x46\x2a\x71\x7a\x42\x46\x2a\x37\x6e\x4f\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x47\x26\x6e\x33\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x48\x61\x39\x46\x46\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x7a\x6e\x38\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x35\x47\x63\x2b\x74\x39\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x41\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x64\x24\x39\x47\x64\x43\x3c\x43\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x70\x38\x45\x46\x64\x79\x44\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x64\x7c\x44\x47\x42\x50\x6e\x4e\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x47\x26\x6e\x33\x45\x46\x29\x7d\x6e\x50\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x29\x53\x63\x35\x48\x38\x4c\x7a\x39\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x26\x64\x7c\x44\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x35\x47\x63\x2b\x74\x39\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x33\x6e\x37\x47\x64\x43\x3c\x43\x46\x2a\x47\x3c\x56\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x4b\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x4e\x73\x4b\x47\x42\x47\x24\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x26\x3c\x41\x47\x42\x50\x74\x50\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x37\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x39\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x45\x45\x46\x64\x79\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x46\x2a\x68\x28\x51\x41\x54\x75\x79\x35\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x50\x28\x53\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x37\x56\x36\x47\x42\x68\x3f\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x34\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x61\x4f\x47\x46\x2a\x37\x56\x36\x47\x42\x71\x71\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x48\x38\x33\x6e\x37\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x23\x44\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x44\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x38\x45\x46\x64\x26\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x2a\x7a\x7c\x54\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3c\x52\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x54\x75\x79\x35\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x39\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x26\x38\x41\x54\x26\x35\x45\x41\x54\x7e\x35\x43\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x35\x73\x52\x47\x47\x42\x47\x68\x4d\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x49\x57\x7b\x61\x48\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x35\x43\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x73\x35\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x26\x37\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x4b\x48\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x46\x45\x46\x64\x79\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x48\x21\x4c\x37\x42\x46\x66\x75\x47\x34\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x38\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x46\x29\x25\x6b\x51\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x48\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x6e\x52\x41\x54\x7e\x45\x46\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x76\x48\x45\x46\x64\x23\x44\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x37\x7a\x54\x41\x55\x38\x42\x44\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x66\x31\x54\x34\x48\x38\x43\x74\x38\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x61\x49\x4c\x47\x46\x2a\x21\x39\x58\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x35\x49\x33\x43\x47\x42\x71\x24\x50\x41\x54\x63\x2a\x41\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x44\x45\x46\x64\x3e\x46\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x5e\x36\x41\x54\x3d\x7e\x42\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x47\x42\x71\x5f\x55\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x74\x50\x41\x55\x51\x57\x49\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x36\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x46\x2a\x47\x62\x37\x49\x34\x6d\x47\x42\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x7b\x44\x41\x54\x25\x26\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x26\x6e\x33\x45\x47\x42\x68\x6b\x38\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x38\x64\x3c\x42\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x48\x37\x70\x3d\x38\x48\x5a\x55\x77\x38\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x4b\x48\x41\x54\x7e\x32\x42\x41\x55\x48\x35\x41\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x48\x44\x41\x54\x63\x6d\x37\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x49\x45\x46\x64\x76\x33\x46\x66\x31\x54\x35\x46\x66\x31\x54\x35\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x68\x4f\x41\x54\x6c\x66\x3c\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x38\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x35\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x28\x51\x41\x54\x6c\x73\x39\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x45\x44\x41\x54\x6c\x26\x45\x45\x46\x64\x26\x36\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x48\x23\x39\x36\x44\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x73\x49\x45\x49\x58\x4e\x73\x4b\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x61\x49\x4c\x47\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x49\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x46\x29\x3d\x4a\x34\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x29\x7d\x7a\x54\x41\x54\x75\x7b\x43\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x2a\x68\x74\x41\x47\x63\x68\x62\x36\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x34\x46\x66\x31\x54\x39\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x36\x41\x54\x6c\x2a\x44\x45\x46\x64\x2a\x44\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x29\x25\x44\x33\x48\x23\x30\x30\x43\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x48\x38\x43\x74\x38\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x47\x42\x68\x28\x52\x41\x55\x38\x4b\x47\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x41\x49\x56\x3e\x50\x43\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x71\x52\x41\x54\x25\x72\x3e\x46\x2a\x59\x7a\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x49\x35\x52\x39\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x46\x2a\x21\x30\x55\x41\x55\x38\x42\x44\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x47\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x55\x38\x4b\x47\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x51\x47\x41\x54\x3e\x32\x43\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x46\x2a\x59\x3c\x54\x41\x54\x63\x73\x49\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x43\x74\x38\x47\x42\x59\x65\x37\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x28\x55\x41\x54\x25\x3b\x38\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x48\x23\x61\x4f\x47\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x47\x26\x77\x39\x46\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x62\x7c\x75\x37\x47\x26\x4c\x2b\x42\x47\x43\x33\x3f\x44\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x3e\x38\x45\x41\x54\x6c\x7b\x44\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x4b\x45\x41\x54\x63\x6d\x39\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x3c\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x36\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x47\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x47\x64\x56\x30\x45\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x45\x46\x29\x53\x63\x41\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x34\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x68\x4f\x41\x54\x63\x23\x4c\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x23\x39\x36\x44\x47\x26\x6e\x33\x45\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x5a\x4a\x41\x54\x63\x79\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x30\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x36\x46\x66\x31\x54\x35\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x38\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x35\x41\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x23\x38\x45\x46\x64\x79\x38\x46\x66\x31\x54\x33\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x32\x41\x41\x54\x63\x3e\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x3f\x56\x41\x54\x75\x3b\x39\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x23\x45\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x48\x23\x39\x36\x44\x48\x38\x6d\x5f\x43\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x48\x5a\x26\x7c\x43\x46\x2a\x59\x7a\x50\x41\x54\x6c\x2a\x48\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x49\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x35\x46\x66\x6c\x41\x33\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6e\x4e\x41\x54\x63\x70\x47\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x23\x36\x41\x54\x25\x3b\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x47\x42\x50\x59\x36\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x49\x58\x4e\x73\x4b\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x46\x66\x31\x54\x34\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x55\x38\x4b\x47\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x45\x43\x41\x54\x3d\x3e\x38\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x69\x30\x58\x41\x54\x63\x79\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x6b\x4e\x41\x55\x51\x57\x49\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x37\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x47\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x4c\x2b\x42\x47\x42\x47\x6b\x4e\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6e\x51\x41\x54\x6c\x5e\x43\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x45\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x39\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x38\x45\x46\x64\x79\x39\x45\x46\x64\x79\x35\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x46\x29\x53\x63\x34\x49\x57\x3b\x55\x47\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x55\x38\x32\x41\x41\x55\x51\x57\x49\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x48\x48\x59\x5e\x7d\x39\x47\x64\x56\x30\x45\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x65\x4d\x41\x54\x63\x26\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x52\x52\x48\x46\x2a\x7a\x7c\x54\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x26\x55\x3f\x43\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x7e\x32\x42\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x49\x45\x46\x64\x26\x46\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x37\x48\x59\x5e\x7d\x39\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x41\x45\x46\x64\x79\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x52\x49\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x47\x42\x71\x3f\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x36\x46\x66\x31\x54\x41\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x28\x54\x41\x54\x7e\x38\x44\x41\x54\x3d\x7e\x42\x41\x54\x63\x26\x39\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x48\x44\x41\x54\x3d\x7e\x42\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x47\x42\x68\x7c\x57\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x41\x46\x2a\x59\x6e\x39\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x50\x59\x36\x46\x2a\x59\x2b\x53\x41\x54\x63\x76\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x55\x51\x4b\x45\x41\x54\x63\x76\x4a\x45\x46\x64\x23\x36\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x2a\x39\x41\x54\x26\x38\x46\x41\x55\x48\x45\x44\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x47\x63\x7a\x6e\x38\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x2a\x39\x41\x54\x63\x70\x38\x45\x46\x64\x23\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x46\x2a\x59\x3c\x54\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x75\x26\x37\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x71\x71\x39\x46\x2a\x72\x39\x59\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x63\x2b\x74\x39\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x28\x51\x41\x54\x63\x70\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x48\x61\x39\x46\x46\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x35\x3b\x64\x49\x48\x38\x43\x74\x38\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x23\x39\x36\x44\x46\x2a\x21\x4c\x62\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x46\x29\x25\x53\x4b\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x47\x25\x2b\x6b\x37\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x42\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x5a\x30\x58\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x2a\x5a\x33\x59\x41\x54\x63\x26\x4c\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x6d\x33\x41\x54\x63\x26\x47\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x38\x46\x66\x7d\x59\x37\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x45\x45\x41\x54\x63\x76\x36\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x23\x58\x48\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x25\x56\x4c\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x47\x64\x56\x30\x45\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x44\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x59\x2b\x53\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x52\x30\x42\x46\x2a\x59\x7a\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x43\x45\x46\x64\x2a\x45\x45\x46\x64\x7b\x46\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x26\x46\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x36\x46\x66\x6c\x41\x33\x46\x2a\x47\x71\x4f\x41\x54\x26\x38\x46\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x48\x21\x3e\x5f\x42\x46\x2a\x59\x28\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x63\x71\x68\x37\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x46\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x43\x3c\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x70\x44\x45\x46\x64\x5e\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x59\x5e\x7d\x47\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x47\x42\x59\x2b\x54\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x36\x47\x64\x33\x28\x42\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x47\x41\x74\x6c\x38\x48\x37\x70\x3d\x39\x47\x26\x77\x39\x46\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7a\x50\x41\x54\x63\x76\x41\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x26\x32\x44\x41\x55\x38\x4e\x48\x41\x54\x3d\x3e\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x29\x53\x63\x41\x46\x29\x53\x63\x42\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x68\x74\x41\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x28\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x41\x45\x46\x64\x26\x43\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x49\x33\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x43\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x57\x61\x36\x43\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x5a\x6d\x2b\x41\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x44\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x43\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x7a\x28\x43\x48\x38\x3f\x43\x46\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x41\x41\x55\x51\x42\x42\x41\x54\x6c\x5e\x43\x41\x54\x63\x79\x43\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x48\x45\x46\x64\x2a\x33\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x46\x2a\x68\x74\x41\x46\x29\x7d\x6e\x50\x41\x54\x63\x73\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x47\x25\x4f\x25\x37\x48\x61\x30\x39\x45\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x71\x68\x37\x47\x42\x71\x28\x51\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x59\x5e\x7d\x41\x47\x63\x2b\x74\x39\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x43\x74\x38\x47\x63\x71\x68\x37\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x3e\x38\x45\x41\x54\x7e\x45\x46\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x54\x63\x79\x37\x41\x54\x3d\x5e\x39\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x46\x45\x46\x64\x23\x31\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x41\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x25\x5f\x71\x38\x49\x34\x6d\x47\x42\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x2a\x39\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x68\x3f\x54\x41\x54\x6c\x2a\x39\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x47\x42\x37\x71\x51\x41\x54\x26\x32\x44\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x48\x38\x28\x36\x45\x48\x23\x52\x49\x46\x49\x34\x7e\x3f\x41\x49\x57\x6a\x43\x44\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x42\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x48\x45\x46\x64\x75\x7e\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x25\x4f\x25\x38\x46\x29\x53\x63\x34\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x37\x4d\x34\x46\x29\x3d\x68\x4f\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x48\x23\x61\x4f\x47\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x46\x66\x63\x34\x32\x46\x2a\x71\x3c\x52\x41\x54\x6c\x73\x43\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x47\x63\x59\x56\x35\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x7b\x43\x41\x54\x63\x23\x4c\x45\x46\x64\x76\x34\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x48\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x37\x4d\x34\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x49\x35\x52\x39\x44\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x47\x42\x37\x4d\x34\x49\x57\x73\x49\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x47\x45\x46\x64\x76\x36\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x43\x74\x38\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x49\x35\x52\x39\x44\x46\x2a\x68\x2b\x52\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x48\x37\x70\x3d\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x64\x7c\x44\x48\x5a\x26\x7c\x43\x46\x29\x7d\x6b\x4f\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x43\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x33\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x41\x74\x6c\x35\x47\x26\x6e\x33\x45\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x2a\x41\x41\x54\x63\x6d\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x29\x7d\x50\x35\x47\x62\x7c\x75\x36\x47\x26\x64\x7c\x44\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x7a\x6e\x38\x46\x2a\x59\x5f\x56\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x46\x2a\x59\x6e\x39\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7c\x57\x41\x54\x75\x3b\x39\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x71\x71\x39\x48\x5a\x6d\x2b\x41\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x35\x45\x41\x54\x6c\x76\x49\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3c\x53\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x7a\x53\x41\x55\x51\x5a\x4a\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x23\x37\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x49\x47\x62\x7c\x75\x36\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x43\x45\x46\x64\x3e\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x47\x42\x71\x2b\x52\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x46\x2a\x5a\x33\x59\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x56\x3e\x50\x4a\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x28\x53\x41\x54\x6c\x3e\x42\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x76\x3f\x42\x47\x63\x59\x56\x35\x46\x29\x3d\x59\x4c\x41\x54\x63\x6d\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x46\x2a\x71\x7a\x42\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x46\x45\x46\x64\x79\x34\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x49\x34\x6d\x47\x42\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x73\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x46\x2a\x68\x7c\x56\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x46\x2a\x5a\x30\x58\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x36\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x37\x47\x26\x77\x39\x46\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x55\x38\x32\x41\x41\x54\x3e\x38\x45\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x36\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x56\x30\x45\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x44\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x47\x25\x4f\x25\x46\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x71\x52\x41\x54\x63\x73\x35\x41\x54\x63\x76\x48\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x23\x38\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x4b\x48\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x5f\x57\x41\x54\x26\x32\x44\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x44\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x6e\x52\x41\x55\x38\x42\x44\x41\x54\x25\x2a\x37\x41\x54\x6c\x2a\x39\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x49\x35\x6a\x4c\x46\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x45\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x49\x4c\x47\x46\x29\x3d\x56\x4b\x41\x55\x51\x48\x44\x41\x54\x63\x76\x44\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x63\x68\x62\x36\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x71\x24\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x47\x42\x59\x77\x50\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x47\x49\x56\x3e\x50\x43\x48\x21\x26\x3c\x41\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3b\x42\x41\x54\x26\x35\x45\x41\x54\x6c\x76\x35\x41\x54\x63\x6d\x42\x45\x46\x64\x26\x32\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x49\x35\x38\x7c\x42\x47\x42\x71\x28\x51\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x35\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x30\x39\x45\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x48\x23\x73\x61\x49\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x48\x61\x39\x46\x46\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x62\x7c\x75\x37\x48\x38\x43\x74\x38\x47\x25\x5f\x71\x38\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x35\x45\x41\x54\x75\x23\x36\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x48\x54\x49\x41\x54\x3d\x5e\x39\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x46\x2a\x68\x7c\x56\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x48\x59\x5e\x7d\x39\x47\x26\x33\x77\x39\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x25\x4d\x35\x47\x26\x4c\x2b\x42\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x46\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x39\x46\x29\x53\x63\x34\x48\x5a\x64\x24\x39\x46\x2a\x37\x28\x55\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x47\x49\x56\x3e\x50\x45\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x39\x46\x46\x47\x64\x4c\x5f\x44\x47\x42\x71\x28\x51\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x37\x46\x66\x25\x4d\x35\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x38\x46\x41\x54\x63\x76\x4a\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x76\x48\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x74\x50\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x66\x31\x54\x33\x47\x64\x33\x28\x42\x46\x29\x3d\x65\x4e\x41\x54\x3d\x78\x3f\x47\x42\x68\x7a\x50\x41\x54\x63\x3e\x4e\x45\x46\x64\x23\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x34\x7e\x3f\x41\x47\x42\x71\x28\x51\x41\x54\x63\x73\x43\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x47\x26\x55\x3f\x43\x46\x2a\x69\x33\x58\x41\x54\x63\x3e\x4f\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x63\x26\x47\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x38\x46\x67\x47\x6b\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x2a\x39\x41\x54\x63\x5a\x3b\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x4e\x47\x41\x54\x63\x3e\x50\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x44\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x76\x36\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x48\x5a\x64\x24\x39\x46\x2a\x37\x28\x55\x41\x54\x6c\x26\x46\x45\x46\x64\x7b\x37\x41\x54\x6c\x73\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x3f\x56\x41\x54\x63\x70\x45\x45\x46\x64\x2a\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x48\x5a\x3f\x33\x44\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x49\x34\x6d\x47\x48\x47\x25\x4f\x25\x37\x49\x56\x3e\x50\x43\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x77\x50\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x46\x45\x46\x64\x7b\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x49\x35\x38\x7c\x42\x46\x2a\x37\x24\x54\x41\x54\x6c\x73\x38\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x23\x52\x49\x46\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x43\x45\x46\x64\x7b\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x47\x42\x59\x65\x37\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x49\x56\x3e\x50\x49\x49\x34\x6d\x47\x42\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6b\x4d\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x36\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x45\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x29\x53\x63\x37\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x76\x36\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x50\x3c\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x49\x57\x52\x30\x42\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x4b\x47\x25\x4f\x25\x37\x49\x35\x23\x58\x48\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x35\x43\x41\x54\x3e\x35\x44\x41\x55\x48\x4b\x46\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x42\x47\x53\x35\x46\x29\x7d\x68\x4e\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x42\x45\x46\x64\x7b\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x49\x33\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x47\x42\x2b\x24\x42\x47\x42\x50\x6e\x4e\x41\x54\x63\x6d\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x28\x52\x41\x54\x63\x23\x4b\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x6c\x2a\x44\x45\x46\x64\x3b\x39\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x47\x25\x2b\x6b\x37\x46\x2a\x72\x33\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x49\x35\x52\x39\x44\x46\x2a\x37\x7a\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x46\x45\x46\x64\x7b\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x47\x41\x74\x6c\x35\x48\x23\x73\x61\x49\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x7a\x6e\x38\x46\x2a\x59\x2b\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x4c\x5f\x44\x46\x2a\x72\x30\x56\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x37\x56\x36\x47\x42\x71\x71\x39\x47\x26\x4c\x2b\x42\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x23\x47\x45\x46\x64\x79\x41\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x37\x41\x54\x3d\x5e\x39\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x47\x42\x69\x30\x58\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x2b\x56\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x46\x2a\x47\x74\x50\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x47\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x43\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3f\x53\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x45\x45\x46\x64\x79\x34\x46\x66\x31\x54\x39\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x7a\x28\x43\x48\x5a\x55\x77\x38\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x45\x45\x41\x54\x63\x76\x36\x41\x54\x75\x26\x37\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x7c\x57\x41\x54\x63\x79\x44\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x24\x54\x41\x55\x51\x57\x49\x41\x54\x63\x73\x41\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x74\x53\x41\x54\x63\x5a\x3b\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x26\x39\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x47\x64\x4c\x5f\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x25\x7e\x43\x41\x55\x38\x51\x49\x41\x54\x75\x7e\x44\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x48\x21\x4c\x37\x48\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x76\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x25\x5f\x71\x38\x46\x2a\x72\x36\x58\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x49\x34\x6d\x47\x42\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x38\x46\x41\x54\x63\x3e\x43\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x41\x45\x46\x64\x23\x38\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x37\x7a\x54\x41\x54\x75\x79\x35\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x47\x26\x6e\x33\x45\x49\x58\x4e\x73\x4b\x47\x42\x59\x2b\x54\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x55\x50\x7d\x60\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x23\x48\x45\x46\x64\x79\x34\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x41\x45\x46\x64\x79\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x25\x5f\x71\x38\x47\x42\x59\x5f\x57\x41\x54\x6c\x79\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x46\x2a\x37\x56\x36\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x26\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x63\x3e\x43\x41\x54\x6c\x76\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x4c\x62\x41\x54\x63\x70\x46\x45\x46\x64\x79\x37\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x46\x2a\x37\x6e\x4f\x41\x54\x6c\x3b\x41\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x76\x3f\x42\x48\x23\x39\x36\x44\x46\x29\x25\x62\x4e\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x63\x71\x68\x37\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x49\x4c\x47\x49\x58\x4e\x73\x4b\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x55\x48\x38\x42\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x42\x46\x29\x53\x63\x34\x47\x63\x2b\x74\x39\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x46\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x55\x77\x38\x46\x29\x7d\x68\x4e\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x37\x41\x54\x63\x6d\x38\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x2a\x47\x62\x37\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x24\x52\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x43\x45\x46\x64\x79\x39\x46\x29\x53\x63\x36\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x48\x38\x77\x30\x44\x46\x2a\x68\x74\x41\x48\x21\x3e\x5f\x42\x48\x61\x39\x46\x46\x46\x29\x25\x50\x4a\x41\x54\x75\x2a\x38\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x49\x33\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x28\x55\x41\x54\x26\x38\x46\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x2b\x74\x39\x48\x21\x4c\x37\x41\x48\x61\x39\x46\x46\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x2b\x6b\x37\x47\x42\x71\x24\x50\x41\x54\x63\x76\x46\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7a\x50\x41\x54\x63\x73\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x47\x42\x68\x6b\x38\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x5a\x26\x7c\x43\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x4a\x45\x46\x64\x3b\x34\x41\x54\x63\x23\x38\x41\x55\x38\x32\x41\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x48\x61\x39\x46\x46\x46\x2a\x21\x33\x56\x41\x54\x75\x5e\x42\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x46\x29\x7d\x74\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x47\x42\x37\x68\x4e\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x35\x52\x39\x44\x47\x42\x68\x28\x52\x41\x55\x37\x2d\x5e\x47\x42\x47\x24\x54\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x59\x5e\x7d\x45\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x4e\x73\x4b\x46\x2a\x37\x77\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x46\x2a\x47\x74\x50\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x46\x29\x25\x50\x4a\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x25\x2b\x6b\x37\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7c\x57\x41\x54\x63\x76\x45\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x47\x42\x68\x3f\x55\x41\x54\x63\x73\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x28\x52\x41\x54\x63\x23\x47\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x76\x36\x41\x54\x6c\x26\x46\x45\x46\x64\x23\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x47\x42\x7a\x77\x41\x49\x57\x52\x30\x42\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x29\x3d\x74\x53\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x73\x49\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x6e\x52\x41\x54\x63\x26\x39\x41\x54\x7e\x32\x42\x41\x54\x75\x7e\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x59\x5e\x7d\x39\x48\x5a\x55\x77\x38\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x74\x52\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x49\x4c\x47\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x47\x64\x43\x3c\x43\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x75\x7e\x44\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x34\x46\x66\x31\x54\x38\x48\x59\x5e\x7d\x43\x47\x41\x74\x6c\x44\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x24\x54\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x28\x55\x41\x55\x48\x38\x42\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x42\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x76\x36\x41\x54\x6c\x26\x43\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x23\x37\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x42\x48\x38\x4c\x7a\x39\x47\x42\x59\x24\x52\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x46\x2a\x5a\x30\x58\x41\x54\x63\x23\x44\x45\x46\x64\x3e\x48\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x66\x31\x54\x35\x47\x25\x4f\x25\x38\x46\x2a\x68\x74\x41\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x45\x45\x46\x64\x26\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x43\x47\x63\x5f\x7a\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x47\x64\x56\x30\x45\x46\x2a\x50\x68\x38\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x46\x29\x53\x63\x35\x47\x41\x74\x6c\x36\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x25\x5f\x71\x38\x47\x41\x74\x6c\x36\x48\x38\x43\x74\x38\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x71\x71\x39\x46\x2a\x72\x43\x5a\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x67\x37\x65\x38\x47\x63\x7a\x6e\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x73\x42\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x47\x42\x7a\x77\x41\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x35\x3b\x64\x49\x48\x38\x64\x3c\x42\x46\x2a\x37\x2b\x56\x41\x54\x6c\x76\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x54\x63\x5a\x3b\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x36\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x2a\x7a\x28\x43\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x46\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x3f\x56\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x5f\x2b\x43\x46\x29\x25\x44\x33\x46\x2a\x47\x77\x51\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x26\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x59\x5e\x7d\x48\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x42\x48\x38\x33\x6e\x37\x48\x5a\x3f\x33\x44\x47\x42\x37\x71\x51\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x38\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x42\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x3d\x78\x3f\x47\x42\x68\x5f\x56\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x25\x26\x36\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x43\x5a\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6e\x51\x41\x54\x6c\x3b\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x39\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x3b\x41\x41\x54\x63\x6d\x37\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x36\x45\x46\x64\x23\x38\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x55\x3f\x43\x46\x2a\x37\x24\x54\x41\x54\x63\x70\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x66\x31\x54\x33\x47\x42\x5f\x2b\x43\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x44\x45\x46\x64\x76\x33\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x4c\x5f\x44\x46\x2a\x59\x3c\x54\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x68\x7c\x56\x41\x54\x63\x76\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x50\x7d\x60\x46\x2a\x59\x5f\x56\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x68\x74\x41\x46\x2a\x37\x56\x36\x46\x29\x25\x44\x33\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x46\x2a\x50\x3f\x56\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x48\x38\x64\x3c\x42\x49\x35\x52\x39\x44\x46\x2a\x50\x68\x38\x49\x34\x7e\x3f\x41\x47\x42\x59\x5f\x57\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x4a\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x68\x3f\x54\x41\x55\x38\x4e\x48\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x44\x45\x46\x64\x79\x43\x45\x46\x64\x76\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x55\x3f\x43\x46\x2a\x7a\x28\x43\x46\x29\x25\x50\x4a\x41\x54\x76\x32\x45\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x46\x2a\x59\x5f\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x49\x56\x3e\x50\x43\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x39\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x5f\x7a\x41\x47\x25\x4f\x25\x37\x48\x21\x26\x3c\x41\x46\x2a\x7a\x5f\x53\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x35\x49\x33\x43\x48\x23\x39\x36\x44\x48\x5a\x64\x24\x39\x46\x29\x25\x44\x33\x46\x2a\x50\x3c\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x43\x45\x46\x64\x26\x45\x45\x46\x64\x5e\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x36\x46\x29\x3d\x4a\x34\x46\x2a\x72\x43\x5a\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x33\x28\x42\x49\x56\x3e\x50\x43\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x38\x46\x41\x54\x6c\x23\x37\x41\x54\x3e\x45\x47\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x44\x47\x41\x74\x6c\x35\x47\x25\x5f\x71\x38\x47\x42\x47\x77\x52\x41\x55\x47\x40\x5f\x47\x64\x56\x30\x45\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x44\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x36\x41\x54\x63\x26\x48\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x43\x46\x29\x25\x44\x33\x47\x25\x2b\x6b\x37\x48\x5a\x6d\x2b\x41\x49\x35\x3b\x64\x49\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x48\x45\x46\x64\x5e\x45\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x36\x46\x29\x7d\x50\x35\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x4b\x48\x21\x4c\x37\x41\x47\x42\x7a\x77\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x43\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x68\x6b\x38\x47\x42\x68\x7a\x50\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x44\x47\x63\x2b\x74\x39\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x46\x2a\x37\x56\x36\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x3c\x54\x41\x54\x75\x26\x37\x41\x54\x63\x76\x43\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x43\x33\x3f\x44\x48\x5a\x76\x3f\x42\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x7e\x42\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x24\x50\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x68\x4d\x41\x54\x26\x35\x45\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x49\x58\x45\x6d\x4a\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3f\x53\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x52\x52\x48\x47\x26\x77\x39\x46\x47\x63\x71\x68\x37\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x3b\x55\x47\x48\x38\x6d\x5f\x43\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x36\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x26\x45\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x42\x43\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x43\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x69\x30\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x47\x64\x43\x3c\x43\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x73\x39\x45\x46\x64\x7b\x46\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x46\x2a\x72\x39\x59\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x33\x28\x42\x49\x35\x61\x46\x45\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x45\x45\x46\x64\x79\x36\x45\x46\x64\x2a\x37\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x48\x59\x5e\x7d\x41\x47\x26\x64\x7c\x44\x46\x2a\x50\x3c\x55\x41\x55\x51\x45\x43\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x26\x77\x39\x46\x47\x42\x5f\x2b\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x47\x64\x43\x3c\x43\x48\x21\x26\x3c\x41\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x68\x62\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x7e\x42\x41\x54\x63\x76\x45\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x3f\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x7b\x45\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x4c\x7a\x39\x48\x61\x30\x39\x45\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x48\x59\x5e\x7d\x39\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x63\x73\x44\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x48\x23\x39\x36\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x46\x45\x46\x64\x79\x42\x45\x46\x64\x3b\x34\x41\x54\x6c\x2a\x46\x45\x46\x64\x72\x7d\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x34\x46\x66\x31\x54\x39\x47\x62\x7c\x75\x36\x46\x2a\x50\x68\x38\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x5e\x39\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3f\x55\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x6b\x4e\x41\x54\x63\x6d\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x36\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x43\x74\x38\x47\x42\x59\x74\x4f\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x35\x49\x33\x43\x46\x2a\x72\x46\x61\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x34\x6d\x47\x49\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x46\x2a\x47\x62\x37\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x25\x4d\x35\x47\x42\x7a\x77\x41\x48\x61\x49\x4c\x47\x47\x42\x68\x6b\x38\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x41\x47\x25\x4f\x25\x38\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x25\x7e\x43\x41\x54\x63\x23\x47\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x30\x39\x45\x46\x2a\x72\x30\x56\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x64\x56\x30\x45\x47\x42\x7a\x77\x41\x47\x25\x4f\x25\x37\x47\x64\x56\x30\x45\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x42\x45\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x41\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x4e\x73\x4b\x46\x2a\x37\x7a\x53\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x47\x42\x47\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x56\x30\x45\x48\x38\x64\x3c\x42\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x2a\x38\x41\x54\x63\x73\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x63\x68\x62\x36\x47\x43\x33\x3f\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x46\x29\x7d\x50\x35\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x43\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x5a\x3f\x33\x44\x48\x5a\x76\x3f\x42\x48\x61\x39\x46\x46\x46\x29\x25\x6b\x51\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x41\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x35\x46\x29\x3d\x4a\x34\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x29\x7d\x24\x55\x41\x54\x75\x3e\x41\x41\x54\x63\x5a\x3b\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x38\x45\x46\x64\x26\x39\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x69\x30\x58\x41\x54\x6c\x73\x34\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x2a\x50\x24\x52\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x50\x68\x38\x47\x42\x68\x3f\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x3b\x41\x45\x46\x64\x79\x36\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x47\x25\x4f\x25\x37\x47\x64\x33\x28\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x47\x64\x56\x30\x45\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x44\x47\x25\x4f\x25\x37\x46\x67\x47\x6b\x39\x46\x29\x3d\x71\x52\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x3f\x54\x41\x54\x63\x2a\x41\x41\x54\x63\x2a\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x3f\x56\x41\x54\x75\x5e\x42\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x47\x42\x5f\x2b\x43\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x26\x45\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x47\x42\x47\x28\x55\x41\x54\x63\x3e\x43\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x43\x49\x56\x3e\x50\x43\x47\x42\x68\x6b\x38\x49\x35\x7b\x6a\x4a\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x46\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x47\x42\x68\x3c\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x35\x6a\x4c\x46\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x46\x2a\x50\x68\x38\x49\x35\x61\x46\x45\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x7e\x44\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x68\x6b\x38\x48\x38\x4c\x7a\x39\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x47\x25\x4f\x25\x38\x46\x67\x47\x6b\x39\x46\x2a\x47\x28\x54\x41\x54\x76\x32\x45\x41\x54\x63\x26\x39\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x44\x45\x46\x64\x3b\x46\x45\x46\x64\x23\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x69\x30\x58\x41\x54\x7e\x4b\x48\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x46\x2a\x50\x28\x53\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x61\x36\x43\x47\x42\x68\x3c\x54\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x26\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x48\x37\x70\x3d\x47\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3c\x55\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x29\x53\x63\x34\x49\x57\x3b\x55\x47\x47\x42\x68\x2b\x53\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x35\x47\x25\x2b\x6b\x37\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x68\x3c\x54\x41\x54\x6c\x76\x44\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x49\x35\x52\x39\x44\x46\x2a\x21\x33\x56\x41\x54\x7d\x25\x40\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x38\x3f\x43\x46\x46\x29\x7d\x77\x53\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x37\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x48\x61\x39\x46\x46\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x46\x29\x25\x50\x4a\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x46\x2a\x5a\x30\x58\x41\x54\x63\x79\x48\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x24\x54\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x47\x77\x51\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x36\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x46\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x43\x45\x46\x64\x3e\x46\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x46\x2a\x47\x62\x37\x46\x2a\x50\x7c\x58\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x43\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x64\x3c\x42\x46\x2a\x37\x77\x52\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x28\x55\x41\x54\x6c\x66\x3c\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x48\x59\x5e\x7d\x39\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x64\x43\x3c\x43\x46\x29\x25\x62\x4e\x41\x54\x63\x23\x46\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x5a\x26\x7c\x43\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x30\x39\x45\x46\x29\x3d\x77\x54\x41\x54\x63\x73\x49\x45\x46\x64\x76\x37\x45\x46\x64\x23\x39\x45\x46\x64\x3b\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x47\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x7a\x51\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x29\x53\x63\x34\x47\x26\x43\x24\x41\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x26\x39\x41\x54\x63\x6d\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x49\x34\x7e\x3f\x41\x46\x2a\x47\x77\x51\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x41\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x39\x48\x38\x4c\x7a\x39\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x42\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x75\x47\x34\x47\x42\x50\x59\x36\x46\x29\x3d\x59\x4c\x41\x54\x7e\x42\x45\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x51\x47\x41\x54\x63\x6d\x38\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x49\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x49\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x41\x46\x66\x31\x54\x33\x47\x26\x64\x7c\x44\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x3c\x53\x41\x54\x6c\x76\x41\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x41\x48\x38\x33\x6e\x37\x47\x42\x37\x71\x51\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x29\x25\x44\x33\x46\x2a\x59\x7a\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x2a\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x62\x7c\x75\x44\x45\x46\x64\x75\x7e\x41\x54\x6c\x26\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3f\x55\x41\x54\x63\x79\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x74\x50\x41\x55\x51\x5a\x4a\x41\x54\x63\x70\x38\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x42\x44\x41\x54\x25\x3e\x39\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x5f\x57\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x7b\x44\x41\x55\x51\x45\x43\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x43\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x59\x65\x37\x47\x42\x59\x5f\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x49\x56\x3e\x50\x43\x49\x57\x23\x4f\x46\x46\x2a\x21\x4c\x62\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x43\x74\x38\x46\x29\x7d\x68\x4e\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x45\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x47\x42\x71\x24\x50\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x46\x47\x41\x74\x6c\x43\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x74\x52\x41\x54\x63\x26\x39\x41\x55\x51\x42\x42\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x76\x41\x45\x46\x64\x5e\x36\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x47\x63\x2b\x74\x39\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x49\x58\x45\x6d\x4a\x46\x29\x7d\x6e\x50\x41\x54\x6c\x26\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x25\x7b\x42\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x68\x6b\x38\x47\x42\x59\x5f\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x47\x63\x2b\x74\x39\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x68\x28\x52\x41\x54\x63\x70\x42\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x42\x46\x66\x31\x54\x42\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x46\x66\x31\x54\x37\x48\x37\x70\x3d\x39\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x66\x25\x4d\x35\x46\x66\x31\x54\x33\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x46\x29\x3d\x65\x4e\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x47\x42\x71\x71\x39\x47\x63\x7a\x6e\x38\x46\x2a\x47\x77\x51\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x37\x7e\x39\x41\x54\x63\x76\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x35\x48\x21\x4c\x37\x43\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x71\x71\x39\x46\x29\x53\x63\x35\x46\x66\x31\x54\x34\x46\x2a\x7a\x28\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x47\x42\x5f\x2b\x43\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x46\x66\x6c\x41\x33\x47\x41\x74\x6c\x35\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x47\x63\x5f\x7a\x41\x46\x29\x7d\x6e\x50\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x44\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x28\x52\x41\x54\x6c\x73\x44\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x6d\x33\x41\x54\x63\x26\x4b\x45\x46\x64\x23\x42\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x38\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x48\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x46\x66\x31\x54\x33\x46\x67\x47\x6b\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x48\x38\x33\x6e\x37\x47\x42\x37\x68\x4e\x41\x55\x51\x48\x44\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x49\x49\x34\x6d\x47\x48\x48\x21\x4c\x37\x42\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x38\x42\x41\x54\x63\x26\x45\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x47\x26\x55\x3f\x43\x46\x2a\x72\x46\x61\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x64\x56\x30\x45\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x43\x45\x46\x64\x79\x42\x45\x46\x64\x23\x43\x45\x46\x64\x76\x41\x46\x66\x31\x54\x35\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x5a\x26\x7c\x43\x48\x38\x28\x36\x45\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x26\x39\x41\x55\x51\x45\x43\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x7b\x6a\x4a\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x38\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x39\x46\x46\x48\x38\x43\x74\x38\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x46\x45\x46\x64\x3e\x35\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x47\x42\x50\x28\x54\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x44\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x33\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x46\x2a\x50\x3c\x55\x41\x54\x6c\x7b\x44\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x45\x6d\x4a\x48\x23\x30\x30\x43\x48\x23\x6a\x55\x48\x47\x42\x5f\x2b\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x47\x42\x50\x74\x50\x41\x55\x51\x51\x47\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x48\x61\x52\x52\x48\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6e\x4e\x41\x54\x63\x70\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x6e\x4f\x41\x54\x75\x23\x36\x41\x54\x63\x73\x45\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x6c\x73\x34\x41\x54\x6c\x26\x44\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x7d\x59\x37\x48\x61\x52\x52\x48\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x49\x34\x6d\x47\x43\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x48\x45\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x37\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x43\x46\x66\x75\x47\x34\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x75\x26\x37\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x48\x23\x73\x61\x49\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x41\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x46\x66\x75\x47\x34\x47\x26\x33\x77\x39\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x3b\x39\x41\x54\x6c\x73\x45\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x48\x38\x43\x74\x38\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x3e\x38\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x46\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x68\x74\x41\x46\x29\x25\x50\x4a\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x44\x46\x29\x53\x63\x34\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x45\x45\x41\x54\x25\x7b\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x26\x77\x39\x46\x47\x42\x50\x59\x36\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x49\x58\x45\x6d\x4a\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x34\x47\x26\x64\x7c\x44\x46\x29\x3d\x6e\x51\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x39\x45\x46\x64\x2a\x43\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x47\x42\x59\x3f\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x49\x35\x52\x39\x44\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x46\x29\x3d\x77\x54\x41\x54\x75\x79\x35\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x26\x33\x77\x39\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x48\x45\x46\x64\x26\x44\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x46\x2a\x47\x62\x37\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x54\x7e\x42\x45\x41\x54\x63\x70\x46\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x37\x4d\x34\x46\x2a\x72\x36\x58\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x49\x35\x38\x7c\x42\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x42\x45\x46\x64\x79\x35\x45\x46\x64\x76\x35\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x29\x7d\x50\x35\x49\x35\x49\x33\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x26\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x5a\x6d\x2b\x41\x47\x42\x59\x3f\x56\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x47\x42\x71\x3c\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x36\x46\x66\x31\x54\x41\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x2b\x55\x41\x54\x7e\x35\x43\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x76\x3f\x42\x47\x42\x68\x6b\x38\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x79\x42\x45\x46\x64\x5e\x36\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x39\x48\x37\x70\x3d\x43\x46\x66\x31\x54\x33\x47\x42\x47\x53\x35\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x62\x7c\x75\x37\x47\x25\x5f\x71\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x50\x45\x46\x64\x23\x41\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x46\x2a\x37\x56\x36\x46\x2a\x37\x6e\x4f\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x49\x34\x6d\x47\x42\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x77\x52\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x28\x55\x41\x55\x48\x42\x43\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x66\x6c\x41\x33\x46\x2a\x68\x74\x41\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x2a\x37\x7a\x53\x41\x54\x63\x70\x42\x45\x46\x64\x23\x36\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x39\x46\x46\x47\x26\x4c\x2b\x42\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x43\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x44\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x44\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x44\x48\x21\x4c\x37\x41\x47\x26\x4c\x2b\x42\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x26\x45\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x59\x65\x37\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x52\x39\x44\x46\x2a\x21\x4c\x62\x41\x54\x6c\x23\x46\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x70\x39\x45\x46\x64\x23\x38\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x46\x2a\x59\x2b\x53\x41\x54\x63\x79\x44\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x47\x42\x7a\x77\x41\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x26\x32\x44\x41\x54\x6c\x2a\x39\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x38\x48\x39\x30\x49\x47\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x39\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x36\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x43\x33\x3f\x44\x49\x56\x3e\x50\x43\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x38\x45\x46\x64\x79\x36\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x35\x49\x34\x6d\x47\x4a\x49\x34\x6d\x47\x42\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x7e\x45\x46\x41\x54\x25\x3b\x38\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x48\x38\x33\x6e\x37\x46\x2a\x59\x5f\x56\x41\x54\x63\x6d\x46\x45\x46\x64\x26\x45\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x48\x21\x4c\x37\x41\x48\x38\x3f\x43\x46\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x46\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x47\x49\x56\x3e\x50\x43\x47\x25\x7a\x65\x36\x47\x42\x69\x30\x58\x41\x54\x6c\x76\x45\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x66\x31\x54\x33\x47\x26\x6e\x33\x45\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x26\x39\x41\x54\x63\x6d\x37\x45\x46\x64\x23\x45\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x23\x58\x48\x47\x42\x68\x7a\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x42\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x41\x49\x35\x49\x33\x43\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x47\x45\x46\x64\x79\x42\x45\x46\x64\x79\x39\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x67\x37\x65\x38\x48\x61\x30\x39\x45\x48\x38\x3f\x43\x46\x48\x21\x3e\x5f\x42\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x6a\x43\x44\x48\x38\x6d\x5f\x43\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x48\x38\x33\x6e\x37\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x46\x45\x46\x64\x76\x36\x46\x29\x53\x63\x39\x47\x41\x74\x6c\x36\x46\x29\x53\x63\x34\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x46\x29\x3d\x62\x4d\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x48\x61\x30\x39\x45\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4b\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x47\x64\x43\x3c\x43\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x36\x48\x38\x33\x6e\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3b\x42\x41\x54\x26\x38\x46\x41\x54\x76\x32\x45\x41\x54\x75\x2a\x38\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x71\x4f\x41\x54\x7d\x7e\x41\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x71\x68\x37\x48\x23\x30\x30\x43\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x38\x47\x42\x47\x53\x35\x47\x42\x59\x77\x50\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x46\x29\x3d\x68\x4f\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x48\x45\x46\x64\x23\x45\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x47\x47\x41\x74\x6c\x43\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x4a\x45\x46\x64\x79\x44\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x37\x4d\x34\x47\x42\x59\x24\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x43\x33\x3f\x44\x49\x35\x38\x7c\x42\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x65\x4e\x41\x54\x25\x72\x3e\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x26\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x28\x51\x41\x54\x63\x2a\x41\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x47\x42\x37\x6b\x4f\x41\x54\x63\x6d\x47\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x36\x47\x26\x64\x7c\x44\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x76\x33\x46\x66\x31\x54\x41\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x77\x52\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x48\x45\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x36\x49\x34\x6d\x47\x42\x47\x42\x68\x6b\x38\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6b\x4d\x41\x54\x75\x7e\x44\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x29\x3d\x74\x53\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x68\x74\x41\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x58\x4e\x73\x4b\x47\x64\x4c\x5f\x44\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7c\x57\x41\x54\x63\x70\x45\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x34\x6d\x47\x43\x48\x59\x5e\x7d\x45\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x79\x44\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x47\x26\x77\x39\x46\x48\x61\x39\x46\x46\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x2a\x37\x24\x54\x41\x54\x63\x70\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x4c\x2b\x42\x46\x2a\x71\x5f\x54\x41\x54\x63\x6d\x33\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x5a\x3f\x33\x44\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x48\x38\x6d\x5f\x43\x47\x42\x50\x74\x50\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x61\x36\x43\x47\x42\x68\x77\x4f\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x42\x45\x46\x64\x3b\x42\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x62\x7c\x75\x44\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x7a\x51\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x28\x54\x41\x54\x63\x79\x45\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7c\x57\x41\x54\x6c\x76\x41\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x42\x7a\x77\x41\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x43\x45\x46\x64\x23\x35\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x47\x42\x7a\x77\x41\x48\x38\x77\x30\x44\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x63\x26\x39\x41\x55\x51\x45\x43\x41\x54\x63\x3e\x43\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x46\x2a\x68\x2b\x52\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x47\x63\x59\x56\x35\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x46\x29\x53\x63\x37\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x35\x41\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x49\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x30\x57\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x38\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x28\x51\x41\x54\x6c\x73\x43\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x50\x7d\x60\x47\x42\x68\x77\x4f\x41\x54\x7e\x32\x42\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x34\x46\x29\x53\x63\x34\x46\x2a\x37\x56\x36\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x79\x44\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x48\x45\x46\x64\x72\x7d\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x46\x2a\x59\x6e\x39\x46\x29\x25\x44\x33\x48\x61\x49\x4c\x47\x46\x2a\x37\x77\x52\x41\x54\x25\x7e\x43\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x67\x50\x71\x41\x48\x21\x3e\x5f\x42\x48\x38\x28\x36\x45\x46\x2a\x5a\x33\x59\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x41\x49\x35\x7b\x6a\x4a\x47\x42\x37\x65\x4d\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x46\x66\x31\x54\x33\x48\x5a\x64\x24\x39\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x35\x43\x41\x54\x63\x6d\x43\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x4a\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x24\x52\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x73\x52\x47\x46\x2a\x21\x39\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x34\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x71\x52\x41\x54\x54\x54\x2d\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x41\x45\x46\x64\x26\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x6c\x79\x36\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x47\x42\x37\x59\x4b\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x50\x68\x38\x47\x42\x71\x24\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x42\x45\x46\x64\x3b\x39\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x59\x5e\x7d\x39\x47\x62\x7c\x75\x36\x46\x67\x37\x65\x38\x46\x2a\x47\x7a\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x46\x29\x7d\x7a\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x48\x38\x43\x74\x38\x46\x2a\x47\x62\x37\x47\x26\x4c\x2b\x42\x46\x29\x25\x68\x50\x41\x54\x63\x3e\x4a\x45\x46\x64\x26\x46\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x7a\x53\x41\x54\x75\x79\x35\x41\x54\x63\x73\x39\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x26\x38\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x2b\x54\x41\x54\x63\x70\x46\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x2a\x37\x56\x36\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x47\x45\x46\x64\x3b\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x47\x42\x37\x77\x53\x41\x54\x6c\x2a\x46\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x3c\x56\x41\x54\x63\x79\x44\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x26\x35\x45\x41\x54\x63\x73\x43\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x6a\x4c\x46\x46\x2a\x59\x7c\x57\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x44\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x21\x4c\x62\x41\x54\x75\x2a\x38\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x47\x45\x46\x64\x23\x38\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x66\x7d\x59\x37\x48\x23\x61\x4f\x47\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x35\x3b\x64\x49\x46\x29\x25\x50\x4a\x41\x54\x6c\x26\x4a\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x5f\x55\x41\x54\x63\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x6b\x4e\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x47\x64\x43\x3c\x43\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x30\x57\x41\x54\x6c\x26\x4b\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x23\x73\x61\x49\x46\x2a\x47\x62\x37\x46\x2a\x47\x6e\x4e\x41\x54\x6c\x5e\x43\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x47\x46\x66\x31\x54\x41\x46\x66\x31\x54\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x79\x42\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x34\x47\x25\x7a\x65\x36\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x3c\x53\x41\x54\x6c\x73\x47\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x48\x23\x6a\x55\x48\x46\x2a\x21\x39\x58\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x46\x2a\x68\x28\x51\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x34\x6d\x47\x42\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x35\x43\x41\x54\x63\x6d\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x41\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x37\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x43\x46\x66\x31\x54\x33\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x46\x29\x3d\x68\x4f\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x2a\x59\x6e\x39\x47\x43\x33\x3f\x44\x47\x26\x33\x77\x39\x46\x2a\x37\x77\x52\x41\x54\x63\x2a\x4d\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x71\x7c\x55\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x50\x68\x38\x47\x42\x5f\x2b\x43\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x42\x44\x41\x54\x26\x35\x45\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x37\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x4a\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x66\x31\x54\x34\x46\x2a\x7a\x28\x43\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x24\x51\x41\x54\x6c\x76\x47\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x47\x42\x71\x28\x51\x41\x54\x6c\x76\x44\x45\x46\x64\x23\x45\x45\x46\x64\x5e\x46\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x37\x46\x66\x7d\x59\x37\x49\x35\x7b\x6a\x4a\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x43\x49\x34\x6d\x47\x42\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x54\x54\x54\x2d\x47\x42\x50\x71\x4f\x41\x54\x6c\x79\x42\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3e\x32\x43\x41\x54\x63\x73\x45\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x46\x2a\x37\x56\x36\x46\x2a\x59\x3c\x54\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x44\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x42\x45\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x28\x53\x41\x54\x75\x7b\x43\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x47\x26\x6e\x33\x45\x48\x23\x30\x30\x43\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x34\x6d\x47\x42\x46\x66\x63\x34\x32\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x48\x38\x6d\x5f\x43\x47\x42\x47\x28\x55\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x46\x29\x25\x59\x4d\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x47\x26\x33\x77\x39\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x3c\x53\x41\x54\x63\x73\x49\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x48\x23\x52\x49\x46\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x76\x32\x45\x41\x55\x38\x4b\x47\x41\x55\x48\x54\x49\x41\x54\x6c\x26\x46\x45\x46\x64\x7b\x4a\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x48\x61\x30\x39\x45\x47\x64\x56\x30\x45\x46\x29\x7d\x6e\x50\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x35\x23\x58\x48\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x4a\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x46\x2a\x50\x7c\x58\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x55\x28\x41\x46\x29\x7d\x71\x51\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x41\x45\x46\x64\x3e\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x52\x39\x44\x46\x2a\x68\x3f\x54\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x28\x52\x41\x54\x63\x23\x47\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x79\x37\x41\x54\x6c\x26\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x56\x3e\x50\x48\x46\x66\x31\x54\x41\x49\x34\x6d\x47\x4a\x46\x66\x31\x54\x41\x46\x66\x31\x54\x32\x45\x46\x64\x76\x33\x46\x29\x53\x63\x35\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x63\x76\x41\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x70\x38\x45\x46\x64\x26\x44\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x47\x42\x68\x28\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x44\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x35\x43\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x42\x45\x46\x64\x79\x43\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x44\x46\x66\x6c\x41\x33\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3e\x44\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x6e\x33\x45\x46\x2a\x37\x2b\x56\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x3f\x33\x44\x47\x42\x50\x74\x50\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x48\x38\x4c\x7a\x39\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x44\x45\x46\x64\x79\x36\x46\x29\x53\x63\x39\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x42\x44\x41\x54\x75\x26\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x26\x77\x39\x46\x47\x42\x68\x6b\x38\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x43\x46\x67\x37\x65\x38\x49\x58\x35\x67\x49\x46\x2a\x71\x7a\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x70\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x49\x49\x56\x3e\x50\x49\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x52\x49\x46\x46\x2a\x37\x56\x36\x48\x38\x55\x28\x41\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x47\x40\x5f\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x41\x45\x46\x64\x7b\x49\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x29\x7d\x50\x35\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x71\x68\x37\x47\x42\x68\x3f\x55\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x38\x49\x57\x52\x30\x42\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x38\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x25\x5f\x71\x38\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x46\x45\x46\x64\x79\x44\x45\x46\x64\x26\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x46\x2a\x21\x49\x61\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x49\x35\x49\x33\x43\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x48\x46\x29\x53\x63\x34\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x42\x5f\x2b\x43\x47\x26\x33\x77\x39\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x47\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x3f\x56\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x7a\x77\x41\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x46\x2a\x68\x74\x41\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7c\x57\x41\x54\x75\x2a\x38\x41\x54\x63\x76\x41\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x71\x71\x39\x48\x38\x33\x6e\x37\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x35\x45\x41\x54\x63\x76\x45\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3f\x55\x41\x54\x63\x76\x48\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x71\x4f\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x37\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x2a\x71\x7a\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x2a\x4c\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x48\x5a\x64\x24\x39\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x37\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x2b\x74\x39\x47\x42\x37\x74\x52\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x42\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x77\x39\x46\x47\x42\x47\x28\x55\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x6e\x33\x45\x47\x42\x47\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x68\x62\x36\x49\x57\x7b\x61\x48\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x44\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x47\x68\x4d\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x43\x5a\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x54\x6c\x3b\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x39\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x42\x44\x41\x54\x3d\x3b\x37\x41\x54\x63\x70\x39\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x25\x5f\x71\x38\x46\x2a\x7a\x5f\x53\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x50\x77\x50\x41\x54\x6c\x76\x47\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x41\x45\x46\x64\x26\x42\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x46\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x5a\x30\x58\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x29\x53\x63\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x48\x5a\x3f\x33\x44\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x63\x34\x32\x48\x23\x39\x36\x44\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x79\x44\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x79\x44\x45\x46\x64\x26\x32\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x46\x2a\x7a\x28\x43\x47\x26\x55\x3f\x43\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x48\x61\x39\x46\x46\x46\x2a\x72\x43\x5a\x41\x54\x63\x23\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x30\x39\x45\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x28\x36\x45\x46\x29\x3d\x68\x4f\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x55\x38\x51\x49\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x37\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x48\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x36\x46\x66\x6c\x41\x33\x46\x2a\x47\x71\x4f\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x25\x59\x4d\x41\x54\x25\x26\x36\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x62\x7c\x75\x36\x48\x5a\x26\x7c\x43\x46\x2a\x59\x7c\x57\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x48\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x55\x38\x42\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x46\x67\x37\x65\x38\x47\x42\x47\x53\x35\x49\x58\x45\x6d\x4a\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x42\x44\x41\x55\x51\x45\x43\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x42\x47\x63\x71\x68\x37\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x75\x7e\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x47\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x38\x46\x29\x53\x63\x35\x48\x38\x6d\x5f\x43\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7c\x57\x41\x54\x63\x73\x49\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x47\x64\x4c\x5f\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4e\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x47\x45\x46\x64\x79\x41\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x68\x50\x41\x54\x75\x79\x35\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x44\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x24\x52\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x47\x26\x77\x39\x46\x46\x2a\x47\x71\x4f\x41\x54\x63\x70\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x68\x3c\x54\x41\x54\x6c\x76\x42\x45\x46\x64\x3b\x45\x45\x46\x64\x26\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x68\x3c\x53\x41\x54\x6c\x76\x35\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x47\x42\x37\x6e\x50\x41\x54\x3e\x35\x44\x41\x54\x63\x70\x34\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x37\x48\x38\x64\x3c\x42\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x44\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x34\x6d\x47\x43\x46\x2a\x71\x7a\x42\x47\x42\x37\x71\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x33\x28\x42\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x5e\x39\x41\x54\x6c\x26\x38\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x73\x49\x45\x46\x64\x23\x37\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x39\x46\x46\x46\x29\x7d\x6b\x4f\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x3f\x33\x44\x48\x61\x30\x39\x45\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x38\x6d\x5f\x43\x49\x35\x7b\x6a\x4a\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x73\x43\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x23\x36\x41\x54\x3d\x5e\x39\x41\x54\x63\x73\x42\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x63\x2b\x74\x39\x47\x42\x59\x3f\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x49\x35\x73\x52\x47\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x46\x29\x53\x63\x34\x49\x56\x3e\x50\x48\x46\x66\x31\x54\x33\x46\x66\x6c\x41\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x41\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x49\x35\x61\x46\x45\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x71\x24\x50\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x7a\x6e\x38\x47\x42\x59\x2b\x54\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x37\x56\x36\x47\x42\x5f\x2b\x43\x49\x35\x6a\x4c\x46\x46\x2a\x68\x5f\x55\x41\x54\x3d\x3e\x38\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x71\x71\x39\x48\x38\x33\x6e\x37\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x49\x45\x46\x64\x26\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x47\x42\x50\x24\x53\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x5f\x2b\x43\x49\x35\x49\x33\x43\x46\x2a\x59\x3f\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x43\x45\x46\x64\x2a\x44\x45\x46\x64\x26\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x75\x7e\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x46\x2a\x59\x3c\x54\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x47\x25\x5f\x71\x38\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x71\x68\x37\x47\x42\x50\x6e\x4e\x41\x54\x3e\x32\x43\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x36\x47\x26\x43\x24\x41\x46\x2a\x47\x28\x54\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x7c\x54\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x46\x2a\x37\x56\x36\x46\x2a\x37\x2b\x56\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x45\x45\x46\x64\x79\x41\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x46\x2a\x5a\x30\x58\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x25\x4f\x25\x37\x47\x26\x64\x7c\x44\x47\x42\x37\x65\x4d\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x4c\x7a\x39\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x73\x39\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x42\x46\x29\x3d\x4a\x34\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7c\x57\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x48\x39\x30\x49\x47\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x48\x61\x30\x39\x45\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3b\x42\x41\x54\x3e\x38\x45\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x76\x41\x45\x46\x64\x76\x37\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x64\x4c\x5f\x44\x46\x2a\x72\x46\x61\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x46\x29\x53\x63\x34\x47\x26\x64\x7c\x44\x47\x42\x68\x28\x52\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x47\x26\x6e\x33\x45\x47\x26\x4c\x2b\x42\x46\x2a\x50\x3c\x55\x41\x54\x63\x70\x44\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x7a\x53\x41\x54\x75\x23\x36\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x61\x49\x4c\x47\x46\x29\x25\x56\x4c\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x46\x2a\x50\x5f\x57\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x29\x25\x44\x33\x47\x42\x68\x3f\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x43\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x24\x52\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x49\x33\x43\x46\x2a\x21\x39\x58\x41\x54\x6c\x76\x49\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x46\x2a\x37\x28\x55\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x36\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x64\x33\x28\x42\x46\x2a\x59\x7a\x50\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x56\x3e\x50\x4b\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x28\x53\x41\x54\x63\x3e\x43\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x50\x4a\x41\x55\x38\x38\x43\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x7e\x42\x41\x54\x6c\x76\x35\x41\x55\x37\x2d\x5e\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x42\x45\x46\x64\x3b\x34\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x23\x37\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x42\x45\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x38\x46\x66\x31\x54\x33\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x26\x32\x44\x41\x55\x38\x48\x46\x41\x55\x48\x57\x4a\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x44\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x6a\x55\x48\x46\x2a\x47\x62\x37\x47\x64\x43\x3c\x43\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x48\x38\x55\x28\x41\x47\x42\x37\x6e\x50\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x59\x6e\x39\x46\x29\x25\x56\x4c\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x24\x51\x41\x54\x6c\x73\x48\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x47\x63\x68\x62\x36\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x42\x45\x46\x64\x3e\x48\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x41\x74\x6c\x36\x46\x67\x47\x6b\x39\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x38\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x44\x46\x2a\x71\x7a\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x48\x21\x4c\x37\x41\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x35\x45\x41\x54\x63\x26\x39\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x73\x49\x45\x46\x64\x23\x37\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x68\x6b\x38\x47\x42\x68\x2b\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x43\x49\x35\x6a\x4c\x46\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x46\x2a\x71\x7a\x42\x47\x26\x43\x24\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x2a\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x36\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x46\x29\x53\x63\x34\x47\x26\x43\x24\x41\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x2a\x39\x41\x55\x51\x54\x48\x41\x54\x7e\x48\x47\x41\x54\x6c\x76\x44\x45\x46\x64\x23\x45\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x77\x52\x41\x55\x38\x45\x45\x41\x55\x51\x42\x42\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x68\x6b\x38\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x47\x63\x7a\x6e\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x70\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x47\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x45\x49\x34\x6d\x47\x43\x47\x63\x5f\x7a\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x42\x59\x65\x37\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x46\x29\x53\x63\x34\x46\x66\x75\x47\x34\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x25\x26\x36\x41\x54\x6c\x79\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x39\x46\x2a\x37\x56\x36\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x3f\x56\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x24\x52\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x23\x73\x61\x49\x49\x57\x3b\x55\x47\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x42\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x68\x74\x41\x46\x2a\x37\x56\x36\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x49\x58\x35\x67\x49\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x46\x45\x46\x64\x76\x37\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x35\x47\x42\x50\x59\x36\x46\x2a\x37\x74\x51\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x44\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x68\x5f\x55\x41\x54\x63\x6d\x39\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x63\x23\x4b\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x79\x37\x41\x54\x6c\x26\x45\x45\x46\x64\x26\x41\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x34\x6d\x47\x48\x47\x62\x7c\x75\x45\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x46\x29\x53\x63\x38\x47\x25\x4f\x25\x38\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x59\x4b\x41\x54\x63\x76\x4a\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x7b\x41\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x48\x21\x4c\x37\x41\x48\x61\x39\x46\x46\x46\x2a\x68\x3f\x54\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x5f\x57\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6b\x50\x41\x55\x38\x48\x46\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x47\x26\x55\x3f\x43\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x36\x45\x46\x64\x3b\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x47\x6b\x39\x47\x42\x50\x6b\x4d\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x26\x3c\x41\x47\x42\x50\x74\x50\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x44\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x21\x26\x3c\x41\x49\x57\x7b\x61\x48\x48\x5a\x6d\x2b\x41\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x42\x46\x2a\x47\x62\x37\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x71\x24\x50\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x71\x5f\x54\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x41\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x4c\x5f\x44\x46\x2a\x47\x2b\x55\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x37\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x6d\x5f\x43\x47\x42\x50\x74\x50\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x47\x42\x47\x24\x54\x41\x54\x7e\x4b\x48\x41\x54\x6c\x76\x42\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x34\x46\x66\x63\x34\x32\x48\x23\x30\x30\x43\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x46\x2a\x50\x68\x38\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x32\x41\x41\x55\x51\x42\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x41\x45\x46\x64\x79\x44\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x39\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x2b\x55\x41\x54\x63\x79\x45\x45\x46\x64\x23\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x29\x53\x63\x35\x47\x42\x37\x4d\x34\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x3c\x53\x41\x54\x6c\x73\x47\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x42\x68\x6b\x38\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x54\x6c\x2a\x39\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x45\x6d\x4a\x46\x2a\x47\x71\x4f\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x46\x2a\x37\x7a\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x48\x38\x6d\x5f\x43\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x42\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x47\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x46\x2a\x37\x74\x51\x41\x55\x51\x45\x43\x41\x54\x75\x26\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x6d\x5f\x43\x47\x42\x50\x59\x36\x47\x42\x59\x7a\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x28\x36\x45\x46\x29\x3d\x6b\x50\x41\x54\x75\x5e\x42\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x43\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x26\x38\x46\x41\x54\x63\x73\x47\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x46\x2a\x72\x46\x61\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x56\x3e\x50\x43\x49\x58\x35\x67\x49\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x35\x43\x41\x54\x63\x6d\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x47\x62\x37\x47\x25\x4f\x25\x37\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x75\x23\x36\x41\x54\x26\x32\x44\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x47\x42\x59\x65\x37\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x46\x66\x63\x34\x32\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x34\x48\x38\x33\x6e\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x63\x3b\x42\x41\x54\x3e\x42\x46\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x76\x42\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x70\x38\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x73\x35\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x38\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x47\x42\x59\x3f\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x35\x52\x39\x44\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x44\x47\x62\x7c\x75\x36\x49\x34\x6d\x47\x43\x47\x25\x5f\x71\x38\x48\x21\x4c\x37\x42\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x54\x6c\x2a\x39\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x48\x54\x49\x41\x54\x63\x6d\x39\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x42\x45\x46\x64\x2a\x43\x45\x46\x64\x3b\x46\x45\x46\x64\x23\x43\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x41\x47\x42\x47\x53\x35\x47\x42\x68\x2b\x53\x41\x54\x63\x2a\x4c\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x48\x23\x6a\x55\x48\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x38\x43\x74\x38\x46\x2a\x37\x2b\x56\x41\x54\x76\x32\x45\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x42\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x47\x26\x6e\x33\x45\x48\x21\x3e\x5f\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x46\x66\x25\x4d\x35\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x42\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x6d\x5f\x43\x48\x5a\x26\x7c\x43\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x28\x55\x41\x54\x76\x32\x45\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x59\x56\x35\x47\x63\x68\x62\x36\x48\x38\x6d\x5f\x43\x47\x42\x59\x2b\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x43\x49\x35\x6a\x4c\x46\x46\x2a\x21\x4c\x62\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x48\x23\x30\x30\x43\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x4c\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x61\x4f\x47\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x47\x42\x37\x62\x4c\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x47\x45\x46\x64\x2a\x37\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x62\x7c\x75\x35\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x68\x6b\x38\x47\x26\x64\x7c\x44\x46\x2a\x47\x3c\x56\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x37\x49\x34\x7e\x3f\x41\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x41\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x43\x74\x38\x46\x29\x3d\x62\x4d\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x49\x49\x34\x6d\x47\x45\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x43\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6b\x4d\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x54\x63\x5a\x3b\x46\x2a\x50\x3c\x55\x41\x54\x6c\x76\x44\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x26\x35\x45\x41\x54\x63\x73\x45\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x34\x7e\x3f\x41\x47\x42\x68\x3c\x54\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x44\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x32\x41\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x47\x45\x46\x64\x3e\x47\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x46\x2a\x50\x68\x38\x47\x42\x37\x59\x4b\x41\x55\x51\x54\x48\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x64\x3c\x42\x48\x23\x6a\x55\x48\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x47\x26\x33\x77\x39\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x45\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x47\x42\x68\x6b\x38\x48\x38\x55\x28\x41\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x46\x45\x46\x64\x76\x35\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x46\x29\x7d\x71\x51\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x64\x3c\x42\x48\x61\x30\x39\x45\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x38\x55\x28\x41\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x35\x48\x61\x30\x39\x45\x48\x38\x3f\x43\x46\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x46\x45\x46\x64\x3e\x42\x45\x46\x64\x5e\x49\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x47\x74\x50\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x55\x48\x48\x45\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x48\x21\x26\x3c\x41\x46\x29\x25\x6e\x52\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x26\x39\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x71\x71\x39\x46\x29\x7d\x6e\x50\x41\x54\x6c\x2a\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x5a\x26\x7c\x43\x47\x42\x59\x24\x52\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3b\x41\x41\x55\x51\x42\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x48\x21\x4c\x37\x46\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x68\x74\x41\x46\x29\x7d\x50\x35\x48\x38\x6d\x5f\x43\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x47\x42\x59\x2b\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x59\x65\x37\x48\x38\x4c\x7a\x39\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x41\x45\x46\x64\x79\x36\x46\x66\x31\x54\x38\x46\x29\x53\x63\x34\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x76\x46\x45\x46\x64\x23\x36\x45\x46\x64\x26\x36\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x49\x35\x61\x46\x45\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x46\x45\x46\x64\x3e\x43\x45\x46\x64\x23\x39\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x38\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x48\x38\x3f\x43\x46\x48\x23\x6a\x55\x48\x48\x38\x6d\x5f\x43\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x3e\x38\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x76\x47\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x71\x4f\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x42\x47\x62\x7c\x75\x36\x47\x26\x33\x77\x39\x48\x23\x73\x61\x49\x48\x5a\x26\x7c\x43\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3b\x45\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x48\x5a\x55\x77\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x49\x57\x61\x36\x43\x46\x2a\x68\x7c\x56\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x29\x53\x63\x43\x46\x66\x31\x54\x33\x47\x42\x5f\x2b\x43\x46\x29\x3d\x6b\x50\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x45\x45\x46\x64\x3e\x42\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x72\x7d\x41\x55\x51\x63\x4b\x41\x54\x63\x79\x43\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x38\x46\x29\x3d\x4a\x34\x47\x42\x37\x71\x51\x41\x54\x6c\x73\x46\x45\x46\x64\x7b\x46\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x37\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x46\x2a\x59\x6e\x39\x48\x38\x6d\x5f\x43\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3b\x38\x41\x54\x25\x72\x3e\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x79\x41\x45\x46\x64\x76\x35\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x3b\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x28\x51\x41\x54\x6c\x73\x45\x45\x46\x64\x5e\x46\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x3e\x38\x45\x41\x55\x38\x51\x49\x41\x54\x26\x38\x46\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x71\x7a\x42\x46\x2a\x7a\x7c\x54\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x66\x31\x54\x33\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3e\x32\x43\x41\x55\x38\x32\x41\x41\x54\x63\x73\x45\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x38\x46\x66\x31\x54\x39\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x47\x42\x47\x74\x51\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x46\x61\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x64\x56\x30\x45\x49\x35\x38\x7c\x42\x46\x29\x25\x44\x33\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x2a\x38\x41\x54\x63\x23\x48\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x49\x58\x45\x6d\x4a\x47\x42\x7a\x77\x41\x48\x5a\x26\x7c\x43\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x4b\x46\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x49\x34\x6d\x47\x42\x46\x29\x53\x63\x37\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x77\x54\x41\x55\x48\x4e\x47\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x79\x36\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x43\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x46\x2a\x59\x6e\x39\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x3e\x38\x45\x41\x55\x38\x51\x49\x41\x55\x51\x42\x42\x41\x54\x63\x23\x38\x41\x54\x63\x73\x47\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x41\x46\x29\x53\x63\x35\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x59\x4b\x41\x54\x63\x79\x43\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x33\x28\x42\x47\x63\x5f\x7a\x41\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x46\x2a\x68\x74\x41\x48\x38\x6d\x5f\x43\x47\x26\x55\x3f\x43\x46\x2a\x50\x77\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x42\x45\x46\x64\x2a\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x62\x7c\x75\x36\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x46\x61\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x66\x31\x54\x33\x49\x57\x7b\x61\x48\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x45\x46\x41\x54\x63\x70\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x46\x29\x7d\x50\x35\x46\x2a\x69\x33\x58\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x25\x2a\x37\x41\x54\x63\x26\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x48\x38\x64\x3c\x42\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x25\x5f\x71\x38\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x39\x45\x46\x64\x5e\x43\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x47\x42\x68\x7c\x57\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x39\x47\x62\x7c\x75\x37\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x25\x5f\x71\x38\x47\x42\x59\x3f\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x47\x42\x47\x53\x35\x49\x56\x3e\x50\x44\x46\x67\x59\x77\x42\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x2a\x41\x41\x54\x63\x6d\x38\x45\x46\x64\x7b\x42\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x47\x42\x68\x24\x51\x41\x54\x63\x76\x49\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x42\x7a\x77\x41\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x55\x38\x35\x42\x41\x55\x48\x54\x49\x41\x54\x63\x2a\x4c\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x45\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x59\x6e\x39\x49\x57\x61\x36\x43\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x48\x23\x49\x43\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x46\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x46\x66\x3d\x53\x36\x47\x62\x7c\x75\x36\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x47\x63\x7a\x6e\x38\x46\x29\x7d\x50\x35\x46\x2a\x50\x24\x52\x41\x54\x63\x79\x44\x45\x46\x64\x79\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x68\x28\x51\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x47\x42\x71\x5f\x55\x41\x54\x63\x3b\x48\x45\x46\x64\x3e\x48\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x39\x47\x41\x74\x6c\x36\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x47\x26\x6e\x33\x45\x48\x23\x30\x30\x43\x48\x5a\x76\x3f\x42\x46\x29\x7d\x65\x4d\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x49\x57\x52\x30\x42\x47\x42\x59\x28\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x34\x47\x62\x7c\x75\x36\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x4a\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x43\x46\x66\x31\x54\x33\x47\x64\x43\x3c\x43\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x2b\x52\x41\x54\x63\x73\x49\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x41\x45\x46\x64\x5e\x49\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x55\x3f\x43\x48\x61\x30\x39\x45\x46\x29\x3d\x6b\x50\x41\x54\x63\x6d\x33\x41\x54\x7e\x32\x42\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x49\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x43\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x47\x63\x68\x62\x36\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x68\x28\x52\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x56\x30\x45\x46\x2a\x71\x5f\x54\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x46\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x68\x4e\x41\x54\x63\x23\x4c\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x61\x39\x46\x46\x48\x38\x55\x28\x41\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x63\x4b\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x49\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x47\x26\x6e\x33\x45\x48\x61\x30\x39\x45\x47\x42\x50\x59\x36\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x55\x48\x35\x41\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x36\x46\x29\x53\x63\x41\x48\x37\x70\x3d\x38\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x49\x45\x46\x64\x79\x39\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x28\x51\x41\x54\x63\x23\x49\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x41\x46\x66\x31\x54\x38\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x49\x43\x45\x46\x29\x3d\x4a\x34\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x38\x42\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x45\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x68\x4f\x41\x54\x63\x5a\x3b\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x26\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x3f\x54\x41\x54\x6c\x23\x37\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x46\x2a\x21\x49\x61\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x52\x30\x42\x47\x42\x71\x24\x50\x41\x54\x63\x73\x39\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x48\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x41\x45\x46\x64\x3e\x43\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x46\x61\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x2b\x55\x41\x54\x6c\x79\x42\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x41\x45\x46\x64\x26\x43\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x46\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x47\x26\x4c\x2b\x42\x46\x2a\x37\x68\x4d\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x36\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x46\x29\x25\x6b\x51\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x47\x42\x37\x65\x4d\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x34\x6d\x47\x42\x48\x61\x30\x39\x45\x46\x29\x7d\x62\x4c\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x44\x45\x46\x64\x3b\x46\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x26\x45\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x42\x48\x5a\x64\x24\x39\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x38\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x4c\x7a\x39\x46\x2a\x59\x6e\x39\x47\x64\x33\x28\x42\x46\x29\x3d\x71\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x39\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x49\x35\x52\x39\x44\x48\x21\x76\x28\x39\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x35\x38\x7c\x42\x48\x23\x39\x36\x44\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x63\x70\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x48\x23\x61\x4f\x47\x49\x35\x73\x52\x47\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x63\x4b\x41\x54\x63\x79\x44\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x49\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x50\x4a\x41\x54\x63\x26\x39\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x37\x56\x36\x49\x35\x23\x58\x48\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x26\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x35\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x47\x42\x37\x62\x4c\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x37\x56\x36\x46\x2a\x59\x7c\x57\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x43\x45\x46\x64\x3b\x39\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x62\x7c\x75\x45\x46\x66\x31\x54\x33\x47\x42\x47\x53\x35\x47\x42\x59\x3c\x55\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x46\x29\x7d\x7a\x54\x41\x54\x63\x2a\x41\x41\x54\x63\x26\x49\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x21\x4c\x37\x49\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x65\x4e\x41\x54\x7d\x25\x40\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x25\x5f\x71\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x23\x37\x45\x46\x64\x76\x37\x45\x46\x64\x23\x35\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x67\x37\x65\x38\x47\x42\x59\x65\x37\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x42\x49\x56\x3e\x50\x43\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x5f\x57\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x47\x26\x43\x24\x41\x46\x29\x25\x62\x4e\x41\x54\x63\x26\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x49\x56\x3e\x50\x43\x46\x66\x63\x34\x32\x48\x61\x49\x4c\x47\x47\x42\x47\x71\x50\x41\x55\x38\x45\x45\x41\x55\x51\x57\x49\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x42\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x46\x2a\x69\x30\x57\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x35\x3b\x64\x49\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x44\x45\x46\x64\x79\x41\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x46\x2a\x50\x68\x38\x47\x42\x37\x62\x4c\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x37\x48\x37\x70\x3d\x44\x49\x56\x3e\x50\x43\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x24\x54\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x77\x52\x41\x54\x63\x5a\x3b\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x33\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x63\x5f\x7a\x41\x49\x35\x23\x58\x48\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3b\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x69\x30\x58\x41\x54\x63\x2a\x41\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x46\x2a\x47\x24\x53\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x50\x68\x38\x47\x42\x68\x3f\x55\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x3b\x38\x45\x46\x64\x23\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x26\x46\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x36\x46\x66\x31\x54\x33\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x42\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x46\x29\x3d\x74\x53\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x30\x39\x45\x47\x63\x71\x68\x37\x46\x2a\x47\x6e\x4e\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x44\x47\x63\x7a\x6e\x38\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x46\x2a\x37\x56\x36\x47\x25\x5f\x71\x38\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x46\x67\x50\x71\x41\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x43\x47\x62\x7c\x75\x36\x46\x2a\x7a\x28\x43\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x4b\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x29\x53\x63\x37\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x7d\x62\x4c\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x68\x62\x36\x48\x23\x30\x30\x43\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x54\x63\x6d\x33\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x47\x62\x7c\x75\x36\x46\x29\x7d\x50\x35\x47\x64\x43\x3c\x43\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x34\x6d\x47\x42\x46\x66\x75\x47\x34\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x23\x39\x36\x44\x46\x29\x7d\x24\x55\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x46\x29\x25\x50\x4a\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x47\x25\x5f\x71\x38\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x47\x42\x71\x2b\x52\x41\x54\x63\x73\x49\x45\x46\x64\x7b\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x73\x61\x49\x46\x2a\x68\x3c\x53\x41\x55\x37\x2d\x5e\x46\x2a\x59\x2b\x53\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x47\x42\x2b\x24\x42\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x4a\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x49\x35\x73\x52\x47\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x49\x34\x6d\x47\x42\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x64\x43\x3c\x43\x47\x63\x2b\x74\x39\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x44\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x37\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x48\x5a\x55\x77\x38\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x75\x23\x36\x41\x55\x51\x51\x47\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x49\x35\x7b\x6a\x4a\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x47\x26\x4c\x2b\x42\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x29\x25\x44\x33\x46\x29\x7d\x68\x4e\x41\x54\x63\x76\x47\x45\x46\x64\x3b\x48\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x7e\x45\x46\x41\x54\x25\x5e\x41\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x21\x76\x28\x39\x48\x21\x26\x3c\x41\x47\x42\x37\x74\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x46\x29\x3d\x65\x4e\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x42\x49\x58\x4e\x73\x4b\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x41\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x67\x37\x65\x38\x46\x2a\x37\x7a\x53\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x2a\x47\x74\x50\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x68\x62\x36\x47\x26\x77\x39\x46\x46\x2a\x68\x74\x41\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6b\x4d\x41\x54\x25\x3e\x39\x41\x54\x7e\x42\x45\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x41\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x47\x42\x68\x7a\x50\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x63\x71\x68\x37\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x45\x45\x46\x64\x3e\x47\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x46\x2a\x50\x7a\x51\x41\x54\x63\x73\x47\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x52\x49\x46\x46\x2a\x37\x56\x36\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x48\x45\x41\x54\x63\x3e\x4c\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x4b\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x66\x31\x54\x33\x47\x42\x50\x59\x36\x46\x2a\x37\x71\x50\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x44\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x71\x3f\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x47\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x39\x46\x29\x53\x63\x38\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x48\x61\x30\x39\x45\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x56\x3e\x50\x43\x46\x66\x6c\x41\x33\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x23\x49\x43\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x39\x48\x59\x5e\x7d\x39\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x62\x4d\x41\x54\x6c\x66\x3c\x46\x2a\x69\x39\x5a\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x75\x26\x37\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x43\x5a\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x64\x7c\x44\x48\x23\x52\x49\x46\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x7e\x44\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x71\x71\x39\x48\x38\x43\x74\x38\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x26\x38\x46\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x47\x42\x59\x3c\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x46\x66\x31\x54\x36\x48\x59\x5e\x7d\x41\x48\x38\x64\x3c\x42\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7c\x57\x41\x54\x6c\x76\x46\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x49\x35\x52\x39\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x46\x66\x31\x54\x33\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x45\x45\x46\x64\x79\x44\x45\x46\x64\x76\x38\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x38\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x2b\x24\x42\x46\x29\x25\x6b\x51\x41\x54\x6c\x2a\x39\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x4b\x45\x41\x54\x3d\x7e\x42\x41\x54\x6c\x76\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x5e\x43\x45\x46\x64\x79\x34\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x30\x39\x45\x49\x58\x45\x6d\x4a\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x34\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x47\x42\x59\x74\x4f\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x41\x49\x57\x52\x30\x42\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x25\x5f\x71\x38\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x46\x48\x21\x4c\x37\x44\x49\x34\x6d\x47\x42\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x4e\x73\x4b\x47\x42\x47\x24\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x3e\x5f\x42\x46\x2a\x37\x2b\x56\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x68\x62\x36\x49\x58\x45\x6d\x4a\x46\x29\x3d\x65\x4e\x41\x54\x63\x73\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x7a\x28\x43\x48\x37\x70\x3d\x38\x48\x23\x30\x30\x43\x46\x2a\x72\x36\x58\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x23\x73\x61\x49\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x26\x6e\x33\x45\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x47\x42\x50\x59\x36\x48\x23\x39\x36\x44\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x26\x38\x41\x54\x63\x6d\x33\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x37\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x39\x48\x37\x70\x3d\x38\x46\x66\x75\x47\x34\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x48\x45\x46\x64\x23\x31\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x46\x48\x37\x70\x3d\x38\x49\x35\x23\x58\x48\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x39\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x48\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x44\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x26\x7c\x43\x47\x64\x43\x3c\x43\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x75\x7e\x41\x54\x26\x38\x46\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x33\x28\x42\x46\x2a\x5a\x30\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x46\x66\x31\x54\x33\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x65\x4d\x41\x54\x63\x73\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x43\x33\x3f\x44\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7c\x57\x41\x54\x6c\x23\x42\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x47\x42\x59\x3c\x55\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x34\x6d\x47\x48\x47\x62\x7c\x75\x43\x46\x66\x31\x54\x33\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x65\x4d\x41\x54\x7e\x4b\x48\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x4e\x73\x4b\x48\x23\x39\x36\x44\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x46\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x67\x50\x71\x41\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x39\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x30\x39\x45\x46\x29\x25\x59\x4d\x41\x54\x63\x73\x45\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x46\x2a\x37\x56\x36\x47\x42\x68\x28\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x46\x29\x53\x63\x34\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x7e\x48\x47\x41\x54\x6c\x23\x4a\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x47\x45\x46\x64\x3e\x48\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x46\x2a\x50\x68\x38\x46\x2a\x50\x2b\x54\x41\x55\x48\x35\x41\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x57\x7b\x61\x48\x47\x42\x7a\x77\x41\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x49\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x39\x46\x46\x48\x38\x6d\x5f\x43\x46\x29\x25\x68\x50\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x41\x74\x6c\x36\x47\x26\x4c\x2b\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x68\x4e\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x21\x26\x3c\x41\x46\x2a\x72\x33\x57\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x64\x7c\x44\x48\x23\x30\x30\x43\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x7e\x44\x41\x54\x63\x23\x4c\x45\x46\x64\x3e\x35\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x64\x3c\x42\x48\x23\x6a\x55\x48\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x47\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x39\x46\x46\x49\x58\x4e\x73\x4b\x49\x57\x61\x36\x43\x47\x42\x50\x6b\x4d\x41\x54\x25\x3e\x39\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x48\x23\x61\x4f\x47\x46\x29\x7d\x68\x4e\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x3f\x33\x44\x48\x61\x30\x39\x45\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x46\x67\x37\x65\x38\x48\x38\x28\x36\x45\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x63\x70\x43\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x63\x6d\x41\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x42\x59\x65\x37\x48\x21\x4c\x37\x41\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x7e\x42\x41\x54\x6c\x26\x38\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x73\x49\x45\x46\x64\x23\x37\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x68\x4d\x41\x54\x6c\x2a\x39\x41\x55\x51\x48\x44\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x43\x74\x38\x47\x42\x59\x65\x37\x46\x2a\x72\x33\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x77\x30\x44\x46\x29\x3d\x6b\x50\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x63\x7a\x6e\x38\x46\x29\x7d\x77\x53\x41\x54\x63\x73\x44\x45\x46\x64\x26\x44\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x64\x3c\x42\x46\x2a\x47\x71\x4f\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x37\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x47\x42\x50\x59\x36\x49\x58\x4e\x73\x4b\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x26\x37\x41\x54\x63\x76\x4a\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x46\x2a\x59\x6e\x39\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7a\x50\x41\x54\x6c\x23\x42\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x37\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x5f\x55\x41\x54\x63\x3e\x4f\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x42\x43\x41\x54\x63\x26\x47\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x43\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x39\x36\x44\x46\x2a\x50\x68\x38\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x46\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x23\x39\x36\x44\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x48\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x46\x66\x75\x47\x34\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x2a\x38\x41\x54\x6c\x79\x43\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x44\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x62\x7c\x75\x36\x48\x5a\x55\x77\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x39\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x49\x57\x7b\x61\x48\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x36\x46\x66\x31\x54\x33\x46\x66\x31\x54\x33\x48\x5a\x64\x24\x39\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3b\x41\x41\x54\x7d\x7b\x39\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x76\x41\x45\x46\x64\x76\x37\x45\x46\x64\x23\x39\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x71\x5f\x54\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x2a\x47\x74\x50\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x43\x74\x38\x46\x29\x7d\x71\x51\x41\x54\x63\x76\x42\x45\x46\x64\x23\x45\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x71\x50\x41\x55\x38\x4b\x47\x41\x55\x38\x51\x49\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x47\x26\x6e\x33\x45\x46\x2a\x71\x7a\x42\x46\x2a\x68\x5f\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x28\x36\x45\x47\x63\x71\x68\x37\x49\x34\x7e\x3f\x41\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x7e\x44\x41\x54\x63\x23\x49\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x61\x30\x39\x45\x48\x38\x4c\x7a\x39\x47\x41\x74\x6c\x35\x46\x67\x50\x71\x41\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x48\x45\x41\x54\x6c\x73\x39\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x38\x47\x41\x74\x6c\x41\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x68\x4f\x41\x55\x48\x4b\x46\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x47\x42\x50\x24\x53\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x63\x71\x68\x37\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x23\x44\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x47\x42\x7a\x77\x41\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x55\x38\x51\x49\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x48\x54\x49\x41\x54\x3d\x3e\x38\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x47\x42\x69\x30\x58\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x47\x64\x4c\x5f\x44\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x41\x47\x41\x74\x6c\x36\x47\x42\x37\x4d\x34\x48\x61\x30\x39\x45\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x37\x46\x66\x31\x54\x38\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x26\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x3e\x5f\x42\x46\x2a\x37\x56\x36\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x23\x48\x45\x46\x64\x3b\x43\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x37\x45\x46\x64\x79\x43\x45\x46\x64\x76\x33\x46\x66\x31\x54\x33\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3f\x56\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x39\x47\x41\x74\x6c\x36\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x76\x47\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x3b\x37\x41\x54\x63\x73\x41\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x38\x7c\x42\x46\x2a\x59\x7a\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x43\x45\x46\x64\x79\x38\x46\x29\x53\x63\x34\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x2a\x39\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x25\x7e\x43\x41\x55\x38\x48\x46\x41\x54\x6c\x79\x36\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x38\x47\x62\x7c\x75\x44\x47\x25\x4f\x25\x39\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x43\x47\x42\x59\x65\x37\x46\x29\x7d\x65\x4d\x41\x54\x6c\x2a\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x73\x48\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x46\x2a\x59\x6e\x39\x47\x42\x50\x28\x54\x41\x54\x63\x2a\x41\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x23\x37\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x29\x25\x44\x33\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x46\x66\x31\x54\x39\x48\x21\x4c\x37\x46\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x3f\x56\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x5f\x54\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x5f\x2b\x43\x49\x35\x7b\x6a\x4a\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x23\x47\x45\x46\x64\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x79\x44\x45\x46\x64\x23\x43\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x43\x5a\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x38\x48\x39\x30\x49\x47\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x45\x49\x56\x3e\x50\x4b\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x42\x48\x59\x5e\x7d\x45\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x39\x5a\x41\x54\x63\x2a\x48\x45\x46\x64\x5e\x36\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x46\x2a\x50\x28\x53\x41\x54\x7e\x48\x47\x41\x54\x75\x3b\x39\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x7b\x44\x41\x55\x51\x5a\x4a\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x48\x45\x46\x64\x7b\x4b\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x45\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x48\x21\x4c\x37\x48\x47\x25\x4f\x25\x37\x48\x21\x3e\x5f\x42\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x46\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x38\x46\x29\x3d\x4a\x34\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x44\x45\x46\x64\x79\x42\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x47\x42\x37\x6e\x50\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x43\x46\x66\x63\x34\x32\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x7e\x42\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x79\x45\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x43\x46\x2a\x47\x62\x37\x47\x42\x50\x74\x50\x41\x54\x75\x2a\x38\x41\x54\x25\x72\x3e\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6e\x4e\x41\x54\x75\x5e\x42\x41\x54\x63\x73\x39\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x47\x26\x55\x3f\x43\x47\x42\x71\x3c\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x35\x47\x63\x7a\x6e\x38\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x50\x68\x38\x47\x42\x59\x65\x37\x46\x2a\x7a\x28\x43\x47\x42\x69\x30\x58\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x79\x41\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x43\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x72\x7d\x41\x55\x51\x57\x49\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x2b\x74\x39\x46\x2a\x59\x3f\x55\x41\x54\x63\x3e\x4e\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x6e\x4e\x41\x54\x3d\x7e\x42\x41\x54\x6c\x23\x37\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x73\x49\x45\x46\x64\x23\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x38\x47\x42\x7a\x77\x41\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x7a\x65\x36\x46\x2a\x59\x7a\x50\x41\x54\x63\x79\x42\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x72\x46\x61\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x68\x74\x41\x47\x63\x59\x56\x35\x46\x2a\x59\x6e\x39\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x79\x48\x45\x46\x64\x79\x42\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x37\x45\x46\x64\x79\x44\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x46\x2a\x72\x33\x57\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x29\x53\x63\x34\x49\x57\x3b\x55\x47\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x35\x43\x41\x54\x63\x6d\x37\x45\x46\x64\x5e\x46\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x44\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x47\x42\x47\x71\x50\x41\x54\x25\x7e\x43\x41\x54\x25\x3e\x39\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x5a\x3f\x33\x44\x48\x61\x49\x4c\x47\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x34\x46\x66\x6c\x41\x33\x46\x29\x3d\x6b\x50\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x6c\x2a\x45\x45\x46\x64\x23\x43\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x42\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x79\x35\x41\x54\x7d\x7e\x41\x41\x55\x51\x5a\x4a\x41\x55\x51\x42\x42\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x35\x23\x58\x48\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x43\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x38\x47\x26\x33\x77\x39\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x66\x31\x54\x33\x47\x43\x33\x3f\x44\x49\x35\x52\x39\x44\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x48\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x46\x29\x25\x68\x50\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x45\x45\x46\x64\x7b\x47\x45\x46\x64\x5e\x36\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x46\x2a\x68\x7c\x56\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x47\x25\x4f\x25\x37\x47\x25\x7a\x65\x36\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x46\x29\x53\x63\x37\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x4b\x46\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x47\x26\x4c\x2b\x42\x46\x2a\x72\x30\x56\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x35\x49\x33\x43\x47\x42\x68\x3c\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x2b\x54\x41\x55\x37\x7e\x39\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x53\x4b\x41\x54\x6c\x26\x38\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x49\x35\x61\x46\x45\x46\x2a\x68\x2b\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x49\x57\x6a\x43\x44\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x55\x38\x32\x41\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x73\x35\x41\x54\x63\x26\x45\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x48\x38\x43\x74\x38\x46\x2a\x47\x74\x50\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x46\x2a\x72\x33\x57\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x46\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x71\x68\x37\x46\x2a\x50\x3c\x55\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x37\x46\x66\x25\x4d\x35\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x63\x4b\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x48\x45\x46\x64\x3e\x35\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x66\x6c\x41\x33\x46\x2a\x59\x6e\x39\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x2a\x37\x24\x54\x41\x54\x63\x70\x41\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x7a\x53\x41\x55\x38\x45\x45\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x37\x48\x38\x4c\x7a\x39\x46\x29\x25\x50\x4a\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x47\x42\x37\x6b\x4f\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x2a\x47\x62\x37\x47\x42\x68\x28\x52\x41\x54\x3d\x7e\x42\x41\x54\x6c\x26\x4a\x45\x46\x64\x5e\x48\x45\x46\x64\x5e\x48\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x41\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x3c\x55\x41\x54\x63\x3b\x4a\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x61\x46\x45\x46\x2a\x47\x3c\x56\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x48\x45\x46\x64\x2a\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x68\x74\x41\x47\x41\x74\x6c\x35\x47\x64\x4c\x5f\x44\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7a\x50\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x46\x29\x53\x63\x34\x49\x35\x23\x58\x48\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x46\x2a\x50\x68\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7a\x50\x41\x54\x63\x70\x47\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x56\x3e\x50\x48\x48\x59\x5e\x7d\x47\x48\x37\x70\x3d\x46\x49\x34\x6d\x47\x4a\x47\x62\x7c\x75\x36\x46\x2a\x7a\x28\x43\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x21\x76\x28\x39\x47\x42\x50\x74\x50\x41\x54\x6c\x66\x3c\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x47\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x7a\x28\x43\x46\x29\x3d\x71\x52\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x47\x42\x68\x6b\x38\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x45\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x44\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x42\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x30\x39\x45\x48\x39\x30\x49\x47\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x42\x44\x41\x54\x63\x23\x38\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x47\x63\x71\x68\x37\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x75\x7e\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x38\x48\x59\x5e\x7d\x39\x46\x29\x3d\x4a\x34\x49\x57\x7b\x61\x48\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x76\x36\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x68\x6b\x38\x46\x2a\x59\x7c\x57\x41\x54\x63\x26\x46\x45\x46\x64\x76\x41\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x49\x58\x45\x6d\x4a\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x48\x59\x5e\x7d\x41\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x48\x38\x77\x30\x44\x48\x23\x52\x49\x46\x48\x5a\x55\x77\x38\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x38\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x21\x46\x5a\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x63\x76\x49\x45\x46\x64\x7b\x4a\x45\x46\x64\x79\x41\x45\x46\x64\x76\x34\x46\x29\x53\x63\x36\x48\x21\x4c\x37\x42\x46\x67\x37\x65\x38\x47\x26\x6e\x33\x45\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x46\x29\x53\x63\x35\x49\x56\x3e\x50\x48\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x5f\x57\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x38\x46\x66\x31\x54\x39\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x39\x46\x66\x31\x54\x35\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x5a\x3f\x33\x44\x46\x29\x25\x71\x53\x41\x54\x7e\x32\x42\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x51\x48\x44\x41\x55\x51\x57\x49\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x47\x45\x46\x64\x3b\x34\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x36\x47\x25\x4f\x25\x37\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x64\x4c\x5f\x44\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x49\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x33\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x41\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x38\x49\x35\x52\x39\x44\x46\x2a\x50\x77\x50\x41\x54\x63\x79\x43\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x43\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x33\x6e\x37\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x47\x25\x4f\x25\x46\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x30\x55\x41\x54\x63\x79\x42\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x71\x51\x41\x54\x6c\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x46\x2a\x59\x6e\x39\x49\x35\x7b\x6a\x4a\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x43\x45\x46\x64\x79\x39\x48\x37\x70\x3d\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x24\x51\x41\x54\x6c\x73\x44\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x47\x40\x5f\x46\x2a\x59\x2b\x53\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x42\x45\x46\x64\x3b\x38\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x25\x4f\x25\x46\x46\x29\x53\x63\x34\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x43\x5a\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x29\x7d\x50\x35\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x46\x66\x31\x54\x33\x46\x66\x25\x4d\x35\x46\x29\x25\x53\x4b\x41\x54\x63\x2a\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x23\x39\x45\x46\x64\x79\x30\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x42\x47\x25\x4f\x25\x41\x48\x59\x5e\x7d\x39\x47\x26\x64\x7c\x44\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x49\x45\x46\x64\x23\x39\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x2a\x50\x68\x38\x47\x42\x50\x2b\x55\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x39\x46\x66\x25\x4d\x35\x49\x35\x7b\x6a\x4a\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x63\x76\x45\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x37\x46\x29\x25\x44\x33\x46\x2a\x72\x39\x59\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x24\x54\x41\x55\x51\x57\x49\x41\x54\x63\x70\x46\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x2a\x37\x56\x36\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x5f\x57\x41\x54\x6c\x26\x4c\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x7c\x54\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x43\x47\x25\x4f\x25\x39\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x47\x64\x4c\x5f\x44\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x70\x38\x45\x46\x64\x3e\x48\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x76\x33\x46\x29\x53\x63\x35\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x3f\x57\x41\x54\x6c\x76\x48\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x5e\x39\x41\x54\x25\x26\x36\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6e\x50\x41\x54\x63\x26\x4a\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x7a\x51\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3b\x41\x41\x54\x63\x79\x37\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x37\x70\x3d\x45\x46\x29\x53\x63\x42\x47\x25\x4f\x25\x39\x45\x46\x64\x3b\x41\x45\x46\x64\x79\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x46\x2a\x7a\x28\x43\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x43\x33\x3f\x44\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x3d\x5e\x39\x41\x54\x6c\x26\x38\x41\x54\x6c\x3b\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x39\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x42\x68\x77\x4f\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x59\x5e\x7d\x39\x49\x35\x61\x46\x45\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x39\x46\x2a\x50\x68\x38\x48\x23\x52\x49\x46\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x70\x43\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x4b\x49\x34\x6d\x47\x49\x47\x25\x4f\x25\x39\x45\x46\x64\x2a\x42\x45\x46\x64\x79\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x46\x2a\x72\x39\x59\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x48\x59\x5e\x7d\x41\x47\x64\x43\x3c\x43\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x46\x66\x6c\x41\x33\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x2a\x38\x41\x54\x63\x79\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x68\x28\x52\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x34\x7e\x3f\x41\x47\x42\x59\x5f\x57\x41\x54\x63\x23\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x43\x33\x3f\x44\x46\x2a\x37\x56\x36\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x23\x47\x45\x46\x64\x3e\x39\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x7d\x7e\x41\x41\x54\x6c\x5e\x43\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x47\x63\x71\x68\x37\x47\x42\x37\x62\x4c\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x45\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x49\x58\x35\x67\x49\x47\x42\x59\x65\x37\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x41\x45\x46\x64\x76\x37\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x61\x39\x46\x46\x47\x42\x47\x71\x50\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x36\x48\x37\x70\x3d\x39\x47\x63\x71\x68\x37\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x25\x5f\x71\x38\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x41\x45\x46\x64\x76\x33\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x47\x26\x64\x7c\x44\x48\x21\x76\x28\x39\x48\x5a\x26\x7c\x43\x48\x39\x30\x49\x47\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x46\x29\x25\x59\x4d\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x79\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x7a\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x47\x53\x35\x46\x2a\x47\x6e\x4e\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x35\x47\x41\x74\x6c\x37\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x39\x46\x46\x46\x2a\x69\x36\x59\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x44\x45\x46\x64\x79\x42\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x42\x59\x65\x37\x46\x2a\x50\x3f\x56\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x45\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x43\x74\x38\x46\x2a\x37\x2b\x56\x41\x54\x63\x26\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x55\x48\x4e\x47\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x47\x42\x71\x71\x39\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x7a\x53\x41\x54\x63\x70\x41\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x37\x7a\x54\x41\x54\x6c\x26\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x5a\x26\x7c\x43\x47\x41\x74\x6c\x36\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x46\x29\x25\x44\x33\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x3c\x54\x41\x54\x75\x26\x37\x41\x54\x63\x79\x46\x45\x46\x64\x79\x30\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x6d\x5f\x43\x47\x43\x33\x3f\x44\x47\x42\x7a\x77\x41\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x48\x59\x5e\x7d\x39\x46\x66\x25\x4d\x35\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x48\x45\x46\x64\x5e\x48\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x48\x61\x49\x4c\x47\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x71\x28\x51\x41\x54\x6c\x23\x43\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x7a\x6e\x38\x47\x42\x59\x28\x53\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x49\x48\x21\x4c\x37\x45\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x56\x30\x45\x46\x2a\x50\x3c\x55\x41\x54\x63\x6d\x33\x41\x54\x7e\x4b\x48\x41\x55\x38\x45\x45\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x54\x54\x54\x2d\x49\x58\x4e\x73\x4b\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x38\x48\x5a\x26\x7c\x43\x47\x42\x71\x28\x51\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x71\x7a\x42\x48\x38\x6d\x5f\x43\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x25\x2a\x37\x41\x54\x63\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x29\x3d\x4a\x34\x49\x57\x73\x49\x45\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x2a\x39\x41\x55\x48\x57\x4a\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x46\x46\x66\x31\x54\x41\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x4b\x45\x46\x64\x79\x41\x45\x46\x64\x3b\x43\x45\x46\x64\x23\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x4b\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x47\x42\x50\x71\x4f\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x6d\x5f\x43\x46\x29\x7d\x6e\x50\x41\x54\x63\x3e\x4c\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x46\x2a\x59\x6e\x39\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x3c\x54\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x46\x2a\x72\x39\x59\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x38\x46\x2a\x47\x62\x37\x48\x23\x39\x36\x44\x48\x23\x61\x4f\x47\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x79\x49\x45\x46\x64\x3b\x44\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x3d\x7e\x42\x41\x54\x6c\x3e\x42\x41\x54\x6c\x3b\x41\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x3b\x64\x49\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x72\x7d\x41\x54\x63\x3e\x4d\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x39\x47\x25\x4f\x25\x46\x48\x59\x5e\x7d\x39\x47\x42\x50\x59\x36\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x62\x7c\x75\x36\x48\x5a\x76\x3f\x42\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x47\x42\x7a\x77\x41\x47\x42\x68\x28\x52\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x46\x66\x31\x54\x42\x47\x62\x7c\x75\x37\x47\x64\x43\x3c\x43\x47\x63\x68\x62\x36\x47\x42\x50\x74\x50\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x43\x47\x41\x74\x6c\x42\x48\x21\x4c\x37\x41\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x6c\x23\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6b\x4d\x41\x55\x48\x42\x43\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x44\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x41\x45\x46\x64\x26\x42\x45\x46\x64\x79\x36\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x55\x77\x38\x47\x42\x47\x71\x50\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3c\x55\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x41\x48\x21\x4c\x37\x41\x49\x57\x23\x4f\x46\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x35\x47\x25\x5f\x71\x38\x47\x63\x68\x62\x36\x47\x42\x50\x74\x50\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x45\x48\x37\x70\x3d\x38\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x77\x39\x46\x46\x2a\x37\x7a\x53\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x47\x42\x50\x6b\x4d\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x59\x56\x35\x46\x29\x25\x6e\x52\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x46\x29\x53\x63\x34\x47\x25\x5f\x71\x38\x48\x38\x28\x36\x45\x46\x29\x25\x53\x4b\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x23\x38\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x49\x35\x6a\x4c\x46\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x75\x7e\x44\x41\x55\x38\x45\x45\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x48\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x38\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x65\x4f\x41\x55\x38\x4b\x47\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x54\x63\x5a\x3b\x46\x29\x25\x6b\x51\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x71\x68\x37\x47\x42\x71\x24\x50\x41\x54\x6c\x73\x39\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x24\x54\x41\x54\x26\x35\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6e\x4e\x41\x54\x63\x70\x43\x45\x46\x64\x76\x33\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x7a\x77\x41\x46\x29\x7d\x71\x51\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x47\x42\x68\x6b\x38\x47\x42\x37\x71\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x46\x29\x3d\x65\x4e\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x41\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x6e\x52\x41\x55\x38\x42\x44\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x47\x40\x5f\x49\x58\x45\x6d\x4a\x46\x2a\x21\x4c\x62\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x2a\x37\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x68\x74\x41\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x43\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x46\x2a\x37\x6b\x4e\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x47\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x47\x64\x56\x30\x45\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x47\x48\x37\x70\x3d\x47\x47\x41\x74\x6c\x44\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x44\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x25\x4f\x25\x46\x46\x66\x31\x54\x42\x49\x34\x6d\x47\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x49\x45\x46\x64\x79\x39\x47\x62\x7c\x75\x37\x46\x2a\x68\x74\x41\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x49\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x71\x68\x37\x46\x2a\x37\x7a\x53\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x45\x45\x46\x64\x76\x36\x46\x29\x53\x63\x43\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x45\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x76\x28\x39\x46\x2a\x37\x56\x36\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x63\x23\x47\x45\x46\x64\x76\x39\x45\x46\x64\x23\x44\x45\x46\x64\x3e\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x4e\x73\x4b\x47\x42\x47\x28\x55\x41\x54\x6c\x73\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x37\x24\x54\x41\x54\x3d\x78\x3f\x46\x2a\x68\x3f\x54\x41\x54\x6c\x23\x43\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x5e\x39\x41\x54\x25\x26\x36\x41\x54\x6c\x79\x49\x45\x46\x64\x7b\x49\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x6b\x4e\x41\x54\x7e\x45\x46\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x48\x61\x49\x4c\x47\x49\x58\x45\x6d\x4a\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x46\x66\x25\x4d\x35\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x48\x37\x70\x3d\x39\x48\x38\x33\x6e\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x42\x45\x41\x54\x63\x6d\x43\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x41\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x42\x49\x35\x38\x7c\x42\x47\x42\x59\x24\x52\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x59\x5e\x7d\x39\x47\x26\x6e\x33\x45\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x63\x26\x39\x41\x54\x63\x6d\x37\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x48\x59\x5e\x7d\x39\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x7b\x44\x41\x54\x25\x3e\x39\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x52\x52\x48\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x77\x30\x44\x47\x63\x71\x68\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x75\x2a\x38\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x48\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x38\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x6e\x33\x45\x47\x42\x50\x6b\x4d\x41\x54\x6c\x2a\x45\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x77\x52\x41\x55\x48\x48\x45\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x48\x61\x39\x46\x46\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x29\x7d\x24\x55\x41\x54\x63\x70\x48\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x47\x26\x77\x39\x46\x46\x2a\x50\x3c\x55\x41\x54\x76\x32\x45\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x37\x47\x62\x7c\x75\x36\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x72\x43\x5a\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x38\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x5e\x43\x41\x54\x63\x6d\x33\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x46\x47\x25\x4f\x25\x46\x46\x66\x31\x54\x35\x49\x56\x3e\x50\x4b\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x77\x39\x46\x46\x2a\x37\x28\x55\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x47\x6e\x4e\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x59\x6e\x39\x49\x58\x45\x6d\x4a\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x42\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x41\x48\x38\x55\x28\x41\x47\x42\x47\x65\x4c\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x44\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x49\x35\x38\x7c\x42\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x23\x39\x36\x44\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x48\x45\x46\x64\x76\x36\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x42\x37\x4d\x34\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x49\x34\x6d\x47\x48\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x47\x24\x54\x41\x54\x63\x3b\x4b\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x29\x7d\x24\x55\x41\x54\x6c\x66\x3c\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x43\x49\x56\x3e\x50\x43\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x6c\x73\x47\x45\x46\x64\x3e\x47\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x46\x2a\x59\x3c\x54\x41\x54\x7e\x45\x46\x41\x54\x6c\x73\x45\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x36\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x26\x46\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x46\x2a\x71\x7a\x42\x48\x5a\x55\x77\x38\x47\x64\x33\x28\x42\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x3b\x55\x47\x48\x38\x43\x74\x38\x47\x42\x68\x3c\x54\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x37\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x4e\x47\x41\x54\x63\x79\x4b\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x46\x29\x25\x44\x33\x49\x58\x4e\x73\x4b\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x42\x46\x66\x75\x47\x34\x49\x57\x3b\x55\x47\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x55\x38\x4e\x48\x41\x55\x48\x42\x43\x41\x54\x63\x79\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x47\x48\x37\x70\x3d\x46\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x4e\x73\x4b\x46\x2a\x37\x77\x52\x41\x54\x6c\x79\x48\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x49\x35\x23\x58\x48\x47\x42\x47\x77\x52\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x63\x68\x62\x36\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x44\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x61\x39\x46\x46\x46\x2a\x37\x71\x50\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x63\x26\x44\x45\x46\x64\x79\x37\x46\x66\x31\x54\x33\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x3c\x55\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x47\x63\x59\x56\x35\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x63\x73\x42\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x43\x47\x62\x7c\x75\x42\x46\x66\x31\x54\x34\x49\x56\x3e\x50\x48\x47\x62\x7c\x75\x36\x46\x2a\x37\x56\x36\x47\x62\x7c\x75\x39\x49\x56\x3e\x50\x44\x46\x2a\x68\x74\x41\x47\x42\x59\x74\x4f\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x59\x6e\x39\x46\x66\x31\x54\x33\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x35\x45\x41\x54\x63\x26\x39\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x76\x47\x45\x46\x64\x23\x37\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x38\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x46\x66\x31\x54\x33\x48\x21\x26\x3c\x41\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x48\x21\x76\x28\x39\x46\x29\x7d\x24\x55\x41\x55\x51\x63\x4b\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x47\x26\x77\x39\x46\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x23\x35\x45\x46\x64\x2a\x37\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x45\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x39\x47\x42\x59\x65\x37\x47\x42\x37\x7a\x54\x41\x54\x6c\x26\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x29\x53\x63\x34\x49\x57\x3b\x55\x47\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x26\x38\x41\x54\x63\x6d\x37\x45\x46\x64\x26\x37\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x38\x7c\x42\x47\x42\x71\x2b\x52\x41\x54\x63\x3e\x48\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x47\x45\x46\x64\x79\x42\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x38\x46\x66\x6c\x41\x33\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x44\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x45\x6d\x4a\x46\x2a\x47\x77\x51\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x37\x2d\x5e\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x49\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x7b\x41\x41\x54\x75\x2a\x38\x41\x54\x6c\x79\x45\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x47\x63\x59\x56\x35\x48\x38\x43\x74\x38\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x39\x48\x37\x70\x3d\x38\x46\x67\x50\x71\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x37\x46\x66\x6c\x41\x33\x48\x39\x30\x49\x47\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x63\x70\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x37\x65\x38\x48\x23\x61\x4f\x47\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x61\x36\x43\x46\x29\x25\x56\x4c\x41\x54\x6c\x26\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3f\x54\x41\x54\x63\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x6e\x4e\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x46\x2a\x37\x28\x55\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x48\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x47\x42\x50\x28\x54\x41\x54\x6c\x76\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x71\x7c\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x49\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x36\x41\x54\x6c\x26\x47\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x48\x21\x4c\x37\x45\x49\x56\x3e\x50\x49\x46\x66\x31\x54\x42\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x47\x41\x74\x6c\x35\x46\x66\x63\x34\x32\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x42\x47\x26\x6e\x33\x45\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x48\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x44\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x38\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x3d\x78\x3f\x47\x42\x68\x5f\x56\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x38\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x47\x42\x71\x5f\x55\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x41\x49\x56\x3e\x50\x4b\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x28\x53\x41\x54\x7e\x35\x43\x41\x55\x48\x57\x4a\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x45\x46\x64\x75\x7e\x41\x54\x6c\x2a\x39\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x64\x56\x30\x45\x47\x42\x68\x7c\x57\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x47\x25\x2b\x6b\x37\x49\x58\x45\x6d\x4a\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x2a\x38\x41\x54\x63\x79\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x47\x42\x37\x4d\x34\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x7b\x44\x41\x55\x48\x45\x44\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x79\x34\x46\x29\x53\x63\x34\x48\x59\x5e\x7d\x47\x47\x25\x4f\x25\x39\x45\x46\x64\x7b\x4a\x45\x46\x64\x3e\x43\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x37\x4d\x34\x47\x42\x59\x5f\x57\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x56\x3e\x50\x43\x47\x26\x64\x7c\x44\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x26\x38\x41\x54\x3d\x3b\x37\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x48\x38\x55\x28\x41\x46\x2a\x21\x4c\x62\x41\x54\x63\x70\x34\x41\x54\x63\x6d\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x28\x51\x41\x54\x7e\x45\x46\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x39\x36\x44\x47\x42\x37\x6b\x4f\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x34\x6d\x47\x43\x47\x26\x4c\x2b\x42\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3e\x42\x41\x54\x63\x70\x38\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x4a\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x6a\x4c\x46\x46\x2a\x47\x2b\x55\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3e\x41\x45\x46\x64\x7b\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x48\x59\x5e\x7d\x47\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x7b\x44\x41\x54\x63\x73\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x28\x51\x41\x54\x63\x26\x39\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x33\x6e\x37\x46\x2a\x50\x2b\x54\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x57\x52\x30\x42\x46\x2a\x59\x3c\x54\x41\x54\x63\x70\x48\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x55\x38\x45\x45\x41\x54\x26\x35\x45\x41\x54\x63\x70\x44\x45\x46\x64\x76\x34\x46\x66\x31\x54\x35\x48\x21\x4c\x37\x42\x48\x38\x55\x28\x41\x47\x42\x71\x2b\x52\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x49\x35\x52\x39\x44\x47\x42\x37\x59\x4b\x41\x54\x63\x79\x47\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x7a\x77\x41\x46\x2a\x47\x77\x51\x41\x54\x63\x6d\x47\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x74\x51\x41\x54\x6c\x3b\x41\x41\x54\x63\x73\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x26\x38\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x35\x46\x66\x31\x54\x33\x48\x23\x73\x61\x49\x46\x2a\x50\x5f\x57\x41\x54\x26\x32\x44\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x45\x45\x46\x64\x23\x39\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x55\x51\x5a\x4a\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x26\x46\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x33\x48\x38\x3f\x43\x46\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x55\x38\x32\x41\x41\x55\x51\x54\x48\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x39\x46\x46\x46\x29\x7d\x65\x4d\x41\x54\x63\x79\x4a\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x68\x6b\x38\x47\x42\x59\x5f\x57\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x77\x30\x44\x47\x26\x55\x3f\x43\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x24\x51\x41\x54\x63\x70\x42\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x37\x49\x56\x3e\x50\x48\x48\x59\x5e\x7d\x48\x46\x66\x31\x54\x41\x46\x66\x31\x54\x32\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x24\x52\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x46\x2a\x47\x77\x51\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x6d\x5f\x43\x47\x26\x43\x24\x41\x46\x2a\x37\x7a\x53\x41\x55\x38\x51\x49\x41\x54\x63\x3e\x43\x41\x54\x63\x23\x46\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x46\x2a\x71\x3f\x53\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x42\x49\x35\x7b\x6a\x4a\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x26\x44\x45\x46\x64\x3e\x44\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x46\x29\x25\x6e\x52\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x45\x6d\x4a\x46\x2a\x59\x6e\x39\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x49\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x23\x52\x49\x46\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x79\x34\x46\x66\x31\x54\x34\x46\x2a\x59\x6e\x39\x47\x63\x71\x68\x37\x48\x23\x73\x61\x49\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x63\x70\x42\x45\x46\x64\x79\x39\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x26\x77\x39\x46\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x3c\x54\x41\x54\x6c\x79\x48\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x43\x3c\x43\x46\x2a\x72\x33\x57\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x42\x48\x21\x4c\x37\x42\x48\x59\x5e\x7d\x44\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x7a\x6e\x38\x47\x42\x37\x74\x52\x41\x55\x51\x42\x42\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x49\x58\x45\x6d\x4a\x47\x42\x7a\x77\x41\x48\x61\x30\x39\x45\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x4b\x46\x41\x54\x63\x79\x49\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x44\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x47\x42\x71\x71\x39\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x79\x38\x46\x29\x53\x63\x34\x49\x35\x38\x7c\x42\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x2a\x4d\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x35\x46\x29\x3d\x4a\x34\x46\x2a\x59\x3c\x54\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x44\x46\x67\x37\x65\x38\x46\x29\x3d\x74\x53\x41\x55\x48\x38\x42\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x38\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x7e\x45\x46\x41\x54\x26\x38\x46\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x42\x46\x2a\x71\x7a\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x49\x34\x6d\x47\x43\x47\x42\x37\x4d\x34\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x62\x7c\x75\x39\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x7a\x53\x41\x54\x63\x70\x42\x45\x46\x64\x23\x36\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x71\x71\x39\x47\x63\x71\x68\x37\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x38\x49\x56\x3e\x50\x44\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x4a\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x26\x7c\x43\x47\x64\x4c\x5f\x44\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x47\x45\x46\x64\x3e\x49\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x48\x59\x5e\x7d\x39\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x6b\x4d\x41\x54\x63\x3b\x46\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x50\x6e\x4e\x41\x55\x48\x42\x43\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x66\x63\x34\x32\x47\x42\x71\x71\x39\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x28\x55\x41\x54\x63\x70\x48\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x6e\x4f\x41\x54\x75\x79\x35\x41\x54\x7e\x48\x47\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x48\x61\x30\x39\x45\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x47\x64\x4c\x5f\x44\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x24\x51\x41\x54\x75\x2a\x38\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x2a\x45\x45\x46\x64\x79\x39\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x2a\x39\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x71\x5f\x54\x41\x54\x63\x26\x48\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x35\x48\x38\x43\x74\x38\x46\x2a\x47\x77\x51\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x25\x59\x4d\x41\x54\x63\x73\x46\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x47\x42\x68\x3c\x54\x41\x54\x6c\x73\x45\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x47\x42\x5f\x2b\x43\x46\x2a\x59\x7a\x50\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x38\x47\x63\x5f\x7a\x41\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x36\x46\x66\x31\x54\x33\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x71\x51\x41\x54\x6c\x79\x36\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x38\x6d\x5f\x43\x47\x42\x2b\x24\x42\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x21\x49\x61\x41\x54\x63\x76\x41\x45\x46\x64\x26\x32\x41\x54\x6c\x73\x46\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x47\x42\x47\x53\x35\x48\x61\x49\x4c\x47\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x2a\x37\x7a\x53\x41\x54\x63\x70\x41\x45\x46\x64\x5e\x41\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x42\x71\x71\x39\x47\x25\x5f\x71\x38\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x48\x37\x70\x3d\x38\x49\x57\x23\x4f\x46\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x47\x49\x34\x6d\x47\x46\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x7d\x6b\x4f\x41\x54\x63\x23\x4a\x45\x46\x64\x3e\x39\x45\x46\x64\x26\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x34\x48\x59\x5e\x7d\x39\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x48\x38\x43\x74\x38\x46\x2a\x47\x6e\x4e\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x41\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x54\x63\x5a\x3b\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x39\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x47\x62\x37\x49\x35\x73\x52\x47\x47\x42\x59\x74\x4f\x41\x54\x63\x23\x45\x45\x46\x64\x3b\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x48\x23\x6a\x55\x48\x47\x42\x68\x7c\x57\x41\x55\x48\x4e\x47\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x46\x2a\x50\x28\x53\x41\x54\x63\x70\x48\x45\x46\x64\x79\x30\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x43\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x39\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x3b\x41\x41\x54\x3d\x3b\x37\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x49\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x38\x48\x21\x76\x28\x39\x46\x2a\x50\x77\x50\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x46\x29\x3d\x59\x4c\x41\x54\x63\x73\x45\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x47\x42\x71\x2b\x52\x41\x54\x63\x23\x4b\x45\x46\x64\x3b\x34\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x42\x46\x66\x31\x54\x34\x48\x38\x4c\x7a\x39\x47\x42\x68\x6b\x38\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x39\x49\x56\x3e\x50\x44\x46\x66\x63\x34\x32\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x30\x39\x45\x46\x29\x25\x68\x50\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x3e\x47\x45\x46\x64\x7b\x44\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x7a\x6e\x38\x46\x2a\x72\x46\x61\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x37\x70\x3d\x38\x47\x26\x6e\x33\x45\x47\x42\x50\x71\x4f\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x43\x74\x38\x46\x29\x7d\x65\x4d\x41\x54\x6c\x23\x47\x45\x46\x64\x5e\x49\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x71\x50\x41\x55\x38\x4b\x47\x41\x54\x3d\x3e\x38\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x43\x74\x38\x48\x5a\x26\x7c\x43\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x33\x48\x5a\x55\x77\x38\x46\x29\x25\x71\x53\x41\x54\x6c\x2a\x46\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x7a\x77\x41\x48\x38\x43\x74\x38\x46\x29\x25\x59\x4d\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x38\x47\x64\x4c\x5f\x44\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x36\x46\x29\x53\x63\x43\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x47\x26\x6e\x33\x45\x48\x61\x52\x52\x48\x48\x38\x77\x30\x44\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x43\x45\x46\x64\x5e\x47\x45\x46\x64\x76\x39\x49\x34\x6d\x47\x42\x47\x26\x43\x24\x41\x47\x42\x47\x53\x35\x46\x29\x3d\x6b\x50\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x43\x74\x38\x46\x2a\x71\x7a\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x46\x67\x37\x65\x38\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x41\x48\x37\x70\x3d\x39\x47\x25\x5f\x71\x38\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3b\x41\x41\x54\x63\x70\x38\x45\x46\x64\x7b\x47\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x44\x45\x46\x64\x26\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x71\x5f\x54\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x36\x46\x66\x6c\x41\x33\x47\x42\x47\x24\x54\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x48\x38\x55\x28\x41\x47\x25\x5f\x71\x38\x47\x42\x59\x2b\x54\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x47\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x23\x58\x48\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x49\x34\x6d\x47\x43\x49\x34\x6d\x47\x46\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x7a\x6e\x38\x46\x2a\x50\x7a\x51\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x43\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x77\x39\x46\x47\x42\x47\x77\x52\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x48\x38\x6d\x5f\x43\x47\x42\x47\x28\x55\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x71\x7a\x42\x46\x29\x25\x50\x4a\x41\x54\x6c\x3b\x41\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x44\x48\x59\x5e\x7d\x41\x47\x63\x59\x56\x35\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x77\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x43\x47\x26\x33\x77\x39\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x62\x7c\x75\x37\x48\x38\x33\x6e\x37\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x4b\x48\x41\x54\x63\x6d\x44\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x48\x37\x70\x3d\x46\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x72\x46\x61\x41\x54\x63\x3b\x4d\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x38\x47\x63\x7a\x6e\x38\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x76\x36\x46\x29\x53\x63\x43\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x63\x7a\x6e\x38\x47\x42\x47\x7a\x53\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x6c\x26\x48\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x38\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x64\x24\x39\x47\x42\x50\x77\x51\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x35\x52\x39\x44\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x43\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x64\x56\x30\x45\x47\x42\x37\x6e\x50\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x47\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x45\x6d\x4a\x47\x42\x50\x6e\x4e\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x3f\x33\x44\x47\x42\x50\x6e\x4e\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x71\x7a\x42\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x75\x2a\x38\x41\x54\x6c\x79\x43\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x29\x53\x63\x35\x46\x29\x7d\x50\x35\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7a\x50\x41\x54\x63\x3b\x46\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x39\x46\x66\x31\x54\x33\x49\x35\x6a\x4c\x46\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7a\x50\x41\x54\x75\x2a\x38\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x48\x47\x25\x4f\x25\x37\x46\x2a\x47\x62\x37\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x5e\x39\x41\x54\x63\x76\x47\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x3f\x54\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x74\x50\x41\x54\x3d\x3e\x38\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x37\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x49\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x47\x6b\x4e\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x47\x63\x2b\x74\x39\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x36\x47\x26\x33\x77\x39\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x44\x45\x46\x64\x76\x36\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x5a\x3f\x33\x44\x48\x5a\x55\x77\x38\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x48\x46\x41\x54\x63\x6d\x33\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x35\x7b\x6a\x4a\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x36\x41\x54\x63\x79\x49\x45\x46\x64\x76\x36\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x34\x46\x29\x53\x63\x34\x47\x42\x47\x53\x35\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x68\x6b\x38\x46\x2a\x59\x7c\x57\x41\x54\x63\x23\x46\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x56\x30\x45\x47\x42\x59\x77\x50\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x46\x2a\x37\x56\x36\x46\x2a\x50\x3f\x56\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x43\x45\x46\x64\x3b\x41\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x37\x70\x3d\x38\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3c\x52\x41\x54\x6c\x23\x48\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x2b\x55\x41\x54\x6c\x76\x48\x45\x46\x64\x26\x36\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x46\x29\x25\x44\x33\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x25\x3e\x39\x41\x55\x48\x4e\x47\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x39\x47\x42\x7a\x77\x41\x46\x2a\x37\x71\x50\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x41\x47\x64\x56\x30\x45\x46\x2a\x72\x46\x61\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x23\x6a\x55\x48\x46\x29\x25\x44\x33\x46\x2a\x68\x2b\x52\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x6b\x38\x46\x2a\x50\x68\x38\x48\x38\x64\x3c\x42\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x48\x38\x33\x6e\x37\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x3e\x4a\x45\x46\x64\x79\x36\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x47\x42\x50\x2b\x55\x41\x54\x63\x6d\x45\x45\x46\x64\x5e\x42\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x36\x47\x42\x47\x53\x35\x47\x42\x68\x2b\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x39\x47\x63\x71\x68\x37\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x39\x46\x2a\x47\x62\x37\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x43\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x59\x77\x42\x48\x23\x61\x4f\x47\x48\x61\x52\x52\x48\x48\x23\x49\x43\x45\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x63\x76\x47\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x37\x47\x26\x55\x3f\x43\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x25\x4d\x35\x46\x29\x7d\x74\x52\x41\x54\x6c\x73\x42\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x47\x63\x68\x62\x36\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x7a\x50\x41\x54\x6c\x79\x47\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x64\x56\x30\x45\x46\x2a\x72\x33\x57\x41\x54\x63\x23\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x5f\x2b\x43\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x50\x28\x53\x41\x54\x63\x3e\x43\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x6d\x2b\x41\x48\x23\x49\x43\x45\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x30\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x44\x48\x37\x70\x3d\x38\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x46\x29\x3d\x71\x52\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x47\x62\x7c\x75\x36\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x36\x47\x26\x33\x77\x39\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x39\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x21\x26\x3c\x41\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x23\x44\x45\x46\x64\x79\x43\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x46\x2a\x47\x62\x37\x46\x2a\x50\x3f\x56\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x44\x47\x62\x7c\x75\x36\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x4e\x73\x4b\x46\x2a\x37\x74\x51\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x30\x30\x43\x46\x2a\x37\x24\x54\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x42\x46\x2a\x59\x6e\x39\x48\x38\x43\x74\x38\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x25\x2a\x37\x41\x54\x6c\x76\x49\x45\x46\x64\x76\x35\x47\x41\x74\x6c\x35\x49\x34\x6d\x47\x43\x47\x26\x4c\x2b\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x2b\x6b\x37\x47\x42\x68\x2b\x53\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x41\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x48\x38\x43\x74\x38\x47\x63\x7a\x6e\x38\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x35\x45\x41\x54\x6c\x2a\x39\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x47\x40\x5f\x47\x26\x77\x39\x46\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x23\x39\x36\x44\x47\x42\x68\x2b\x53\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x38\x49\x56\x3e\x50\x43\x47\x64\x43\x3c\x43\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x26\x43\x24\x41\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x5f\x56\x41\x54\x6c\x76\x39\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x42\x5f\x2b\x43\x46\x2a\x72\x43\x5a\x41\x54\x63\x73\x45\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x57\x52\x30\x42\x47\x42\x71\x28\x51\x41\x54\x6c\x79\x44\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x55\x48\x42\x43\x41\x54\x6c\x26\x49\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x44\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x61\x4f\x47\x46\x2a\x37\x56\x36\x48\x21\x4c\x37\x42\x46\x29\x3d\x4a\x34\x47\x42\x47\x74\x51\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x47\x42\x5f\x2b\x43\x46\x29\x53\x63\x34\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x46\x45\x46\x64\x3b\x46\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x2a\x7a\x28\x43\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x47\x41\x74\x6c\x42\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x36\x59\x41\x54\x63\x2a\x49\x45\x46\x64\x7b\x42\x45\x46\x64\x79\x35\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x6c\x73\x46\x45\x46\x64\x23\x42\x45\x46\x64\x2a\x46\x45\x46\x64\x3b\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x48\x38\x6d\x5f\x43\x48\x21\x76\x28\x39\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x41\x47\x25\x4f\x25\x37\x48\x59\x5e\x7d\x39\x47\x62\x7c\x75\x36\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x46\x2a\x71\x3f\x53\x41\x54\x63\x3b\x4d\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x38\x7c\x42\x46\x2a\x21\x36\x57\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x76\x39\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x42\x48\x21\x4c\x37\x42\x46\x67\x59\x77\x42\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x5f\x56\x41\x54\x63\x76\x44\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x44\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x47\x64\x4c\x5f\x44\x46\x2a\x72\x36\x58\x41\x54\x7e\x45\x46\x41\x54\x7e\x4b\x48\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x43\x45\x46\x64\x79\x34\x46\x66\x31\x54\x33\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x7b\x44\x41\x54\x3d\x3b\x37\x41\x54\x63\x70\x48\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x37\x45\x46\x64\x76\x43\x49\x34\x6d\x47\x43\x47\x63\x2b\x74\x39\x47\x42\x59\x28\x53\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x47\x41\x74\x6c\x35\x49\x58\x45\x6d\x4a\x46\x2a\x37\x6e\x4f\x41\x55\x50\x7d\x60\x49\x35\x7b\x6a\x4a\x47\x26\x6e\x33\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x45\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x48\x23\x61\x4f\x47\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x47\x42\x68\x24\x51\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x2b\x74\x39\x46\x2a\x7a\x7c\x54\x41\x54\x63\x23\x43\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x49\x57\x23\x4f\x46\x46\x2a\x50\x5f\x57\x41\x54\x3e\x45\x47\x41\x54\x6c\x73\x41\x45\x46\x64\x76\x39\x45\x46\x64\x5e\x47\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x21\x4c\x37\x49\x45\x46\x64\x76\x35\x46\x29\x53\x63\x35\x47\x26\x43\x24\x41\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x46\x2a\x7a\x28\x43\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x46\x66\x25\x4d\x35\x46\x29\x7d\x62\x4c\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x6c\x79\x41\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x36\x47\x41\x74\x6c\x35\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x55\x38\x42\x44\x41\x54\x63\x73\x42\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x47\x64\x33\x28\x42\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x42\x45\x46\x64\x79\x42\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x34\x6d\x47\x43\x46\x67\x37\x65\x38\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x38\x45\x46\x64\x2a\x41\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x46\x2a\x72\x39\x59\x41\x54\x6c\x2a\x49\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x39\x47\x26\x4c\x2b\x42\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x44\x48\x21\x4c\x37\x41\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x74\x52\x41\x54\x63\x79\x45\x45\x46\x64\x23\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x37\x7a\x54\x41\x54\x6c\x7b\x44\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x41\x47\x26\x77\x39\x46\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x37\x70\x3d\x39\x48\x38\x33\x6e\x37\x46\x2a\x69\x39\x5a\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x35\x49\x33\x43\x46\x2a\x59\x7a\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x2a\x45\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x48\x59\x5e\x7d\x39\x46\x66\x31\x54\x37\x46\x29\x53\x63\x35\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x6c\x79\x42\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x7b\x41\x41\x54\x26\x32\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x46\x29\x53\x63\x34\x48\x61\x39\x46\x46\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x46\x29\x7d\x74\x52\x41\x54\x6c\x26\x45\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x7a\x51\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x26\x55\x3f\x43\x48\x21\x26\x3c\x41\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x3b\x39\x41\x54\x63\x23\x4c\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x63\x68\x62\x36\x49\x57\x7b\x61\x48\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x7e\x42\x41\x54\x6c\x79\x41\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x24\x50\x41\x54\x63\x76\x47\x45\x46\x64\x5e\x48\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x6d\x5f\x43\x47\x42\x50\x59\x36\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x47\x24\x54\x41\x54\x63\x70\x47\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x43\x33\x3f\x44\x46\x29\x7d\x74\x52\x41\x54\x63\x2a\x4a\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x47\x42\x50\x59\x36\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x47\x64\x4c\x5f\x44\x47\x63\x59\x56\x35\x48\x38\x6d\x5f\x43\x46\x2a\x72\x36\x58\x41\x54\x75\x3b\x39\x41\x54\x6c\x73\x44\x45\x46\x64\x3e\x35\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x53\x4b\x41\x54\x6c\x3e\x42\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x49\x35\x3b\x64\x49\x47\x42\x50\x3c\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x46\x29\x53\x63\x34\x49\x58\x45\x6d\x4a\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x6c\x26\x38\x41\x54\x3d\x3b\x37\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x63\x68\x62\x36\x47\x26\x33\x77\x39\x47\x42\x68\x28\x52\x41\x54\x63\x79\x42\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x39\x46\x29\x53\x63\x34\x48\x5a\x76\x3f\x42\x46\x29\x3d\x59\x4c\x41\x54\x6c\x3b\x41\x41\x55\x51\x42\x42\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x46\x48\x59\x5e\x7d\x44\x48\x59\x5e\x7d\x46\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x34\x47\x41\x74\x6c\x35\x49\x35\x49\x33\x43\x47\x42\x50\x3c\x56\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x48\x59\x5e\x7d\x39\x49\x58\x45\x6d\x4a\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x48\x47\x41\x55\x51\x57\x49\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x23\x39\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x41\x49\x35\x3b\x64\x49\x47\x62\x7c\x75\x38\x47\x41\x74\x6c\x36\x47\x25\x5f\x71\x38\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x79\x38\x45\x46\x64\x79\x37\x49\x34\x6d\x47\x43\x46\x29\x25\x44\x33\x46\x2a\x69\x39\x5a\x41\x54\x63\x23\x47\x45\x46\x64\x23\x38\x45\x46\x64\x23\x41\x45\x46\x64\x76\x43\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x41\x46\x2a\x47\x62\x37\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x38\x46\x41\x55\x38\x38\x43\x41\x54\x25\x7e\x43\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x42\x45\x46\x64\x76\x36\x48\x59\x5e\x7d\x41\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x42\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x41\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x46\x2a\x71\x7a\x42\x47\x64\x56\x30\x45\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x48\x49\x34\x6d\x47\x47\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x36\x59\x41\x54\x63\x2a\x47\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x26\x4d\x45\x46\x64\x79\x34\x47\x25\x4f\x25\x44\x48\x37\x70\x3d\x45\x45\x46\x64\x7b\x42\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x41\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x21\x26\x3c\x41\x48\x39\x30\x49\x47\x46\x2a\x50\x68\x38\x47\x63\x5f\x7a\x41\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x5e\x39\x41\x54\x63\x79\x42\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x59\x3c\x54\x41\x54\x63\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x24\x54\x41\x54\x3d\x3e\x38\x41\x54\x63\x73\x45\x45\x46\x64\x76\x34\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x26\x33\x77\x39\x48\x21\x4c\x37\x41\x48\x23\x6a\x55\x48\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x2b\x6b\x37\x46\x2a\x59\x5f\x56\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x43\x49\x35\x6a\x4c\x46\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x41\x46\x2a\x59\x6e\x39\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x28\x51\x41\x54\x63\x70\x47\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x38\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x41\x49\x56\x3e\x50\x43\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x49\x58\x4e\x73\x4b\x46\x2a\x37\x24\x54\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x41\x47\x26\x6e\x33\x45\x46\x2a\x37\x28\x55\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x46\x29\x25\x71\x53\x41\x54\x6c\x3e\x42\x41\x54\x63\x6d\x33\x41\x55\x51\x54\x48\x41\x54\x63\x76\x48\x45\x46\x64\x26\x38\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x47\x42\x47\x77\x52\x41\x54\x7e\x45\x46\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x37\x46\x29\x53\x63\x34\x48\x61\x49\x4c\x47\x46\x2a\x71\x7a\x42\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x38\x3f\x43\x46\x48\x23\x49\x43\x45\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x35\x48\x5a\x55\x77\x38\x48\x39\x30\x49\x47\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x46\x45\x46\x64\x3e\x49\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x45\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x46\x66\x3d\x53\x36\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x39\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x48\x38\x43\x74\x38\x48\x61\x49\x4c\x47\x46\x29\x7d\x50\x35\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x42\x45\x46\x64\x2a\x33\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x36\x48\x37\x70\x3d\x42\x46\x29\x53\x63\x35\x47\x26\x64\x7c\x44\x46\x2a\x7a\x7c\x54\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x49\x35\x3b\x64\x49\x46\x2a\x50\x77\x50\x41\x54\x63\x76\x46\x45\x46\x64\x76\x34\x48\x37\x70\x3d\x39\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x68\x4f\x41\x54\x63\x79\x48\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x48\x23\x49\x43\x45\x48\x38\x43\x74\x38\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x3e\x38\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x69\x30\x58\x41\x54\x6c\x76\x48\x45\x46\x64\x79\x35\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x49\x57\x3b\x55\x47\x46\x29\x25\x6e\x52\x41\x54\x6c\x76\x35\x41\x54\x3e\x42\x46\x41\x54\x7e\x48\x47\x41\x54\x63\x3e\x49\x45\x46\x64\x23\x39\x45\x46\x64\x76\x36\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x43\x33\x3f\x44\x46\x29\x7d\x71\x51\x41\x54\x63\x73\x49\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x43\x47\x43\x33\x3f\x44\x46\x2a\x59\x6e\x39\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x77\x30\x44\x47\x64\x33\x28\x42\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x28\x51\x41\x54\x63\x70\x42\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x6c\x2a\x39\x41\x55\x51\x5a\x4a\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x38\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x47\x42\x71\x71\x39\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x4a\x47\x41\x74\x6c\x35\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x26\x35\x45\x41\x54\x6c\x26\x38\x41\x54\x3d\x78\x3f\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x43\x45\x46\x64\x79\x30\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x41\x48\x21\x4c\x37\x43\x47\x41\x74\x6c\x35\x48\x38\x3f\x43\x46\x46\x2a\x68\x5f\x55\x41\x54\x63\x26\x48\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x25\x4f\x25\x37\x48\x5a\x3f\x33\x44\x46\x2a\x47\x3f\x57\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x34\x6d\x47\x42\x48\x37\x70\x3d\x38\x48\x21\x26\x3c\x41\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x7e\x38\x44\x41\x54\x63\x6d\x46\x45\x46\x64\x26\x37\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x42\x45\x46\x64\x2a\x42\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x28\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x36\x47\x42\x59\x65\x37\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x76\x33\x46\x29\x53\x63\x39\x48\x59\x5e\x7d\x39\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x47\x25\x5f\x71\x38\x47\x62\x7c\x75\x36\x48\x38\x55\x28\x41\x46\x2a\x50\x7a\x51\x41\x54\x6c\x3b\x41\x41\x54\x25\x5e\x41\x41\x54\x63\x79\x4b\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x48\x38\x4c\x7a\x39\x46\x2a\x59\x2b\x53\x41\x54\x63\x73\x41\x45\x46\x64\x23\x45\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x49\x34\x6d\x47\x43\x46\x66\x63\x34\x32\x47\x42\x37\x4d\x34\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x45\x48\x59\x5e\x7d\x46\x49\x34\x6d\x47\x42\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x47\x42\x50\x74\x50\x41\x54\x63\x3b\x4a\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x47\x42\x47\x24\x54\x41\x55\x47\x40\x5f\x47\x42\x37\x6b\x4f\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x79\x38\x45\x46\x64\x7b\x4b\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x38\x47\x62\x7c\x75\x38\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x23\x49\x43\x45\x46\x29\x7d\x71\x51\x41\x54\x63\x23\x45\x45\x46\x64\x76\x37\x48\x37\x70\x3d\x38\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x47\x42\x59\x5f\x57\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x68\x4f\x41\x55\x38\x35\x42\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x46\x29\x25\x65\x4f\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x53\x4b\x41\x55\x38\x42\x44\x41\x54\x54\x54\x2d\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4a\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x38\x47\x42\x47\x53\x35\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x46\x66\x31\x54\x34\x47\x41\x74\x6c\x35\x47\x62\x7c\x75\x38\x48\x37\x70\x3d\x41\x47\x25\x4f\x25\x38\x48\x38\x4c\x7a\x39\x49\x58\x45\x6d\x4a\x49\x35\x6a\x4c\x46\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3b\x45\x45\x46\x64\x26\x42\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x68\x7c\x57\x41\x54\x7e\x45\x46\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x61\x52\x52\x48\x46\x2a\x50\x28\x53\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x46\x29\x25\x44\x33\x46\x2a\x59\x2b\x53\x41\x54\x63\x6d\x43\x45\x46\x64\x76\x38\x48\x37\x70\x3d\x45\x49\x56\x3e\x50\x4b\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x30\x30\x43\x46\x29\x3d\x4a\x34\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x47\x42\x68\x6b\x38\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x3e\x49\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x44\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x4e\x47\x41\x54\x63\x26\x44\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x26\x36\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x6c\x2a\x39\x41\x54\x6c\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x21\x46\x5a\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x35\x52\x39\x44\x47\x42\x71\x24\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x48\x45\x46\x64\x3b\x39\x45\x46\x64\x3b\x34\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x54\x54\x54\x2d\x49\x58\x45\x6d\x4a\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x76\x43\x46\x29\x53\x63\x35\x48\x38\x55\x28\x41\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x43\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x25\x72\x3e\x46\x2a\x59\x2b\x53\x41\x54\x63\x2a\x46\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x48\x23\x73\x61\x49\x47\x42\x59\x7a\x51\x41\x54\x63\x6d\x42\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x24\x51\x41\x54\x6c\x73\x44\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x79\x37\x41\x54\x6c\x2a\x45\x45\x46\x64\x3e\x35\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x37\x70\x3d\x45\x48\x59\x5e\x7d\x48\x46\x66\x31\x54\x41\x46\x66\x31\x54\x42\x45\x46\x64\x26\x45\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x46\x2a\x7a\x7c\x54\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x49\x47\x41\x74\x6c\x36\x46\x66\x63\x34\x32\x47\x42\x50\x6e\x4e\x41\x54\x75\x6c\x3d\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x41\x45\x46\x64\x76\x37\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x37\x7a\x54\x41\x55\x38\x35\x42\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x42\x48\x23\x30\x30\x43\x48\x61\x30\x39\x45\x46\x2a\x21\x39\x58\x41\x54\x6c\x76\x39\x45\x46\x64\x76\x41\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x47\x26\x55\x3f\x43\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x24\x50\x41\x54\x63\x70\x41\x45\x46\x64\x76\x36\x47\x62\x7c\x75\x36\x47\x42\x2b\x24\x42\x46\x29\x3d\x62\x4d\x41\x54\x75\x23\x36\x41\x54\x3d\x3b\x37\x41\x54\x6c\x79\x36\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x29\x53\x63\x34\x49\x35\x61\x46\x45\x46\x2a\x59\x7a\x50\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x47\x26\x6e\x33\x45\x46\x29\x7d\x71\x51\x41\x54\x25\x7e\x43\x41\x54\x63\x73\x44\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x4a\x49\x34\x6d\x47\x43\x49\x56\x3e\x50\x43\x48\x5a\x76\x3f\x42\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x71\x68\x37\x47\x42\x68\x28\x52\x41\x54\x63\x79\x44\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x43\x49\x35\x7b\x6a\x4a\x46\x2a\x7a\x7c\x54\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x35\x47\x62\x7c\x75\x41\x47\x41\x74\x6c\x35\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x46\x29\x3d\x6b\x50\x41\x54\x6c\x73\x45\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x7a\x77\x41\x46\x29\x25\x59\x4d\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x2a\x39\x45\x46\x64\x76\x37\x46\x66\x31\x54\x34\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x2a\x48\x45\x46\x64\x76\x36\x49\x34\x6d\x47\x47\x47\x25\x4f\x25\x37\x48\x23\x30\x30\x43\x46\x2a\x21\x39\x58\x41\x54\x63\x6d\x37\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x34\x47\x25\x4f\x25\x43\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x29\x3d\x77\x54\x41\x55\x48\x38\x42\x41\x54\x63\x23\x46\x45\x46\x64\x76\x38\x47\x41\x74\x6c\x37\x46\x29\x53\x63\x34\x47\x42\x47\x53\x35\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x48\x21\x4c\x37\x42\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x46\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x43\x47\x42\x50\x59\x36\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x68\x28\x52\x41\x54\x75\x7b\x43\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x48\x59\x5e\x7d\x48\x46\x66\x31\x54\x39\x46\x66\x31\x54\x33\x48\x59\x5e\x7d\x39\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x7a\x51\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x39\x47\x25\x4f\x25\x38\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x2b\x55\x41\x54\x63\x76\x49\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x63\x6d\x39\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x54\x63\x73\x35\x41\x54\x63\x26\x45\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x26\x36\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x36\x47\x63\x7a\x6e\x38\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x45\x45\x46\x64\x3e\x44\x45\x46\x64\x23\x31\x41\x54\x63\x23\x4b\x45\x46\x64\x2a\x47\x45\x46\x64\x76\x37\x48\x21\x4c\x37\x47\x46\x66\x31\x54\x41\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x6b\x38\x49\x57\x61\x36\x43\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x43\x48\x38\x33\x6e\x37\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x49\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x26\x45\x45\x46\x64\x23\x38\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x73\x52\x47\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x4f\x45\x46\x64\x26\x36\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x63\x68\x62\x36\x46\x2a\x5a\x33\x59\x41\x55\x37\x2d\x5e\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x36\x48\x38\x64\x3c\x42\x48\x5a\x76\x3f\x42\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x46\x2a\x59\x24\x51\x41\x54\x75\x2a\x38\x41\x54\x63\x79\x48\x45\x46\x64\x76\x35\x48\x21\x4c\x37\x41\x46\x29\x7d\x50\x35\x47\x42\x7a\x77\x41\x48\x38\x55\x28\x41\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3d\x7e\x42\x41\x54\x6c\x79\x44\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x68\x7c\x57\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x24\x54\x41\x54\x63\x6d\x37\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x42\x48\x59\x5e\x7d\x39\x47\x42\x68\x6b\x38\x46\x2a\x47\x77\x51\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x44\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x47\x42\x50\x7a\x52\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x35\x61\x46\x45\x46\x2a\x68\x28\x51\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x34\x6d\x47\x49\x49\x34\x6d\x47\x42\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x74\x52\x41\x54\x7e\x4b\x48\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x48\x5a\x76\x3f\x42\x48\x23\x52\x49\x46\x47\x42\x37\x4d\x34\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x44\x45\x46\x64\x76\x42\x47\x41\x74\x6c\x35\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x45\x44\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x49\x34\x6d\x47\x42\x46\x29\x25\x44\x33\x48\x61\x49\x4c\x47\x46\x2a\x21\x30\x55\x41\x54\x63\x70\x41\x45\x46\x64\x3b\x34\x41\x54\x63\x23\x47\x45\x46\x64\x76\x42\x49\x34\x6d\x47\x44\x45\x46\x64\x26\x36\x45\x46\x64\x79\x38\x48\x37\x70\x3d\x38\x47\x64\x4c\x5f\x44\x47\x42\x50\x3c\x56\x41\x54\x63\x2a\x41\x41\x54\x63\x3e\x47\x45\x46\x64\x79\x37\x48\x21\x4c\x37\x41\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x25\x7e\x43\x41\x55\x38\x42\x44\x41\x54\x75\x3e\x41\x41\x54\x63\x23\x45\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x39\x46\x66\x7d\x59\x37\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x55\x38\x42\x44\x41\x54\x63\x70\x34\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x49\x33\x43\x46\x2a\x21\x30\x55\x41\x54\x6c\x73\x44\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x47\x77\x52\x41\x55\x51\x54\x48\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x46\x2a\x71\x7a\x42\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x7c\x57\x41\x54\x63\x76\x45\x45\x46\x64\x2a\x39\x45\x46\x64\x2a\x46\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x5f\x55\x41\x54\x63\x2a\x41\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x47\x42\x37\x62\x4c\x41\x54\x7d\x5e\x38\x41\x54\x25\x3b\x38\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x44\x45\x46\x64\x76\x38\x47\x25\x4f\x25\x46\x47\x62\x7c\x75\x39\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x52\x49\x46\x49\x57\x3b\x55\x47\x46\x29\x25\x65\x4f\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x38\x47\x25\x4f\x25\x37\x49\x35\x52\x39\x44\x46\x2a\x5a\x33\x59\x41\x54\x63\x23\x49\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x46\x2a\x37\x28\x55\x41\x55\x51\x5a\x4a\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x46\x66\x31\x54\x35\x48\x37\x70\x3d\x38\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x43\x45\x46\x64\x3e\x47\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x47\x25\x7a\x65\x36\x46\x2a\x37\x28\x55\x41\x54\x6c\x79\x4a\x45\x46\x64\x76\x39\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x44\x47\x42\x5f\x2b\x43\x46\x2a\x47\x24\x53\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x36\x46\x66\x31\x54\x41\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x62\x4c\x41\x54\x6c\x76\x35\x41\x54\x7d\x5e\x38\x41\x54\x6c\x23\x37\x41\x55\x48\x35\x41\x41\x54\x63\x70\x47\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x36\x47\x42\x47\x53\x35\x47\x42\x59\x3c\x55\x41\x54\x6c\x76\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x49\x33\x43\x46\x2a\x50\x77\x50\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x46\x45\x46\x64\x2a\x39\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x46\x66\x31\x54\x33\x49\x35\x61\x46\x45\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x25\x2b\x6b\x37\x46\x2a\x59\x7a\x50\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x59\x5e\x7d\x39\x49\x35\x23\x58\x48\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x38\x47\x25\x4f\x25\x42\x47\x41\x74\x6c\x41\x47\x62\x7c\x75\x36\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x47\x42\x37\x6e\x50\x41\x54\x6c\x3e\x42\x41\x55\x48\x48\x45\x41\x54\x75\x6c\x3d\x46\x29\x25\x59\x4d\x41\x54\x75\x79\x35\x41\x54\x63\x6d\x38\x45\x46\x64\x26\x38\x45\x46\x64\x79\x36\x46\x29\x53\x63\x35\x47\x64\x4c\x5f\x44\x47\x42\x47\x65\x4c\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x35\x49\x34\x6d\x47\x49\x48\x37\x70\x3d\x39\x46\x29\x3d\x4a\x34\x47\x42\x59\x74\x4f\x41\x54\x25\x7b\x42\x41\x54\x7e\x42\x45\x41\x54\x63\x70\x39\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x38\x47\x64\x43\x3c\x43\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x24\x51\x41\x54\x63\x76\x43\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x39\x46\x29\x53\x63\x35\x47\x63\x68\x62\x36\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x47\x25\x5f\x71\x38\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x41\x45\x46\x64\x5e\x49\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x45\x48\x37\x70\x3d\x39\x47\x26\x64\x7c\x44\x49\x57\x61\x36\x43\x46\x29\x25\x6e\x52\x41\x54\x6c\x26\x38\x41\x54\x25\x3e\x39\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x7b\x4a\x45\x46\x64\x76\x37\x46\x29\x53\x63\x35\x47\x42\x68\x6b\x38\x47\x42\x37\x62\x4c\x41\x54\x63\x3e\x49\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x45\x46\x64\x76\x37\x49\x34\x6d\x47\x42\x48\x38\x43\x74\x38\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x46\x49\x34\x6d\x47\x42\x47\x42\x50\x59\x36\x47\x42\x68\x7c\x57\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4a\x45\x46\x64\x76\x36\x46\x29\x53\x63\x38\x47\x62\x7c\x75\x42\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x46\x2a\x69\x36\x59\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x42\x48\x21\x4c\x37\x47\x46\x66\x31\x54\x35\x48\x59\x5e\x7d\x43\x49\x56\x3e\x50\x43\x48\x38\x3f\x43\x46\x48\x39\x30\x49\x47\x46\x2a\x47\x2b\x55\x41\x54\x63\x2a\x41\x41\x54\x3e\x32\x43\x41\x54\x76\x32\x45\x41\x54\x63\x73\x46\x45\x46\x64\x79\x38\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x35\x46\x66\x31\x54\x34\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x36\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x21\x33\x56\x41\x54\x63\x76\x48\x45\x46\x64\x76\x34\x48\x21\x4c\x37\x41\x46\x66\x3d\x53\x36\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x47\x42\x50\x6e\x4e\x41\x54\x63\x70\x42\x45\x46\x64\x79\x41\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x47\x43\x33\x3f\x44\x46\x29\x7d\x6b\x4f\x41\x54\x63\x23\x4b\x45\x46\x64\x76\x41\x47\x25\x4f\x25\x38\x48\x38\x43\x74\x38\x47\x42\x50\x59\x36\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x76\x41\x46\x66\x31\x54\x33\x48\x38\x3f\x43\x46\x46\x29\x3d\x71\x52\x41\x54\x75\x3e\x41\x41\x54\x63\x3e\x43\x41\x54\x63\x26\x45\x45\x46\x64\x23\x37\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x49\x46\x29\x53\x63\x34\x46\x67\x50\x71\x41\x47\x42\x68\x6b\x38\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x46\x29\x53\x63\x34\x46\x67\x47\x6b\x39\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x36\x48\x38\x64\x3c\x42\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x63\x79\x4a\x45\x46\x64\x79\x35\x48\x59\x5e\x7d\x41\x49\x56\x3e\x50\x4a\x48\x59\x5e\x7d\x39\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x63\x2b\x74\x39\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x34\x49\x56\x3e\x50\x49\x49\x34\x6d\x47\x46\x46\x29\x53\x63\x35\x47\x64\x4c\x5f\x44\x46\x29\x7d\x24\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x4a\x45\x46\x64\x76\x42\x46\x29\x53\x63\x34\x49\x35\x61\x46\x45\x46\x2a\x68\x3f\x54\x41\x54\x63\x26\x47\x45\x46\x64\x76\x34\x46\x29\x53\x63\x35\x49\x34\x6d\x47\x42\x47\x25\x4f\x25\x37\x48\x5a\x76\x3f\x42\x47\x63\x68\x62\x36\x47\x42\x47\x68\x4d\x41\x54\x6c\x3b\x41\x41\x54\x3e\x42\x46\x41\x54\x63\x79\x37\x41\x54\x75\x7b\x43\x41\x54\x7e\x48\x47\x41\x54\x7e\x35\x43\x41\x54\x63\x79\x37\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x42\x46\x29\x53\x63\x35\x47\x64\x43\x3c\x43\x46\x2a\x72\x46\x61\x41\x54\x6c\x79\x4a\x45\x46\x64\x3e\x42\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x64\x43\x3c\x43\x49\x56\x3e\x50\x4a\x49\x56\x3e\x50\x43\x46\x66\x75\x47\x34\x46\x29\x7d\x6b\x4f\x41\x54\x6c\x2a\x44\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x48\x21\x4c\x37\x42\x46\x67\x59\x77\x42\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x3c\x54\x41\x54\x6c\x79\x45\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x42\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x6c\x26\x46\x45\x46\x64\x79\x34\x46\x29\x53\x63\x41\x48\x37\x70\x3d\x45\x45\x46\x64\x5e\x43\x45\x46\x64\x79\x38\x47\x62\x7c\x75\x38\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x52\x52\x48\x48\x38\x3f\x43\x46\x46\x2a\x37\x56\x36\x48\x61\x39\x46\x46\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x55\x51\x63\x4b\x41\x54\x6c\x76\x46\x45\x46\x64\x79\x38\x48\x21\x4c\x37\x42\x48\x38\x43\x74\x38\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x7b\x37\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x38\x48\x21\x4c\x37\x49\x45\x46\x64\x5e\x4a\x45\x46\x64\x26\x45\x45\x46\x64\x23\x37\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x67\x47\x6b\x39\x49\x35\x38\x7c\x42\x47\x42\x68\x7a\x50\x41\x54\x63\x3b\x4e\x45\x46\x64\x23\x31\x41\x54\x63\x73\x46\x45\x46\x64\x76\x39\x46\x29\x53\x63\x34\x48\x5a\x6d\x2b\x41\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x43\x46\x29\x53\x63\x34\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x47\x45\x46\x64\x3e\x48\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x42\x47\x25\x4f\x25\x38\x46\x66\x6c\x41\x33\x46\x29\x7d\x77\x53\x41\x54\x63\x70\x41\x45\x46\x64\x79\x41\x45\x46\x64\x2a\x41\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x35\x46\x66\x6c\x41\x33\x47\x25\x5f\x71\x38\x46\x2a\x37\x74\x51\x41\x54\x63\x3b\x4c\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x37\x7a\x53\x41\x55\x48\x45\x44\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x46\x67\x59\x77\x42\x47\x42\x59\x65\x37\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x2a\x37\x7a\x53\x41\x54\x63\x70\x42\x45\x46\x64\x76\x33\x47\x25\x4f\x25\x37\x49\x35\x7b\x6a\x4a\x46\x2a\x37\x68\x4d\x41\x54\x6c\x3b\x41\x41\x54\x7e\x48\x47\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x41\x49\x34\x6d\x47\x43\x48\x38\x4c\x7a\x39\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x48\x59\x5e\x7d\x39\x48\x21\x76\x28\x39\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x3e\x41\x45\x46\x64\x7b\x43\x45\x46\x64\x79\x37\x47\x25\x4f\x25\x39\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x47\x42\x7a\x77\x41\x48\x5a\x6d\x2b\x41\x48\x23\x49\x43\x45\x49\x57\x52\x30\x42\x49\x34\x7e\x3f\x41\x49\x57\x52\x30\x42\x49\x57\x7b\x61\x48\x47\x42\x50\x24\x53\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x48\x38\x55\x28\x41\x46\x2a\x21\x30\x55\x41\x54\x63\x6d\x46\x45\x46\x64\x76\x36\x48\x21\x4c\x37\x41\x47\x64\x4c\x5f\x44\x46\x29\x25\x71\x53\x41\x54\x3d\x78\x3f\x46\x29\x25\x44\x33\x49\x57\x7b\x61\x48\x46\x2a\x37\x7a\x53\x41\x54\x63\x70\x41\x45\x46\x64\x76\x41\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x61\x30\x39\x45\x47\x63\x7a\x6e\x38\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x47\x62\x7c\x75\x37\x46\x2a\x7a\x28\x43\x46\x2a\x59\x7c\x57\x41\x54\x63\x3b\x4c\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x47\x63\x59\x56\x35\x49\x35\x3b\x64\x49\x46\x2a\x59\x5f\x56\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x76\x42\x45\x46\x64\x26\x46\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x41\x47\x25\x4f\x25\x46\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x43\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x46\x45\x46\x64\x76\x41\x47\x41\x74\x6c\x35\x47\x25\x7a\x65\x36\x48\x21\x26\x3c\x41\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x43\x45\x46\x64\x76\x42\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x41\x46\x2a\x7a\x28\x43\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x46\x66\x31\x54\x33\x46\x66\x63\x34\x32\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x79\x39\x47\x41\x74\x6c\x35\x49\x34\x6d\x47\x43\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x43\x48\x37\x70\x3d\x45\x45\x46\x64\x76\x33\x45\x46\x64\x79\x39\x46\x66\x31\x54\x33\x46\x2a\x59\x6e\x39\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x63\x6d\x43\x45\x46\x64\x3e\x48\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x5e\x49\x45\x46\x64\x76\x33\x46\x66\x31\x54\x34\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x41\x48\x37\x70\x3d\x39\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x6c\x76\x46\x45\x46\x64\x7b\x37\x41\x55\x48\x57\x4a\x41\x54\x3d\x5e\x39\x41\x54\x63\x73\x41\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x42\x46\x66\x25\x4d\x35\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x79\x35\x48\x21\x4c\x37\x43\x46\x29\x53\x63\x39\x49\x34\x6d\x47\x42\x49\x35\x73\x52\x47\x47\x42\x59\x74\x4f\x41\x54\x63\x26\x4d\x45\x46\x64\x76\x35\x47\x62\x7c\x75\x37\x46\x67\x50\x71\x41\x47\x42\x68\x3f\x55\x41\x54\x63\x2a\x4a\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x45\x46\x29\x53\x63\x39\x47\x41\x74\x6c\x39\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x71\x68\x37\x47\x42\x37\x74\x52\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x49\x56\x3e\x50\x47\x46\x29\x53\x63\x34\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x77\x39\x46\x46\x2a\x47\x77\x51\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x37\x47\x62\x7c\x75\x36\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x38\x42\x41\x54\x63\x3e\x4f\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x43\x48\x21\x4c\x37\x41\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x46\x29\x7d\x68\x4e\x41\x54\x63\x76\x48\x45\x46\x64\x3e\x49\x45\x46\x64\x3e\x46\x45\x46\x64\x76\x39\x46\x66\x31\x54\x34\x46\x67\x59\x77\x42\x47\x64\x56\x30\x45\x49\x57\x7b\x61\x48\x46\x2a\x59\x5f\x56\x41\x54\x63\x2a\x4b\x45\x46\x64\x76\x43\x47\x62\x7c\x75\x44\x49\x56\x3e\x50\x44\x47\x63\x7a\x6e\x38\x47\x42\x59\x77\x50\x41\x54\x6c\x26\x4a\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x45\x46\x29\x53\x63\x36\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x61\x39\x46\x46\x47\x64\x43\x3c\x43\x47\x42\x68\x5f\x56\x41\x55\x51\x45\x43\x41\x54\x26\x35\x45\x41\x54\x6c\x2a\x39\x41\x55\x51\x42\x42\x41\x55\x48\x35\x41\x41\x55\x50\x7d\x60\x47\x26\x6e\x33\x45\x47\x42\x59\x2b\x54\x41\x54\x6c\x26\x45\x45\x46\x64\x79\x35\x49\x34\x6d\x47\x42\x49\x57\x6a\x43\x44\x46\x2a\x21\x33\x56\x41\x55\x48\x42\x43\x41\x54\x6c\x73\x38\x45\x46\x64\x79\x37\x46\x29\x53\x63\x37\x48\x37\x70\x3d\x44\x49\x56\x3e\x50\x47\x48\x37\x70\x3d\x45\x49\x34\x6d\x47\x43\x47\x42\x5f\x2b\x43\x46\x29\x25\x6b\x51\x41\x55\x48\x38\x42\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x35\x48\x37\x70\x3d\x41\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x25\x5f\x71\x38\x47\x42\x59\x74\x4f\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x26\x43\x24\x41\x47\x42\x59\x5f\x57\x41\x54\x6c\x2a\x47\x45\x46\x64\x76\x39\x47\x62\x7c\x75\x36\x46\x29\x3d\x4a\x34\x48\x21\x26\x3c\x41\x49\x57\x23\x4f\x46\x46\x2a\x37\x71\x50\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3b\x43\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x42\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x48\x23\x30\x30\x43\x49\x57\x61\x36\x43\x47\x63\x5f\x7a\x41\x47\x42\x50\x24\x53\x41\x54\x6c\x79\x47\x45\x46\x64\x79\x35\x46\x66\x31\x54\x34\x47\x42\x5f\x2b\x43\x46\x2a\x37\x7a\x53\x41\x54\x6c\x66\x3c\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x26\x46\x45\x46\x64\x76\x43\x45\x46\x64\x26\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x46\x2a\x47\x62\x37\x49\x35\x38\x7c\x42\x46\x2a\x50\x24\x52\x41\x54\x63\x23\x45\x45\x46\x64\x3e\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x42\x48\x23\x39\x36\x44\x47\x42\x71\x2b\x52\x41\x54\x63\x2a\x41\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x47\x42\x37\x65\x4d\x41\x55\x38\x45\x45\x41\x55\x37\x2d\x5e\x49\x35\x52\x39\x44\x46\x2a\x59\x5f\x56\x41\x54\x75\x23\x36\x41\x54\x6c\x76\x41\x45\x46\x64\x3e\x39\x45\x46\x64\x3b\x42\x45\x46\x64\x23\x45\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x37\x47\x41\x74\x6c\x35\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x5f\x57\x41\x54\x63\x3e\x48\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x35\x49\x57\x73\x49\x45\x49\x35\x52\x39\x44\x46\x2a\x21\x43\x59\x41\x54\x6c\x23\x43\x45\x46\x64\x26\x42\x45\x46\x64\x3b\x43\x45\x46\x64\x2a\x43\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x43\x47\x41\x74\x6c\x37\x48\x37\x70\x3d\x42\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x36\x48\x38\x4c\x7a\x39\x48\x23\x39\x36\x44\x47\x26\x4c\x2b\x42\x47\x42\x50\x28\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x48\x48\x21\x4c\x37\x42\x47\x64\x4c\x5f\x44\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x79\x34\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x46\x47\x25\x4f\x25\x37\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x43\x48\x38\x64\x3c\x42\x48\x5a\x26\x7c\x43\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x36\x46\x66\x6c\x41\x33\x46\x2a\x68\x74\x41\x46\x29\x25\x53\x4b\x41\x54\x25\x3b\x38\x41\x54\x6c\x79\x42\x45\x46\x64\x76\x42\x48\x37\x70\x3d\x39\x46\x29\x25\x44\x33\x47\x42\x50\x2b\x55\x41\x54\x6c\x76\x46\x45\x46\x64\x75\x7e\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x42\x49\x56\x3e\x50\x48\x49\x56\x3e\x50\x43\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x39\x47\x43\x33\x3f\x44\x47\x63\x2b\x74\x39\x46\x2a\x59\x6e\x39\x46\x2a\x59\x5f\x56\x41\x54\x6c\x76\x45\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x76\x39\x48\x59\x5e\x7d\x41\x47\x42\x7a\x77\x41\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x6c\x23\x45\x45\x46\x64\x76\x42\x47\x25\x4f\x25\x37\x48\x38\x43\x74\x38\x46\x2a\x37\x77\x52\x41\x54\x63\x70\x46\x45\x46\x64\x79\x39\x45\x46\x64\x23\x44\x45\x46\x64\x76\x38\x49\x34\x6d\x47\x46\x49\x56\x3e\x50\x44\x46\x67\x47\x6b\x39\x48\x61\x30\x39\x45\x48\x21\x76\x28\x39\x47\x64\x56\x30\x45\x46\x29\x7d\x74\x52\x41\x54\x6c\x2a\x39\x41\x54\x63\x76\x36\x41\x54\x63\x6d\x43\x45\x46\x64\x79\x36\x48\x59\x5e\x7d\x41\x47\x26\x43\x24\x41\x47\x42\x59\x2b\x54\x41\x54\x63\x2a\x46\x45\x46\x64\x79\x35\x49\x56\x3e\x50\x43\x46\x67\x50\x71\x41\x46\x2a\x37\x24\x54\x41\x54\x6c\x76\x47\x45\x46\x64\x76\x33\x47\x41\x74\x6c\x36\x46\x29\x53\x63\x34\x46\x66\x31\x54\x42\x48\x59\x5e\x7d\x41\x47\x42\x50\x59\x36\x46\x29\x3d\x65\x4e\x41\x54\x63\x6d\x42\x45\x46\x64\x76\x42\x49\x56\x3e\x50\x43\x47\x63\x2b\x74\x39\x47\x42\x71\x71\x39\x48\x61\x49\x4c\x47\x46\x2a\x72\x36\x58\x41\x54\x63\x3b\x47\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x42\x68\x2b\x53\x41\x54\x63\x3b\x49\x45\x46\x64\x79\x39\x47\x25\x4f\x25\x38\x46\x29\x25\x44\x33\x47\x63\x7a\x6e\x38\x47\x63\x5f\x7a\x41\x46\x2a\x7a\x28\x43\x47\x42\x71\x28\x51\x41\x54\x63\x73\x43\x45\x46\x64\x76\x43\x48\x37\x70\x3d\x38\x47\x42\x37\x4d\x34\x49\x35\x61\x46\x45\x47\x62\x7c\x75\x42\x47\x62\x7c\x75\x36\x48\x59\x5e\x7d\x46\x47\x25\x4f\x25\x37\x47\x25\x4f\x25\x37\x49\x58\x45\x6d\x4a\x47\x42\x59\x24\x52\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x41\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x46\x2a\x47\x28\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x35\x48\x59\x5e\x7d\x39\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x25\x7a\x65\x36\x46\x2a\x37\x2b\x56\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x48\x45\x46\x64\x76\x35\x49\x56\x3e\x50\x45\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x41\x47\x26\x33\x77\x39\x47\x42\x50\x7a\x52\x41\x54\x6c\x26\x4c\x45\x46\x64\x79\x34\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x47\x42\x71\x24\x50\x41\x54\x63\x23\x47\x45\x46\x64\x3e\x45\x45\x46\x64\x3e\x35\x41\x54\x63\x23\x38\x41\x54\x6c\x26\x45\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x39\x48\x37\x70\x3d\x43\x49\x34\x6d\x47\x44\x49\x56\x3e\x50\x43\x47\x42\x7a\x77\x41\x46\x2a\x68\x74\x41\x46\x29\x25\x44\x33\x46\x2a\x47\x62\x37\x46\x2a\x21\x49\x61\x41\x54\x6c\x23\x4b\x45\x46\x64\x79\x37\x49\x56\x3e\x50\x44\x47\x26\x4c\x2b\x42\x47\x42\x50\x3c\x56\x41\x55\x38\x35\x42\x41\x54\x6c\x73\x38\x45\x46\x64\x76\x36\x49\x56\x3e\x50\x4b\x45\x46\x64\x5e\x4a\x45\x46\x64\x2a\x39\x45\x46\x64\x26\x41\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x47\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x61\x30\x39\x45\x47\x42\x37\x77\x53\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x44\x45\x46\x64\x79\x36\x48\x21\x4c\x37\x41\x49\x57\x73\x49\x45\x49\x35\x7b\x6a\x4a\x46\x2a\x71\x3c\x52\x41\x54\x63\x3b\x49\x45\x46\x64\x76\x38\x46\x29\x53\x63\x34\x47\x63\x5f\x7a\x41\x46\x29\x3d\x65\x4e\x41\x54\x6c\x3b\x41\x41\x54\x3e\x32\x43\x41\x54\x63\x3b\x4c\x45\x46\x64\x23\x44\x45\x46\x64\x76\x38\x48\x59\x5e\x7d\x47\x45\x46\x64\x5e\x45\x45\x46\x64\x23\x31\x41\x54\x63\x6d\x38\x45\x46\x64\x76\x41\x45\x46\x64\x76\x33\x46\x29\x53\x63\x37\x47\x41\x74\x6c\x35\x47\x26\x33\x77\x39\x46\x2a\x7a\x5f\x53\x41\x54\x6c\x76\x39\x45\x46\x64\x79\x36\x49\x34\x6d\x47\x43\x46\x2a\x7a\x28\x43\x49\x35\x61\x46\x45\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x7b\x4a\x45\x46\x64\x3e\x41\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x35\x46\x2a\x71\x7a\x42\x46\x29\x25\x62\x4e\x41\x54\x63\x3b\x4f\x45\x46\x64\x76\x36\x46\x29\x53\x63\x35\x48\x59\x5e\x7d\x39\x46\x66\x3d\x53\x36\x46\x2a\x50\x5f\x57\x41\x54\x63\x2a\x49\x45\x46\x64\x76\x41\x47\x62\x7c\x75\x37\x46\x66\x31\x54\x34\x47\x42\x68\x6b\x38\x47\x42\x71\x3c\x53\x41\x54\x63\x23\x44\x45\x46\x64\x76\x36\x48\x37\x70\x3d\x41\x49\x34\x6d\x47\x48\x48\x37\x70\x3d\x43\x48\x37\x70\x3d\x38\x49\x35\x73\x52\x47\x47\x63\x71\x68\x37\x46\x2a\x50\x5f\x57\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x36\x48\x59\x5e\x7d\x44\x47\x25\x4f\x25\x37\x46\x2a\x59\x6e\x39\x48\x5a\x3f\x33\x44\x47\x26\x77\x39\x46\x46\x2a\x47\x71\x4f\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x47\x42\x47\x77\x52\x41\x54\x54\x54\x2d\x46\x2a\x68\x3f\x54\x41\x54\x63\x3e\x4c\x45\x46\x64\x2a\x38\x45\x46\x64\x79\x34\x45\x46\x64\x76\x33\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x38\x47\x41\x74\x6c\x35\x46\x66\x3d\x53\x36\x46\x2a\x72\x46\x61\x41\x54\x63\x76\x42\x45\x46\x64\x3e\x45\x45\x46\x64\x3b\x47\x45\x46\x64\x76\x42\x48\x59\x5e\x7d\x39\x49\x35\x38\x7c\x42\x46\x2a\x68\x28\x51\x41\x54\x6c\x76\x35\x41\x54\x6c\x73\x47\x45\x46\x64\x79\x38\x48\x59\x5e\x7d\x39\x48\x23\x49\x43\x45\x46\x2a\x21\x49\x61\x41\x54\x3e\x38\x45\x41\x54\x63\x73\x35\x41\x55\x38\x4e\x48\x41\x54\x63\x76\x44\x45\x46\x64\x23\x36\x45\x46\x64\x79\x35\x46\x29\x53\x63\x34\x49\x34\x6d\x47\x46\x49\x34\x6d\x47\x49\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x37\x41\x55\x51\x5a\x4a\x41\x54\x63\x3e\x4e\x45\x46\x64\x79\x34\x48\x21\x4c\x37\x42\x46\x29\x7d\x50\x35\x46\x2a\x21\x30\x55\x41\x54\x63\x3e\x4a\x45\x46\x64\x5e\x42\x45\x46\x64\x76\x43\x48\x21\x4c\x37\x42\x47\x63\x68\x62\x36\x47\x26\x4c\x2b\x42\x48\x61\x39\x46\x46\x46\x29\x25\x56\x4c\x41\x55\x51\x48\x44\x41\x54\x6c\x79\x49\x45\x46\x64\x76\x33\x48\x21\x4c\x37\x48\x47\x41\x74\x6c\x35\x48\x61\x30\x39\x45\x46\x2a\x72\x43\x5a\x41\x54\x75\x6c\x3d\x47\x63\x7a\x6e\x38\x46\x2a\x59\x3c\x54\x41\x54\x63\x76\x49\x45\x46\x64\x79\x36\x49\x56\x3e\x50\x43\x48\x21\x4c\x37\x41\x49\x35\x61\x46\x45\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x38\x47\x62\x7c\x75\x39\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x44\x47\x26\x33\x77\x39\x46\x29\x3d\x6e\x51\x41\x54\x6c\x26\x4a\x45\x46\x64\x7b\x43\x45\x46\x64\x3b\x42\x45\x46\x64\x79\x44\x45\x46\x64\x7b\x42\x45\x46\x64\x5e\x41\x45\x46\x64\x7b\x47\x45\x46\x64\x76\x33\x47\x62\x7c\x75\x37\x47\x42\x7a\x77\x41\x47\x42\x68\x2b\x53\x41\x54\x6c\x23\x47\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x43\x33\x3f\x44\x48\x21\x3e\x5f\x42\x47\x42\x37\x62\x4c\x41\x54\x63\x76\x47\x45\x46\x64\x79\x30\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x26\x44\x45\x46\x64\x79\x36\x47\x41\x74\x6c\x42\x49\x56\x3e\x50\x49\x48\x59\x5e\x7d\x39\x48\x5a\x76\x3f\x42\x46\x29\x7d\x24\x55\x41\x54\x76\x32\x45\x41\x55\x51\x54\x48\x41\x54\x6c\x2a\x45\x45\x46\x64\x76\x41\x48\x59\x5e\x7d\x39\x48\x5a\x6d\x2b\x41\x46\x29\x7d\x71\x51\x41\x54\x6c\x26\x47\x45\x46\x64\x79\x37\x47\x41\x74\x6c\x35\x48\x23\x49\x43\x45\x46\x2a\x59\x2b\x53\x41\x54\x63\x70\x39\x45\x46\x64\x79\x41\x45\x46\x64\x5e\x49\x45\x46\x64\x76\x37\x46\x29\x53\x63\x36\x46\x29\x53\x63\x35\x46\x29\x3d\x4a\x34\x48\x61\x52\x52\x48\x46\x29\x3d\x56\x4b\x41\x54\x3d\x7e\x42\x41\x55\x48\x45\x44\x41\x54\x63\x70\x45\x45\x46\x64\x3b\x44\x45\x46\x64\x76\x33\x48\x59\x5e\x7d\x41\x47\x42\x47\x53\x35\x47\x42\x37\x77\x53\x41\x54\x6c\x26\x49\x45\x46\x64\x79\x39\x46\x66\x31\x54\x34\x47\x42\x59\x65\x37\x46\x29\x25\x6e\x52\x41\x54\x63\x76\x48\x45\x46\x64\x79\x36\x46\x29\x53\x63\x38\x47\x25\x4f\x25\x37\x47\x42\x71\x71\x39\x47\x26\x55\x3f\x43\x47\x25\x2b\x6b\x37\x47\x42\x50\x71\x4f\x41\x55\x38\x51\x49\x41\x55\x38\x48\x46\x41\x54\x63\x26\x4b\x45\x46\x64\x76\x36\x47\x25\x4f\x25\x39\x49\x56\x3e\x50\x4b\x48\x59\x5e\x7d\x39\x48\x5a\x26\x7c\x43\x46\x2a\x71\x3c\x52\x41\x54\x63\x2a\x48\x45\x46\x64\x76\x33\x49\x56\x3e\x50\x44\x46\x2a\x7a\x28\x43\x47\x42\x47\x65\x4c\x41\x54\x63\x2a\x4e\x45\x46\x64\x76\x43\x49\x56\x3e\x50\x46\x48\x59\x5e\x7d\x42\x48\x37\x70\x3d\x38\x49\x56\x3e\x50\x43\x48\x5a\x26\x7c\x43\x47\x64\x43\x3c\x43\x47\x42\x68\x2b\x53\x41\x54\x63\x73\x47\x45\x46\x64\x76\x34\x47\x41\x74\x6c\x42\x47\x25\x4f\x25\x37\x46\x66\x6c\x41\x33\x46\x29\x3d\x6e\x51\x41\x54\x7e\x38\x44\x41\x54\x3e\x32\x43\x41\x54\x63\x76\x49\x45\x46\x64\x79\x34\x49\x34\x6d\x47\x43\x47\x26\x55\x3f\x43\x46\x2a\x68\x3f\x54\x41\x54\x6c\x76\x46\x45\x46\x64\x76\x33\x49\x34\x6d\x47\x42\x47\x64\x43\x3c\x43\x47\x42\x50\x74\x50\x41\x54\x3d\x5e\x39\x41\x54\x63\x73\x45\x45\x46\x64\x26\x43\x45\x46\x64\x76\x35\x48\x37\x70\x3d\x39\x47\x42\x47\x53\x35\x48\x23\x73\x61\x49\x48\x23\x52\x49\x46\x46\x2a\x59\x2b\x53\x41\x54\x63\x76\x44\x45\x46\x64\x23\x45\x45\x46\x64\x7b\x48\x45\x46\x64\x79\x38\x47\x41\x74\x6c\x36\x47\x63\x59\x56\x35\x46\x2a\x21\x33\x56\x41\x55\x48\x57\x4a\x41\x54\x63\x3b\x4e\x45\x46\x64\x76\x43\x46\x66\x31\x54\x34\x47\x64\x33\x28\x42\x47\x42\x47\x71\x50\x41\x54\x7d\x7e\x78\x44\x4c\x50\x2b\x59\x55\x74\x65\x44\x3c\x4a\x21\x35\x45\x63\x43\x7c\x5f\x53\x2b\x55\x74\x65\x45\x64\x55\x74\x33\x3e\x61\x55\x74\x65\x45\x65\x55\x6e\x4f\x35\x28\x54\x60\x33\x41\x2a\x55\x74\x63\x49\x2b\x55\x74\x65\x45\x65\x44\x46\x27\x29\x29\x29') \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index dcbb1ef6..66185190 100644 --- a/requirements.txt +++ b/requirements.txt @@ -45,3 +45,4 @@ yookassa==3.3.0 httpx qrcode pillow +rich \ No newline at end of file

JBDVL^C((K0@UXs4v&!y>;H1|{14M6ElH~)M? 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�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 literal 158152 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%0DG*e+)q#NjM9~P$ZMmo{Yee;Tu+2`$RiJUF; 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 0x03030000 - #define Py_LIMITED_API CYTHON_LIMITED_API - #else - #define Py_LIMITED_API 0x03030000 - #endif - #endif -#endif - -#include "Python.h" -#ifndef Py_PYTHON_H - #error Python headers needed to compile C extensions, please install development version of Python. -#elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) - #error Cython requires Python 2.7+ or Python 3.3+. -#else -#if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API -#define __PYX_EXTRA_ABI_MODULE_NAME "limited" -#else -#define __PYX_EXTRA_ABI_MODULE_NAME "" -#endif -#define CYTHON_ABI "3_0_12" __PYX_EXTRA_ABI_MODULE_NAME -#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI -#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "." -#define CYTHON_HEX_VERSION 0x03000CF0 -#define CYTHON_FUTURE_DIVISION 1 -#include -#ifndef offsetof - #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) -#endif -#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS) - #ifndef __stdcall - #define __stdcall - #endif - #ifndef __cdecl - #define __cdecl - #endif - #ifndef __fastcall - #define __fastcall - #endif -#endif -#ifndef DL_IMPORT - #define DL_IMPORT(t) t -#endif -#ifndef DL_EXPORT - #define DL_EXPORT(t) t -#endif -#define __PYX_COMMA , -#ifndef HAVE_LONG_LONG - #define HAVE_LONG_LONG -#endif -#ifndef PY_LONG_LONG - #define PY_LONG_LONG LONG_LONG -#endif -#ifndef Py_HUGE_VAL - #define Py_HUGE_VAL HUGE_VAL -#endif -#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX -#if defined(GRAALVM_PYTHON) - /* For very preliminary testing purposes. Most variables are set the same as PyPy. - The existence of this section does not imply that anything works or is even tested */ - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 1 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(PYPY_VERSION) - #define CYTHON_COMPILING_IN_PYPY 1 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #undef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 1 - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3) - #endif - #if PY_VERSION_HEX < 0x03090000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00) - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(CYTHON_LIMITED_API) - #ifdef Py_LIMITED_API - #undef __PYX_LIMITED_VERSION_HEX - #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API - #endif - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 1 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #undef CYTHON_CLINE_IN_TRACEBACK - #define CYTHON_CLINE_IN_TRACEBACK 0 - #undef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 0 - #undef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 1 - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #undef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #endif - #undef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #undef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 0 - #undef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 0 - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #undef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 0 - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #undef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 1 - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 0 - #endif - #undef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 -#elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL) - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 0 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 1 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #undef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 0 - #ifndef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 0 - #endif - #undef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 0 - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #undef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 0 - #undef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL 0 - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL 1 - #endif - #undef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 0 - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #ifndef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #ifndef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 0 - #endif -#else - #define CYTHON_COMPILING_IN_PYPY 0 - #define CYTHON_COMPILING_IN_CPYTHON 1 - #define CYTHON_COMPILING_IN_LIMITED_API 0 - #define CYTHON_COMPILING_IN_GRAAL 0 - #define CYTHON_COMPILING_IN_NOGIL 0 - #ifndef CYTHON_USE_TYPE_SLOTS - #define CYTHON_USE_TYPE_SLOTS 1 - #endif - #ifndef CYTHON_USE_TYPE_SPECS - #define CYTHON_USE_TYPE_SPECS 0 - #endif - #ifndef CYTHON_USE_PYTYPE_LOOKUP - #define CYTHON_USE_PYTYPE_LOOKUP 1 - #endif - #if PY_MAJOR_VERSION < 3 - #undef CYTHON_USE_ASYNC_SLOTS - #define CYTHON_USE_ASYNC_SLOTS 0 - #elif !defined(CYTHON_USE_ASYNC_SLOTS) - #define CYTHON_USE_ASYNC_SLOTS 1 - #endif - #ifndef CYTHON_USE_PYLONG_INTERNALS - #define CYTHON_USE_PYLONG_INTERNALS 1 - #endif - #ifndef CYTHON_USE_PYLIST_INTERNALS - #define CYTHON_USE_PYLIST_INTERNALS 1 - #endif - #ifndef CYTHON_USE_UNICODE_INTERNALS - #define CYTHON_USE_UNICODE_INTERNALS 1 - #endif - #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2 - #undef CYTHON_USE_UNICODE_WRITER - #define CYTHON_USE_UNICODE_WRITER 0 - #elif !defined(CYTHON_USE_UNICODE_WRITER) - #define CYTHON_USE_UNICODE_WRITER 1 - #endif - #ifndef CYTHON_AVOID_BORROWED_REFS - #define CYTHON_AVOID_BORROWED_REFS 0 - #endif - #ifndef CYTHON_ASSUME_SAFE_MACROS - #define CYTHON_ASSUME_SAFE_MACROS 1 - #endif - #ifndef CYTHON_UNPACK_METHODS - #define CYTHON_UNPACK_METHODS 1 - #endif - #ifndef CYTHON_FAST_THREAD_STATE - #define CYTHON_FAST_THREAD_STATE 1 - #endif - #ifndef CYTHON_FAST_GIL - #define CYTHON_FAST_GIL (PY_MAJOR_VERSION < 3 || PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030C00A6) - #endif - #ifndef CYTHON_METH_FASTCALL - #define CYTHON_METH_FASTCALL (PY_VERSION_HEX >= 0x030700A1) - #endif - #ifndef CYTHON_FAST_PYCALL - #define CYTHON_FAST_PYCALL 1 - #endif - #ifndef CYTHON_PEP487_INIT_SUBCLASS - #define CYTHON_PEP487_INIT_SUBCLASS 1 - #endif - #if PY_VERSION_HEX < 0x03050000 - #undef CYTHON_PEP489_MULTI_PHASE_INIT - #define CYTHON_PEP489_MULTI_PHASE_INIT 0 - #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT) - #define CYTHON_PEP489_MULTI_PHASE_INIT 1 - #endif - #ifndef CYTHON_USE_MODULE_STATE - #define CYTHON_USE_MODULE_STATE 0 - #endif - #if PY_VERSION_HEX < 0x030400a1 - #undef CYTHON_USE_TP_FINALIZE - #define CYTHON_USE_TP_FINALIZE 0 - #elif !defined(CYTHON_USE_TP_FINALIZE) - #define CYTHON_USE_TP_FINALIZE 1 - #endif - #if PY_VERSION_HEX < 0x030600B1 - #undef CYTHON_USE_DICT_VERSIONS - #define CYTHON_USE_DICT_VERSIONS 0 - #elif !defined(CYTHON_USE_DICT_VERSIONS) - #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX < 0x030C00A5) - #endif - #if PY_VERSION_HEX < 0x030700A3 - #undef CYTHON_USE_EXC_INFO_STACK - #define CYTHON_USE_EXC_INFO_STACK 0 - #elif !defined(CYTHON_USE_EXC_INFO_STACK) - #define CYTHON_USE_EXC_INFO_STACK 1 - #endif - #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC - #define CYTHON_UPDATE_DESCRIPTOR_DOC 1 - #endif - #ifndef CYTHON_USE_FREELISTS - #define CYTHON_USE_FREELISTS 1 - #endif -#endif -#if !defined(CYTHON_FAST_PYCCALL) -#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) -#endif -#if !defined(CYTHON_VECTORCALL) -#define CYTHON_VECTORCALL (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1) -#endif -#define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1) -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_MAJOR_VERSION < 3 - #include "longintrepr.h" - #endif - #undef SHIFT - #undef BASE - #undef MASK - #ifdef SIZEOF_VOID_P - enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; - #endif -#endif -#ifndef __has_attribute - #define __has_attribute(x) 0 -#endif -#ifndef __has_cpp_attribute - #define __has_cpp_attribute(x) 0 -#endif -#ifndef CYTHON_RESTRICT - #if defined(__GNUC__) - #define CYTHON_RESTRICT __restrict__ - #elif defined(_MSC_VER) && _MSC_VER >= 1400 - #define CYTHON_RESTRICT __restrict - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_RESTRICT restrict - #else - #define CYTHON_RESTRICT - #endif -#endif -#ifndef CYTHON_UNUSED - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(maybe_unused) - #define CYTHON_UNUSED [[maybe_unused]] - #endif - #endif - #endif -#endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_UNUSED_VAR -# if defined(__cplusplus) - template void CYTHON_UNUSED_VAR( const T& ) { } -# else -# define CYTHON_UNUSED_VAR(x) (void)(x) -# endif -#endif -#ifndef CYTHON_MAYBE_UNUSED_VAR - #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x) -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_USE_CPP_STD_MOVE - #if defined(__cplusplus) && (\ - __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)) - #define CYTHON_USE_CPP_STD_MOVE 1 - #else - #define CYTHON_USE_CPP_STD_MOVE 0 - #endif -#endif -#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) -#ifdef _MSC_VER - #ifndef _MSC_STDINT_H_ - #if _MSC_VER < 1300 - typedef unsigned char uint8_t; - typedef unsigned short uint16_t; - typedef unsigned int uint32_t; - #else - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; - #endif - #endif - #if _MSC_VER < 1300 - #ifdef _WIN64 - typedef unsigned long long __pyx_uintptr_t; - #else - typedef unsigned int __pyx_uintptr_t; - #endif - #else - #ifdef _WIN64 - typedef unsigned __int64 __pyx_uintptr_t; - #else - typedef unsigned __int32 __pyx_uintptr_t; - #endif - #endif -#else - #include - typedef uintptr_t __pyx_uintptr_t; -#endif -#ifndef CYTHON_FALLTHROUGH - #if defined(__cplusplus) - /* for clang __has_cpp_attribute(fallthrough) is true even before C++17 - * but leads to warnings with -pedantic, since it is a C++17 feature */ - #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) - #if __has_cpp_attribute(fallthrough) - #define CYTHON_FALLTHROUGH [[fallthrough]] - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_cpp_attribute(clang::fallthrough) - #define CYTHON_FALLTHROUGH [[clang::fallthrough]] - #elif __has_cpp_attribute(gnu::fallthrough) - #define CYTHON_FALLTHROUGH [[gnu::fallthrough]] - #endif - #endif - #endif - #ifndef CYTHON_FALLTHROUGH - #if __has_attribute(fallthrough) - #define CYTHON_FALLTHROUGH __attribute__((fallthrough)) - #else - #define CYTHON_FALLTHROUGH - #endif - #endif - #if defined(__clang__) && defined(__apple_build_version__) - #if __apple_build_version__ < 7000000 - #undef CYTHON_FALLTHROUGH - #define CYTHON_FALLTHROUGH - #endif - #endif -#endif -#ifdef __cplusplus - template - struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);}; - #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL::value) -#else - #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0) -#endif -#if CYTHON_COMPILING_IN_PYPY == 1 - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000) -#else - #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000) -#endif -#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer)) - -#ifndef CYTHON_INLINE - #if defined(__clang__) - #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) - #elif defined(__GNUC__) - #define CYTHON_INLINE __inline__ - #elif defined(_MSC_VER) - #define CYTHON_INLINE __inline - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define CYTHON_INLINE inline - #else - #define CYTHON_INLINE - #endif -#endif - -#define __PYX_BUILD_PY_SSIZE_T "n" -#define CYTHON_FORMAT_SSIZE_T "z" -#if PY_MAJOR_VERSION < 3 - #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" - #define __Pyx_DefaultClassType PyClass_Type - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_BUILTIN_MODULE_NAME "builtins" - #define __Pyx_DefaultClassType PyType_Type -#if CYTHON_COMPILING_IN_LIMITED_API - static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyObject *exception_table = NULL; - PyObject *types_module=NULL, *code_type=NULL, *result=NULL; - #if __PYX_LIMITED_VERSION_HEX < 0x030B0000 - PyObject *version_info; - PyObject *py_minor_version = NULL; - #endif - long minor_version = 0; - PyObject *type, *value, *traceback; - PyErr_Fetch(&type, &value, &traceback); - #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000 - minor_version = 11; - #else - if (!(version_info = PySys_GetObject("version_info"))) goto end; - if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end; - minor_version = PyLong_AsLong(py_minor_version); - Py_DECREF(py_minor_version); - if (minor_version == -1 && PyErr_Occurred()) goto end; - #endif - if (!(types_module = PyImport_ImportModule("types"))) goto end; - if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end; - if (minor_version <= 7) { - (void)p; - result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else if (minor_version <= 10) { - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, fline, lnos, fv, cell); - } else { - if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end; - result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code, - c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell); - } - end: - Py_XDECREF(code_type); - Py_XDECREF(exception_table); - Py_XDECREF(types_module); - if (type) { - PyErr_Restore(type, value, traceback); - } - return result; - } - #ifndef CO_OPTIMIZED - #define CO_OPTIMIZED 0x0001 - #endif - #ifndef CO_NEWLOCALS - #define CO_NEWLOCALS 0x0002 - #endif - #ifndef CO_VARARGS - #define CO_VARARGS 0x0004 - #endif - #ifndef CO_VARKEYWORDS - #define CO_VARKEYWORDS 0x0008 - #endif - #ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x0200 - #endif - #ifndef CO_GENERATOR - #define CO_GENERATOR 0x0020 - #endif - #ifndef CO_COROUTINE - #define CO_COROUTINE 0x0080 - #endif -#elif PY_VERSION_HEX >= 0x030B0000 - static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, - PyObject *code, PyObject *c, PyObject* n, PyObject *v, - PyObject *fv, PyObject *cell, PyObject* fn, - PyObject *name, int fline, PyObject *lnos) { - PyCodeObject *result; - PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); - if (!empty_bytes) return NULL; - result = - #if PY_VERSION_HEX >= 0x030C0000 - PyUnstable_Code_NewWithPosOnlyArgs - #else - PyCode_NewWithPosOnlyArgs - #endif - (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes); - Py_DECREF(empty_bytes); - return result; - } -#elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#else - #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\ - PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) -#endif -#endif -#if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE) - #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type) -#else - #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is) - #define __Pyx_Py_Is(x, y) Py_Is(x, y) -#else - #define __Pyx_Py_Is(x, y) ((x) == (y)) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone) - #define __Pyx_Py_IsNone(ob) Py_IsNone(ob) -#else - #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue) - #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob) -#else - #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True) -#endif -#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse) - #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob) -#else - #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False) -#endif -#define __Pyx_NoneAsNull(obj) (__Pyx_Py_IsNone(obj) ? NULL : (obj)) -#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o) -#else - #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o) -#endif -#ifndef CO_COROUTINE - #define CO_COROUTINE 0x80 -#endif -#ifndef CO_ASYNC_GENERATOR - #define CO_ASYNC_GENERATOR 0x200 -#endif -#ifndef Py_TPFLAGS_CHECKTYPES - #define Py_TPFLAGS_CHECKTYPES 0 -#endif -#ifndef Py_TPFLAGS_HAVE_INDEX - #define Py_TPFLAGS_HAVE_INDEX 0 -#endif -#ifndef Py_TPFLAGS_HAVE_NEWBUFFER - #define Py_TPFLAGS_HAVE_NEWBUFFER 0 -#endif -#ifndef Py_TPFLAGS_HAVE_FINALIZE - #define Py_TPFLAGS_HAVE_FINALIZE 0 -#endif -#ifndef Py_TPFLAGS_SEQUENCE - #define Py_TPFLAGS_SEQUENCE 0 -#endif -#ifndef Py_TPFLAGS_MAPPING - #define Py_TPFLAGS_MAPPING 0 -#endif -#ifndef METH_STACKLESS - #define METH_STACKLESS 0 -#endif -#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL) - #ifndef METH_FASTCALL - #define METH_FASTCALL 0x80 - #endif - typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); - typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, - Py_ssize_t nargs, PyObject *kwnames); -#else - #if PY_VERSION_HEX >= 0x030d00A4 - # define __Pyx_PyCFunctionFast PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords - #else - # define __Pyx_PyCFunctionFast _PyCFunctionFast - # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords - #endif -#endif -#if CYTHON_METH_FASTCALL - #define __Pyx_METH_FASTCALL METH_FASTCALL - #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast - #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords -#else - #define __Pyx_METH_FASTCALL METH_VARARGS - #define __Pyx_PyCFunction_FastCall PyCFunction - #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords -#endif -#if CYTHON_VECTORCALL - #define __pyx_vectorcallfunc vectorcallfunc - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET PY_VECTORCALL_ARGUMENTS_OFFSET - #define __Pyx_PyVectorcall_NARGS(n) PyVectorcall_NARGS((size_t)(n)) -#elif CYTHON_BACKPORT_VECTORCALL - typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args, - size_t nargsf, PyObject *kwnames); - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET ((size_t)1 << (8 * sizeof(size_t) - 1)) - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)) -#else - #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0 - #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n)) -#endif -#if PY_MAJOR_VERSION >= 0x030900B1 -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func) -#else -#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func) -#endif -#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func) -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth) -#elif !CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func) -#endif -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags) -static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) { - return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self; -} -#endif -static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) { -#if CYTHON_COMPILING_IN_LIMITED_API - return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc; -#else - return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -#endif -} -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc) -#if __PYX_LIMITED_VERSION_HEX < 0x030900B1 - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b)) - typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *); -#else - #define __Pyx_PyType_FromModuleAndSpec(m, s, b) PyType_FromModuleAndSpec(m, s, b) - #define __Pyx_PyCMethod PyCMethod -#endif -#ifndef METH_METHOD - #define METH_METHOD 0x200 -#endif -#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc) - #define PyObject_Malloc(s) PyMem_Malloc(s) - #define PyObject_Free(p) PyMem_Free(p) - #define PyObject_Realloc(p) PyMem_Realloc(p) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) -#else - #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) - #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyThreadState_Current PyThreadState_Get() -#elif !CYTHON_FAST_THREAD_STATE - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#elif PY_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked() -#elif PY_VERSION_HEX >= 0x03060000 - #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet() -#elif PY_VERSION_HEX >= 0x03000000 - #define __Pyx_PyThreadState_Current PyThreadState_GET() -#else - #define __Pyx_PyThreadState_Current _PyThreadState_Current -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE void *__Pyx_PyModule_GetState(PyObject *op) -{ - void *result; - result = PyModule_GetState(op); - if (!result) - Py_FatalError("Couldn't find the module state"); - return result; -} -#endif -#define __Pyx_PyObject_GetSlot(obj, name, func_ctype) __Pyx_PyType_GetSlot(Py_TYPE(obj), name, func_ctype) -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((func_ctype) PyType_GetSlot((type), Py_##name)) -#else - #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((type)->name) -#endif -#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT) -#include "pythread.h" -#define Py_tss_NEEDS_INIT 0 -typedef int Py_tss_t; -static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { - *key = PyThread_create_key(); - return 0; -} -static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { - Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); - *key = Py_tss_NEEDS_INIT; - return key; -} -static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { - PyObject_Free(key); -} -static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { - return *key != Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { - PyThread_delete_key(*key); - *key = Py_tss_NEEDS_INIT; -} -static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { - return PyThread_set_key_value(*key, value); -} -static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { - return PyThread_get_key_value(*key); -} -#endif -#if PY_MAJOR_VERSION < 3 - #if CYTHON_COMPILING_IN_PYPY - #if PYPY_VERSION_NUM < 0x07030600 - #if defined(__cplusplus) && __cplusplus >= 201402L - [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]] - #elif defined(__GNUC__) || defined(__clang__) - __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))) - #elif defined(_MSC_VER) - __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")) - #endif - static CYTHON_INLINE int PyGILState_Check(void) { - return 0; - } - #else // PYPY_VERSION_NUM < 0x07030600 - #endif // PYPY_VERSION_NUM < 0x07030600 - #else - static CYTHON_INLINE int PyGILState_Check(void) { - PyThreadState * tstate = _PyThreadState_Current; - return tstate && (tstate == PyGILState_GetThisThreadState()); - } - #endif -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized) -#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n)) -#else -#define __Pyx_PyDict_NewPresized(n) PyDict_New() -#endif -#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION - #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) -#else - #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) - #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS -#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash) -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) { - PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name); - if (res == NULL) PyErr_Clear(); - return res; -} -#elif PY_MAJOR_VERSION >= 3 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000) -#define __Pyx_PyDict_GetItemStrWithError PyDict_GetItemWithError -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#else -static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) { -#if CYTHON_COMPILING_IN_PYPY - return PyDict_GetItem(dict, name); -#else - PyDictEntry *ep; - PyDictObject *mp = (PyDictObject*) dict; - long hash = ((PyStringObject *) name)->ob_shash; - assert(hash != -1); - ep = (mp->ma_lookup)(mp, name, hash); - if (ep == NULL) { - return NULL; - } - return ep->me_value; -#endif -} -#define __Pyx_PyDict_GetItemStr PyDict_GetItem -#endif -#if CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyType_GetFlags(tp) (((PyTypeObject *)tp)->tp_flags) - #define __Pyx_PyType_HasFeature(type, feature) ((__Pyx_PyType_GetFlags(type) & (feature)) != 0) - #define __Pyx_PyObject_GetIterNextFunc(obj) (Py_TYPE(obj)->tp_iternext) -#else - #define __Pyx_PyType_GetFlags(tp) (PyType_GetFlags((PyTypeObject *)tp)) - #define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature) - #define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v) -#else - #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v) -#endif -#if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000 -#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\ - PyTypeObject *type = Py_TYPE((PyObject*)obj);\ - assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\ - PyObject_GC_Del(obj);\ - Py_DECREF(type);\ -} -#else -#define __Pyx_PyHeapTypeObject_GC_Del(obj) PyObject_GC_Del(obj) -#endif -#if CYTHON_COMPILING_IN_LIMITED_API - #define CYTHON_PEP393_ENABLED 1 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GetLength(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((void)u, 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((void)u, (0)) - #define __Pyx_PyUnicode_DATA(u) ((void*)u) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)k, PyUnicode_ReadChar((PyObject*)(d), i)) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GetLength(u)) -#elif PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) - #define CYTHON_PEP393_ENABLED 1 - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_READY(op) (0) - #else - #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ - 0 : _PyUnicode_Ready((PyObject *)(op))) - #endif - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) - #define __Pyx_PyUnicode_KIND(u) ((int)PyUnicode_KIND(u)) - #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) - #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, (Py_UCS4) ch) - #if PY_VERSION_HEX >= 0x030C0000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) - #else - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length)) - #else - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) - #endif - #endif -#else - #define CYTHON_PEP393_ENABLED 0 - #define PyUnicode_1BYTE_KIND 1 - #define PyUnicode_2BYTE_KIND 2 - #define PyUnicode_4BYTE_KIND 4 - #define __Pyx_PyUnicode_READY(op) (0) - #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) - #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) - #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535U : 1114111U) - #define __Pyx_PyUnicode_KIND(u) ((int)sizeof(Py_UNICODE)) - #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) - #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) - #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = (Py_UNICODE) ch) - #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b) -#else - #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b) - #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\ - PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b)) -#endif -#if CYTHON_COMPILING_IN_PYPY - #if !defined(PyUnicode_DecodeUnicodeEscape) - #define PyUnicode_DecodeUnicodeEscape(s, size, errors) PyUnicode_Decode(s, size, "unicode_escape", errors) - #endif - #if !defined(PyUnicode_Contains) || (PY_MAJOR_VERSION == 2 && PYPY_VERSION_NUM < 0x07030500) - #undef PyUnicode_Contains - #define PyUnicode_Contains(u, s) PySequence_Contains(u, s) - #endif - #if !defined(PyByteArray_Check) - #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type) - #endif - #if !defined(PyObject_Format) - #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt) - #endif -#endif -#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) -#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b) -#else - #define __Pyx_PyString_Format(a, b) PyString_Format(a, b) -#endif -#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII) - #define PyObject_ASCII(o) PyObject_Repr(o) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBaseString_Type PyUnicode_Type - #define PyStringObject PyUnicodeObject - #define PyString_Type PyUnicode_Type - #define PyString_Check PyUnicode_Check - #define PyString_CheckExact PyUnicode_CheckExact -#ifndef PyObject_Unicode - #define PyObject_Unicode PyObject_Str -#endif -#endif -#if PY_MAJOR_VERSION >= 3 - #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj) - #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj) -#else - #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj)) - #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) -#endif -#if CYTHON_COMPILING_IN_CPYTHON - #define __Pyx_PySequence_ListKeepNew(obj)\ - (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj)) -#else - #define __Pyx_PySequence_ListKeepNew(obj) PySequence_List(obj) -#endif -#ifndef PySet_CheckExact - #define PySet_CheckExact(obj) __Pyx_IS_TYPE(obj, &PySet_Type) -#endif -#if PY_VERSION_HEX >= 0x030900A4 - #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size) -#else - #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt) - #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size) -#endif -#if CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i) - #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0)) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o) -#else - #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i) - #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq) - #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v) - #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v) - #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o) - #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o) - #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o) - #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o) - #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o) -#endif -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name) -#else - static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) { - PyObject *module = PyImport_AddModule(name); - Py_XINCREF(module); - return module; - } -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyIntObject PyLongObject - #define PyInt_Type PyLong_Type - #define PyInt_Check(op) PyLong_Check(op) - #define PyInt_CheckExact(op) PyLong_CheckExact(op) - #define __Pyx_Py3Int_Check(op) PyLong_Check(op) - #define __Pyx_Py3Int_CheckExact(op) PyLong_CheckExact(op) - #define PyInt_FromString PyLong_FromString - #define PyInt_FromUnicode PyLong_FromUnicode - #define PyInt_FromLong PyLong_FromLong - #define PyInt_FromSize_t PyLong_FromSize_t - #define PyInt_FromSsize_t PyLong_FromSsize_t - #define PyInt_AsLong PyLong_AsLong - #define PyInt_AS_LONG PyLong_AS_LONG - #define PyInt_AsSsize_t PyLong_AsSsize_t - #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask - #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask - #define PyNumber_Int PyNumber_Long -#else - #define __Pyx_Py3Int_Check(op) (PyLong_Check(op) || PyInt_Check(op)) - #define __Pyx_Py3Int_CheckExact(op) (PyLong_CheckExact(op) || PyInt_CheckExact(op)) -#endif -#if PY_MAJOR_VERSION >= 3 - #define PyBoolObject PyLongObject -#endif -#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY - #ifndef PyUnicode_InternFromString - #define PyUnicode_InternFromString(s) PyUnicode_FromString(s) - #endif -#endif -#if PY_VERSION_HEX < 0x030200A4 - typedef long Py_hash_t; - #define __Pyx_PyInt_FromHash_t PyInt_FromLong - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t -#else - #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t - #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t -#endif -#if CYTHON_USE_ASYNC_SLOTS - #if PY_VERSION_HEX >= 0x030500B1 - #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods - #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) - #else - #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) - #endif -#else - #define __Pyx_PyType_AsAsync(obj) NULL -#endif -#ifndef __Pyx_PyAsyncMethodsStruct - typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; - } __Pyx_PyAsyncMethodsStruct; -#endif - -#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS) - #if !defined(_USE_MATH_DEFINES) - #define _USE_MATH_DEFINES - #endif -#endif -#include -#ifdef NAN -#define __PYX_NAN() ((float) NAN) -#else -static CYTHON_INLINE float __PYX_NAN() { - float value; - memset(&value, 0xFF, sizeof(value)); - return value; -} -#endif -#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL) -#define __Pyx_truncl trunc -#else -#define __Pyx_truncl truncl -#endif - -#define __PYX_MARK_ERR_POS(f_index, lineno) \ - { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; } -#define __PYX_ERR(f_index, lineno, Ln_error) \ - { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; } - -#ifdef CYTHON_EXTERN_C - #undef __PYX_EXTERN_C - #define __PYX_EXTERN_C CYTHON_EXTERN_C -#elif defined(__PYX_EXTERN_C) - #ifdef _MSC_VER - #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.") - #else - #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead. - #endif -#else - #ifdef __cplusplus - #define __PYX_EXTERN_C extern "C" - #else - #define __PYX_EXTERN_C extern - #endif -#endif - -#define __PYX_HAVE__handlers__payments__yookassa_pay -#define __PYX_HAVE_API__handlers__payments__yookassa_pay -/* Early includes */ -#ifdef _OPENMP -#include -#endif /* _OPENMP */ - -#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS) -#define CYTHON_WITHOUT_ASSERTIONS -#endif - -typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; - const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; - -#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0 -#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8) -#define __PYX_DEFAULT_STRING_ENCODING "" -#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString -#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#define __Pyx_uchar_cast(c) ((unsigned char)c) -#define __Pyx_long_cast(x) ((long)x) -#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\ - (sizeof(type) < sizeof(Py_ssize_t)) ||\ - (sizeof(type) > sizeof(Py_ssize_t) &&\ - likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX) &&\ - (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\ - v == (type)PY_SSIZE_T_MIN))) ||\ - (sizeof(type) == sizeof(Py_ssize_t) &&\ - (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\ - v == (type)PY_SSIZE_T_MAX))) ) -static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { - return (size_t) i < (size_t) limit; -} -#if defined (__cplusplus) && __cplusplus >= 201103L - #include - #define __Pyx_sst_abs(value) std::abs(value) -#elif SIZEOF_INT >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) abs(value) -#elif SIZEOF_LONG >= SIZEOF_SIZE_T - #define __Pyx_sst_abs(value) labs(value) -#elif defined (_MSC_VER) - #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value)) -#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - #define __Pyx_sst_abs(value) llabs(value) -#elif defined (__GNUC__) - #define __Pyx_sst_abs(value) __builtin_llabs(value) -#else - #define __Pyx_sst_abs(value) ((value<0) ? -value : value) -#endif -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s); -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*); -#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l) -#define __Pyx_PyBytes_FromString PyBytes_FromString -#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); -#if PY_MAJOR_VERSION < 3 - #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize -#else - #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString - #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize -#endif -#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s)) -#define __Pyx_PyObject_AsWritableString(s) ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableSString(s) ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s)) -#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s) -#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s) -#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s) -#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s) -#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s) -#define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o) -#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode -#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj) -#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); -#define __Pyx_PySequence_Tuple(obj)\ - (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj)) -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); -#if CYTHON_ASSUME_SAFE_MACROS -#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -#else -#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) -#endif -#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x)) -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x)) -#else -#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x)) -#endif -#if CYTHON_USE_PYLONG_INTERNALS - #if PY_VERSION_HEX >= 0x030C00A7 - #ifndef _PyLong_SIGN_MASK - #define _PyLong_SIGN_MASK 3 - #endif - #ifndef _PyLong_NON_SIZE_BITS - #define _PyLong_NON_SIZE_BITS 3 - #endif - #define __Pyx_PyLong_Sign(x) (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK) - #define __Pyx_PyLong_IsNeg(x) ((__Pyx_PyLong_Sign(x) & 2) != 0) - #define __Pyx_PyLong_IsNonNeg(x) (!__Pyx_PyLong_IsNeg(x)) - #define __Pyx_PyLong_IsZero(x) (__Pyx_PyLong_Sign(x) & 1) - #define __Pyx_PyLong_IsPos(x) (__Pyx_PyLong_Sign(x) == 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) (__Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_SignedDigitCount(x)\ - ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x)) - #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue) - #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x) - #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x) - #else - #define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS)) - #define __Pyx_PyLong_CompactValue(x) ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0]) - #endif - typedef Py_ssize_t __Pyx_compact_pylong; - typedef size_t __Pyx_compact_upylong; - #else - #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0) - #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0) - #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0) - #define __Pyx_PyLong_IsPos(x) (Py_SIZE(x) > 0) - #define __Pyx_PyLong_CompactValueUnsigned(x) ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0]) - #define __Pyx_PyLong_DigitCount(x) __Pyx_sst_abs(Py_SIZE(x)) - #define __Pyx_PyLong_SignedDigitCount(x) Py_SIZE(x) - #define __Pyx_PyLong_IsCompact(x) (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1) - #define __Pyx_PyLong_CompactValue(x)\ - ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0])) - typedef sdigit __Pyx_compact_pylong; - typedef digit __Pyx_compact_upylong; - #endif - #if PY_VERSION_HEX >= 0x030C00A5 - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit) - #else - #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->ob_digit) - #endif -#endif -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII -#include -static int __Pyx_sys_getdefaultencoding_not_ascii; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - PyObject* ascii_chars_u = NULL; - PyObject* ascii_chars_b = NULL; - const char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - if (strcmp(default_encoding_c, "ascii") == 0) { - __Pyx_sys_getdefaultencoding_not_ascii = 0; - } else { - char ascii_chars[128]; - int c; - for (c = 0; c < 128; c++) { - ascii_chars[c] = (char) c; - } - __Pyx_sys_getdefaultencoding_not_ascii = 1; - ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); - if (!ascii_chars_u) goto bad; - ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); - if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { - PyErr_Format( - PyExc_ValueError, - "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", - default_encoding_c); - goto bad; - } - Py_DECREF(ascii_chars_u); - Py_DECREF(ascii_chars_b); - } - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - Py_XDECREF(ascii_chars_u); - Py_XDECREF(ascii_chars_b); - return -1; -} -#endif -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3 -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL) -#else -#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL) -#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#include -static char* __PYX_DEFAULT_STRING_ENCODING; -static int __Pyx_init_sys_getdefaultencoding_params(void) { - PyObject* sys; - PyObject* default_encoding = NULL; - char* default_encoding_c; - sys = PyImport_ImportModule("sys"); - if (!sys) goto bad; - default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); - Py_DECREF(sys); - if (!default_encoding) goto bad; - default_encoding_c = PyBytes_AsString(default_encoding); - if (!default_encoding_c) goto bad; - __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); - if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; - strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); - Py_DECREF(default_encoding); - return 0; -bad: - Py_XDECREF(default_encoding); - return -1; -} -#endif -#endif - - -/* Test for GCC > 2.95 */ -#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))) - #define likely(x) __builtin_expect(!!(x), 1) - #define unlikely(x) __builtin_expect(!!(x), 0) -#else /* !__GNUC__ or GCC < 2.95 */ - #define likely(x) (x) - #define unlikely(x) (x) -#endif /* __GNUC__ */ -static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } - -#if !CYTHON_USE_MODULE_STATE -static PyObject *__pyx_m = NULL; -#endif -static int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm = __FILE__; -static const char *__pyx_filename; - -/* #### Code section: filename_table ### */ - -static const char *__pyx_f[] = { - "handlers/payments/yookassa_pay.py", -}; -/* #### Code section: utility_code_proto_before_types ### */ -/* #### Code section: numeric_typedefs ### */ -/* #### Code section: complex_type_declarations ### */ -/* #### Code section: type_declarations ### */ - -/*--- Type declarations ---*/ -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa; -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection; -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook; -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment; -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount; -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input; -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message; - -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_exists; - PyObject *__pyx_v_expected_hash; - PyObject *__pyx_v_i; - PyObject *__pyx_v_key_count; - PyObject *__pyx_v_session; - PyObject *__pyx_v_state; - PyObject *__pyx_v_tg_id; -}; - - -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection { - PyObject_HEAD - PyObject *__pyx_v_amount; - PyObject *__pyx_v_amount_str; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_confirm_keyboard; - PyObject *__pyx_v_customer_email; - PyObject *__pyx_v_customer_name; - PyObject *__pyx_v_data; - PyObject *__pyx_v_payment; - PyObject *__pyx_v_payment_message; - PyObject *__pyx_v_payment_url; - PyObject *__pyx_v_state; - PyObject *__pyx_v_tg_id; -}; - - -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook { - PyObject_HEAD - double __pyx_v_amount; - PyObject *__pyx_v_amount_str; - PyObject *__pyx_v_e; - PyObject *__pyx_v_event; - PyObject *__pyx_v_payment; - PyObject *__pyx_v_payment_id; - PyObject *__pyx_v_payment_object; - PyObject *__pyx_v_request; - PyObject *__pyx_v_response; - PyObject *__pyx_v_user_id; - PyObject *__pyx_v_user_id_str; -}; - - -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment { - PyObject_HEAD - PyObject *__pyx_v_amount; - PyObject *__pyx_v_e; - PyObject *__pyx_v_user_id; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; -}; - - -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount { - PyObject_HEAD - PyObject *__pyx_v_builder; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_state; -}; - - -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input { - PyObject_HEAD - PyObject *__pyx_v_amount; - PyObject *__pyx_v_callback_query; - PyObject *__pyx_v_confirm_keyboard; - PyObject *__pyx_v_conn; - PyObject *__pyx_v_e; - PyObject *__pyx_v_payment; - PyObject *__pyx_v_payment_message; - PyObject *__pyx_v_payment_url; - PyObject *__pyx_v_session; - PyObject *__pyx_v_state_type; - PyObject *__pyx_v_tg_id; - PyObject *__pyx_v_user_data; - PyObject *__pyx_t_0; - PyObject *__pyx_t_1; - PyObject *__pyx_t_2; - PyObject *__pyx_t_3; - PyObject *__pyx_t_4; - PyObject *__pyx_t_5; - int __pyx_t_6; - int __pyx_t_7; - char const *__pyx_t_8; - PyObject *__pyx_t_9; -}; - - -struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message { - PyObject_HEAD - PyObject *__pyx_v_reply_markup; - PyObject *__pyx_v_target; - PyObject *__pyx_v_text; -}; - -/* #### Code section: utility_code_proto ### */ - -/* --- Runtime support code (head) --- */ -/* Refnanny.proto */ -#ifndef CYTHON_REFNANNY - #define CYTHON_REFNANNY 0 -#endif -#if CYTHON_REFNANNY - typedef struct { - void (*INCREF)(void*, PyObject*, Py_ssize_t); - void (*DECREF)(void*, PyObject*, Py_ssize_t); - void (*GOTREF)(void*, PyObject*, Py_ssize_t); - void (*GIVEREF)(void*, PyObject*, Py_ssize_t); - void* (*SetupContext)(const char*, Py_ssize_t, const char*); - void (*FinishContext)(void**); - } __Pyx_RefNannyAPIStruct; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; - static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); - #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL; -#ifdef WITH_THREAD - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - if (acquire_gil) {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - PyGILState_Release(__pyx_gilstate_save);\ - } else {\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\ - } - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } -#else - #define __Pyx_RefNannySetupContext(name, acquire_gil)\ - __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__)) - #define __Pyx_RefNannyFinishContextNogil() __Pyx_RefNannyFinishContext() -#endif - #define __Pyx_RefNannyFinishContextNogil() {\ - PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\ - __Pyx_RefNannyFinishContext();\ - PyGILState_Release(__pyx_gilstate_save);\ - } - #define __Pyx_RefNannyFinishContext()\ - __Pyx_RefNanny->FinishContext(&__pyx_refnanny) - #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__)) - #define __Pyx_XINCREF(r) do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0) - #define __Pyx_XDECREF(r) do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0) - #define __Pyx_XGOTREF(r) do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0) - #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0) -#else - #define __Pyx_RefNannyDeclarations - #define __Pyx_RefNannySetupContext(name, acquire_gil) - #define __Pyx_RefNannyFinishContextNogil() - #define __Pyx_RefNannyFinishContext() - #define __Pyx_INCREF(r) Py_INCREF(r) - #define __Pyx_DECREF(r) Py_DECREF(r) - #define __Pyx_GOTREF(r) - #define __Pyx_GIVEREF(r) - #define __Pyx_XINCREF(r) Py_XINCREF(r) - #define __Pyx_XDECREF(r) Py_XDECREF(r) - #define __Pyx_XGOTREF(r) - #define __Pyx_XGIVEREF(r) -#endif -#define __Pyx_Py_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; Py_XDECREF(tmp);\ - } while (0) -#define __Pyx_XDECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_XDECREF(tmp);\ - } while (0) -#define __Pyx_DECREF_SET(r, v) do {\ - PyObject *tmp = (PyObject *) r;\ - r = v; __Pyx_DECREF(tmp);\ - } while (0) -#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) -#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) - -/* PyErrExceptionMatches.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err) -static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); -#else -#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err) -#endif - -/* PyThreadStateGet.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; -#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current; -#if PY_VERSION_HEX >= 0x030C00A6 -#define __Pyx_PyErr_Occurred() (__pyx_tstate->current_exception != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL) -#else -#define __Pyx_PyErr_Occurred() (__pyx_tstate->curexc_type != NULL) -#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->curexc_type) -#endif -#else -#define __Pyx_PyThreadState_declare -#define __Pyx_PyThreadState_assign -#define __Pyx_PyErr_Occurred() (PyErr_Occurred() != NULL) -#define __Pyx_PyErr_CurrentExceptionType() PyErr_Occurred() -#endif - -/* PyErrFetchRestore.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL) -#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6 -#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL)) -#else -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#endif -#else -#define __Pyx_PyErr_Clear() PyErr_Clear() -#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc) -#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb) -#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb) -#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb) -#endif - -/* PyObjectGetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n) -#endif - -/* PyObjectGetAttrStrNoError.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); - -/* GetBuiltinName.proto */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name); - -/* TupleAndListFromArray.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n); -static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n); -#endif - -/* IncludeStringH.proto */ -#include - -/* BytesEquals.proto */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); - -/* UnicodeEquals.proto */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); - -/* fastcall.proto */ -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i) -#elif CYTHON_ASSUME_SAFE_MACROS - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i) -#else - #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i) -#endif -#if CYTHON_AVOID_BORROWED_REFS - #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg) - #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg) -#else - #define __Pyx_Arg_NewRef_VARARGS(arg) arg - #define __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds) -#define __Pyx_KwValues_VARARGS(args, nargs) NULL -#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s) -#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw) -#if CYTHON_METH_FASTCALL - #define __Pyx_Arg_FASTCALL(args, i) args[i] - #define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds) - #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs)) - static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s); -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 - CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues); - #else - #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw) - #endif - #define __Pyx_Arg_NewRef_FASTCALL(arg) arg /* no-op, __Pyx_Arg_FASTCALL is direct and this needs - to have the same reference counting */ - #define __Pyx_Arg_XDECREF_FASTCALL(arg) -#else - #define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS - #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS - #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS - #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS - #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS - #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg) - #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg) -#endif -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start) -#else -#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop) -#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop) -#endif - -/* RaiseArgTupleInvalid.proto */ -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); - -/* RaiseDoubleKeywords.proto */ -static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); - -/* ParseKeywords.proto */ -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, - const char* function_name); - -/* PyDictVersioning.proto */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) -#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\ - (version_var) = __PYX_GET_DICT_VERSION(dict);\ - (cache_var) = (value); -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ - (VAR) = __pyx_dict_cached_value;\ - } else {\ - (VAR) = __pyx_dict_cached_value = (LOOKUP);\ - __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ - }\ -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); -#else -#define __PYX_GET_DICT_VERSION(dict) (0) -#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var) -#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP); -#endif - -/* GetModuleGlobalName.proto */ -#if CYTHON_USE_DICT_VERSIONS -#define __Pyx_GetModuleGlobalName(var, name) do {\ - static PY_UINT64_T __pyx_dict_version = 0;\ - static PyObject *__pyx_dict_cached_value = NULL;\ - (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ - (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ - __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\ - PY_UINT64_T __pyx_dict_version;\ - PyObject *__pyx_dict_cached_value;\ - (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ -} while(0) -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); -#else -#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) -#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name) -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); -#endif - -/* PyFunctionFastCall.proto */ -#if CYTHON_FAST_PYCALL -#if !CYTHON_VECTORCALL -#define __Pyx_PyFunction_FastCall(func, args, nargs)\ - __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); -#endif -#define __Pyx_BUILD_ASSERT_EXPR(cond)\ - (sizeof(char [1 - 2*!(cond)]) - 1) -#ifndef Py_MEMBER_SIZE -#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member) -#endif -#if !CYTHON_VECTORCALL -#if PY_VERSION_HEX >= 0x03080000 - #include "frameobject.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif - #define __Pxy_PyFrame_Initialize_Offsets() - #define __Pyx_PyFrame_GetLocalsplus(frame) ((frame)->f_localsplus) -#else - static size_t __pyx_pyframe_localsplus_offset = 0; - #include "frameobject.h" - #define __Pxy_PyFrame_Initialize_Offsets()\ - ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\ - (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus))) - #define __Pyx_PyFrame_GetLocalsplus(frame)\ - (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset)) -#endif -#endif -#endif - -/* PyObjectCall.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); -#else -#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) -#endif - -/* PyObjectCallMethO.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); -#endif - -/* PyObjectFastCall.proto */ -#define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL) -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs); - -/* IncludeStructmemberH.proto */ -#include - -/* FixUpExtensionType.proto */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type); -#endif - -/* FetchSharedCythonModule.proto */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void); - -/* FetchCommonType.proto */ -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); -#else -static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases); -#endif - -/* RaiseException.proto */ -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); - -/* GetTopmostException.proto */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); -#endif - -/* SaveResetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); -#else -#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb) -#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb) -#endif - -/* SwapException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb) -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* PyObjectCall2Args.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); - -/* PyObjectCallOneArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); - -/* PyObjectGetMethod.proto */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); - -/* PyObjectCallMethod1.proto */ -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg); - -/* PyObjectCallNoArg.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); - -/* CoroutineBase.proto */ -struct __pyx_CoroutineObject; -typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_ExcInfoStruct _PyErr_StackItem -#else -typedef struct { - PyObject *exc_type; - PyObject *exc_value; - PyObject *exc_traceback; -} __Pyx_ExcInfoStruct; -#endif -typedef struct __pyx_CoroutineObject { - PyObject_HEAD - __pyx_coroutine_body_t body; - PyObject *closure; - __Pyx_ExcInfoStruct gi_exc_state; - PyObject *gi_weakreflist; - PyObject *classobj; - PyObject *yieldfrom; - PyObject *gi_name; - PyObject *gi_qualname; - PyObject *gi_modulename; - PyObject *gi_code; - PyObject *gi_frame; - int resume_label; - char is_running; -} __pyx_CoroutineObject; -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name); -static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self); -static int __Pyx_Coroutine_clear(PyObject *self); -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value); -static PyObject *__Pyx_Coroutine_Close(PyObject *self); -static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args); -#if CYTHON_USE_EXC_INFO_STACK -#define __Pyx_Coroutine_SwapException(self) -#define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state) -#else -#define __Pyx_Coroutine_SwapException(self) {\ - __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\ - __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\ - } -#define __Pyx_Coroutine_ResetAndClearException(self) {\ - __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\ - (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\ - } -#endif -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue) -#else -#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\ - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue) -#endif -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue); -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state); - -/* PyObject_GenericGetAttrNoDict.proto */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); -#else -#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr -#endif - -/* PatchModuleWithCoroutine.proto */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code); - -/* PatchGeneratorABC.proto */ -static int __Pyx_patch_abc(void); - -/* Coroutine.proto */ -#define __Pyx_Coroutine_USED -#define __Pyx_Coroutine_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineType) -#define __Pyx_Coroutine_Check(obj) __Pyx_Coroutine_CheckExact(obj) -#define __Pyx_CoroutineAwait_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CoroutineAwaitType) -#define __Pyx_Coroutine_New(body, code, closure, name, qualname, module_name)\ - __Pyx__Coroutine_New(__pyx_CoroutineType, body, code, closure, name, qualname, module_name) -static int __pyx_Coroutine_init(PyObject *module); -static PyObject *__Pyx__Coroutine_await(PyObject *coroutine); -typedef struct { - PyObject_HEAD - PyObject *coroutine; -} __pyx_CoroutineAwaitObject; -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg); -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args); - -/* GetAwaitIter.proto */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o); -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *o); - -/* CoroutineYieldFrom.proto */ -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source); - -/* PyIntBinop.proto */ -#if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check); -#else -#define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\ - (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) -#endif - -/* GetItemInt.proto */ -#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\ - (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\ - __Pyx_GetItemInt_Generic(o, to_py_func(i)))) -#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\ - (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\ - __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\ - (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL)) -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - int wraparound, int boundscheck); -static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, - int is_list, int wraparound, int boundscheck); - -/* ObjectGetItem.proto */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key); -#else -#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key) -#endif - -/* DictGetItem.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); -#define __Pyx_PyObject_Dict_GetItem(obj, name)\ - (likely(PyDict_CheckExact(obj)) ?\ - __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) -#else -#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) -#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) -#endif - -/* PyObjectFormatSimple.proto */ -#if CYTHON_COMPILING_IN_PYPY - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#elif PY_MAJOR_VERSION < 3 - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\ - PyObject_Format(s, f)) -#elif CYTHON_USE_TYPE_SLOTS - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\ - likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\ - PyObject_Format(s, f)) -#else - #define __Pyx_PyObject_FormatSimple(s, f) (\ - likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\ - PyObject_Format(s, f)) -#endif - -/* PyIntCompare.proto */ -static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); - -/* GetException.proto */ -#if CYTHON_FAST_THREAD_STATE -#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb) -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); -#endif - -/* pep479.proto */ -static void __Pyx_Generator_Replace_StopIteration(int in_async_gen); - -/* JoinPyUnicode.proto */ -static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char); - -/* PyObject_Unicode.proto */ -#if PY_MAJOR_VERSION >= 3 -#define __Pyx_PyObject_Unicode(obj)\ - (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj)) -#else -#define __Pyx_PyObject_Unicode(obj)\ - (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Unicode(obj)) -#endif - -/* ReturnWithStopIteration.proto */ -#define __Pyx_ReturnWithStopIteration(value)\ - if (value == Py_None) PyErr_SetNone(PyExc_StopIteration); else __Pyx__ReturnWithStopIteration(value) -static void __Pyx__ReturnWithStopIteration(PyObject* value); - -/* pybytes_as_double.proto */ -static double __Pyx_SlowPyString_AsDouble(PyObject *obj); -static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length); -static CYTHON_INLINE double __Pyx_PyBytes_AsDouble(PyObject *obj) { - char* as_c_string; - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - as_c_string = PyBytes_AS_STRING(obj); - size = PyBytes_GET_SIZE(obj); -#else - if (PyBytes_AsStringAndSize(obj, &as_c_string, &size) < 0) { - return (double)-1; - } -#endif - return __Pyx__PyBytes_AsDouble(obj, as_c_string, size); -} -static CYTHON_INLINE double __Pyx_PyByteArray_AsDouble(PyObject *obj) { - char* as_c_string; - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - as_c_string = PyByteArray_AS_STRING(obj); - size = PyByteArray_GET_SIZE(obj); -#else - as_c_string = PyByteArray_AsString(obj); - if (as_c_string == NULL) { - return (double)-1; - } - size = PyByteArray_Size(obj); -#endif - return __Pyx__PyBytes_AsDouble(obj, as_c_string, size); -} - -/* pyunicode_as_double.proto */ -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS -static const char* __Pyx__PyUnicode_AsDouble_Copy(const void* data, const int kind, char* buffer, Py_ssize_t start, Py_ssize_t end) { - int last_was_punctuation; - Py_ssize_t i; - last_was_punctuation = 1; - for (i=start; i <= end; i++) { - Py_UCS4 chr = PyUnicode_READ(kind, data, i); - int is_punctuation = (chr == '_') | (chr == '.'); - *buffer = (char)chr; - buffer += (chr != '_'); - if (unlikely(chr > 127)) goto parse_failure; - if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure; - last_was_punctuation = is_punctuation; - } - if (unlikely(last_was_punctuation)) goto parse_failure; - *buffer = '\0'; - return buffer; -parse_failure: - return NULL; -} -static double __Pyx__PyUnicode_AsDouble_inf_nan(const void* data, int kind, Py_ssize_t start, Py_ssize_t length) { - int matches = 1; - Py_UCS4 chr; - Py_UCS4 sign = PyUnicode_READ(kind, data, start); - int is_signed = (sign == '-') | (sign == '+'); - start += is_signed; - length -= is_signed; - switch (PyUnicode_READ(kind, data, start)) { - #ifdef Py_NAN - case 'n': - case 'N': - if (unlikely(length != 3)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+1); - matches &= (chr == 'a') | (chr == 'A'); - chr = PyUnicode_READ(kind, data, start+2); - matches &= (chr == 'n') | (chr == 'N'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_NAN : Py_NAN; - #endif - case 'i': - case 'I': - if (unlikely(length < 3)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+1); - matches &= (chr == 'n') | (chr == 'N'); - chr = PyUnicode_READ(kind, data, start+2); - matches &= (chr == 'f') | (chr == 'F'); - if (likely(length == 3 && matches)) - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - if (unlikely(length != 8)) goto parse_failure; - chr = PyUnicode_READ(kind, data, start+3); - matches &= (chr == 'i') | (chr == 'I'); - chr = PyUnicode_READ(kind, data, start+4); - matches &= (chr == 'n') | (chr == 'N'); - chr = PyUnicode_READ(kind, data, start+5); - matches &= (chr == 'i') | (chr == 'I'); - chr = PyUnicode_READ(kind, data, start+6); - matches &= (chr == 't') | (chr == 'T'); - chr = PyUnicode_READ(kind, data, start+7); - matches &= (chr == 'y') | (chr == 'Y'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - break; - default: - goto parse_failure; - } - return 0.0; -parse_failure: - return -1.0; -} -static double __Pyx_PyUnicode_AsDouble_WithSpaces(PyObject *obj) { - double value; - const char *last; - char *end; - Py_ssize_t start, length = PyUnicode_GET_LENGTH(obj); - const int kind = PyUnicode_KIND(obj); - const void* data = PyUnicode_DATA(obj); - start = 0; - while (Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, start))) - start++; - while (start < length - 1 && Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, length - 1))) - length--; - length -= start; - if (unlikely(length <= 0)) goto fallback; - value = __Pyx__PyUnicode_AsDouble_inf_nan(data, kind, start, length); - if (unlikely(value == -1.0)) goto fallback; - if (value != 0.0) return value; - if (length < 40) { - char number[40]; - last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length); - if (unlikely(!last)) goto fallback; - value = PyOS_string_to_double(number, &end, NULL); - } else { - char *number = (char*) PyMem_Malloc((length + 1) * sizeof(char)); - if (unlikely(!number)) goto fallback; - last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length); - if (unlikely(!last)) { - PyMem_Free(number); - goto fallback; - } - value = PyOS_string_to_double(number, &end, NULL); - PyMem_Free(number); - } - if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) { - return value; - } -fallback: - return __Pyx_SlowPyString_AsDouble(obj); -} -#endif -static CYTHON_INLINE double __Pyx_PyUnicode_AsDouble(PyObject *obj) { -#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS - if (unlikely(__Pyx_PyUnicode_READY(obj) == -1)) - return (double)-1; - if (likely(PyUnicode_IS_ASCII(obj))) { - const char *s; - Py_ssize_t length; - s = PyUnicode_AsUTF8AndSize(obj, &length); - return __Pyx__PyBytes_AsDouble(obj, s, length); - } - return __Pyx_PyUnicode_AsDouble_WithSpaces(obj); -#else - return __Pyx_SlowPyString_AsDouble(obj); -#endif -} - -/* pyobject_as_double.proto */ -static double __Pyx__PyObject_AsDouble(PyObject* obj); -#if CYTHON_COMPILING_IN_PYPY -#define __Pyx_PyObject_AsDouble(obj)\ -(likely(PyFloat_CheckExact(obj)) ? PyFloat_AS_DOUBLE(obj) :\ - likely(PyInt_CheckExact(obj)) ?\ - PyFloat_AsDouble(obj) : __Pyx__PyObject_AsDouble(obj)) -#else -#define __Pyx_PyObject_AsDouble(obj)\ -((likely(PyFloat_CheckExact(obj))) ? PyFloat_AS_DOUBLE(obj) :\ - likely(PyLong_CheckExact(obj)) ?\ - PyLong_AsDouble(obj) : __Pyx__PyObject_AsDouble(obj)) -#endif - -/* ArgTypeTest.proto */ -#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ - ((likely(__Pyx_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) ? 1 :\ - __Pyx__ArgTypeTest(obj, type, name, exact)) -static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); - -/* PyObjectCallMethod0.proto */ -static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name); - -/* ValidateBasesTuple.proto */ -#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases); -#endif - -/* PyType_Ready.proto */ -CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t); - -/* Import.proto */ -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); - -/* ImportDottedModule.proto */ -static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple); -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple); -#endif - -/* ImportFrom.proto */ -static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); - -/* PatchInspect.proto */ -static PyObject* __Pyx_patch_inspect(PyObject* module); - -/* PatchAsyncIO.proto */ -static PyObject* __Pyx_patch_asyncio(PyObject* module); - -/* PyObjectSetAttrStr.proto */ -#if CYTHON_USE_TYPE_SLOTS -#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) -static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); -#else -#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) -#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) -#endif - -/* Py3UpdateBases.proto */ -static PyObject* __Pyx_PEP560_update_bases(PyObject *bases); - -/* CalculateMetaclass.proto */ -static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases); - -/* SetNameInClass.proto */ -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000 -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value)) -#elif CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_SetNameInClass(ns, name, value)\ - (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value)) -#else -#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value) -#endif - -/* PyObjectLookupSpecial.proto */ -#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 0) -#define __Pyx_PyObject_LookupSpecial(obj, attr_name) __Pyx__PyObject_LookupSpecial(obj, attr_name, 1) -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error); -#else -#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n) -#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n) -#endif - -/* Py3ClassCreate.proto */ -static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname, - PyObject *mkw, PyObject *modname, PyObject *doc); -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict, - PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass); - -/* PyMethodNew.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - PyObject *typesModule=NULL, *methodType=NULL, *result=NULL; - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - typesModule = PyImport_ImportModule("types"); - if (!typesModule) return NULL; - methodType = PyObject_GetAttrString(typesModule, "MethodType"); - Py_DECREF(typesModule); - if (!methodType) return NULL; - result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL); - Py_DECREF(methodType); - return result; -} -#elif PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { - CYTHON_UNUSED_VAR(typ); - if (!self) - return __Pyx_NewRef(func); - return PyMethod_New(func, self); -} -#else - #define __Pyx_PyMethod_New PyMethod_New -#endif - -/* PyVectorcallFastCallDict.proto */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw); -#endif - -/* CythonFunctionShared.proto */ -#define __Pyx_CyFunction_USED -#define __Pyx_CYFUNCTION_STATICMETHOD 0x01 -#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 -#define __Pyx_CYFUNCTION_CCLASS 0x04 -#define __Pyx_CYFUNCTION_COROUTINE 0x08 -#define __Pyx_CyFunction_GetClosure(f)\ - (((__pyx_CyFunctionObject *) (f))->func_closure) -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - #define __Pyx_CyFunction_GetClassObj(f)\ - (((__pyx_CyFunctionObject *) (f))->func_classobj) -#else - #define __Pyx_CyFunction_GetClassObj(f)\ - ((PyObject*) ((PyCMethodObject *) (f))->mm_class) -#endif -#define __Pyx_CyFunction_SetClassObj(f, classobj)\ - __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj)) -#define __Pyx_CyFunction_Defaults(type, f)\ - ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) -#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ - ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) -typedef struct { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject_HEAD - PyObject *func; -#elif PY_VERSION_HEX < 0x030900B1 - PyCFunctionObject func; -#else - PyCMethodObject func; -#endif -#if CYTHON_BACKPORT_VECTORCALL - __pyx_vectorcallfunc func_vectorcall; -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_weakreflist; -#endif - PyObject *func_dict; - PyObject *func_name; - PyObject *func_qualname; - PyObject *func_doc; - PyObject *func_globals; - PyObject *func_code; - PyObject *func_closure; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - PyObject *func_classobj; -#endif - void *defaults; - int defaults_pyobjects; - size_t defaults_size; - int flags; - PyObject *defaults_tuple; - PyObject *defaults_kwdict; - PyObject *(*defaults_getter)(PyObject *); - PyObject *func_annotations; - PyObject *func_is_coroutine; -} __pyx_CyFunctionObject; -#undef __Pyx_CyOrPyCFunction_Check -#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType) -#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type) -#define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType) -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc); -#undef __Pyx_IsSameCFunction -#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc) -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj); -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, - size_t size, - int pyobjects); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, - PyObject *tuple); -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, - PyObject *dict); -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, - PyObject *dict); -static int __pyx_CyFunction_init(PyObject *module); -#if CYTHON_METH_FASTCALL -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); -#if CYTHON_BACKPORT_VECTORCALL -#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall) -#else -#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall) -#endif -#endif - -/* CythonFunction.proto */ -static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, - int flags, PyObject* qualname, - PyObject *closure, - PyObject *module, PyObject *globals, - PyObject* code); - -/* CLineInTraceback.proto */ -#ifdef CYTHON_CLINE_IN_TRACEBACK -#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0) -#else -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); -#endif - -/* CodeObjectCache.proto */ -#if !CYTHON_COMPILING_IN_LIMITED_API -typedef struct { - PyCodeObject* code_object; - int code_line; -} __Pyx_CodeObjectCacheEntry; -struct __Pyx_CodeObjectCache { - int count; - int max_count; - __Pyx_CodeObjectCacheEntry* entries; -}; -static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); -static PyCodeObject *__pyx_find_code_object(int code_line); -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); -#endif - -/* AddTraceback.proto */ -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename); - -/* GCCDiagnostics.proto */ -#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) -#define __Pyx_HAS_GCC_DIAGNOSTIC -#endif - -/* CIntToPy.proto */ -static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); - -/* FormatTypeName.proto */ -#if CYTHON_COMPILING_IN_LIMITED_API -typedef PyObject *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%U" -static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp); -#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj) -#else -typedef const char *__Pyx_TypeName; -#define __Pyx_FMT_TYPENAME "%.200s" -#define __Pyx_PyType_GetName(tp) ((tp)->tp_name) -#define __Pyx_DECREF_TypeName(obj) -#endif - -/* CIntFromPy.proto */ -static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); - -/* CIntFromPy.proto */ -static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); - -/* FastTypeChecks.proto */ -#if CYTHON_COMPILING_IN_CPYTHON -#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2) -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); -static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); -#else -#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) -#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2)) -#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type) -#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2)) -#endif -#define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2) -#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) - -/* CheckBinaryVersion.proto */ -static unsigned long __Pyx_get_runtime_version(void); -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer); - -/* InitStrings.proto */ -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); - -/* #### Code section: module_declarations ### */ - -/* Module declarations from "handlers.payments.yookassa_pay" */ -/* #### Code section: typeinfo ### */ -/* #### Code section: before_global_var ### */ -#define __Pyx_MODULE_NAME "handlers.payments.yookassa_pay" -extern int __pyx_module_is_main_handlers__payments__yookassa_pay; -int __pyx_module_is_main_handlers__payments__yookassa_pay = 0; - -/* Implementation of "handlers.payments.yookassa_pay" */ -/* #### Code section: global_var ### */ -static PyObject *__pyx_builtin_range; -static PyObject *__pyx_builtin_ValueError; -/* #### Code section: string_decls ### */ -static const char __pyx_k_F[] = "F"; -static const char __pyx_k_e[] = "e"; -static const char __pyx_k_i[] = "i"; -static const char __pyx_k_ID[] = "\320\236\321\202\321\201\321\203\321\202\321\201\321\202\320\262\321\203\320\265\321\202 ID \320\277\320\273\320\260\321\202\320\265\320\266\320\260 \320\262 \320\267\320\260\320\277\321\200\320\276\321\201\320\265"; -static const char __pyx_k__2[] = "\320\235\320\260\321\200\321\203\321\210\320\265\320\275\320\260 \321\206\320\265\320\273\320\276\321\201\321\202\320\275\320\276\321\201\321\202\321\214 \321\204\320\260\320\271\320\273\320\276\320\262! \320\236\320\261\320\275\320\276\320\262\320\270\321\202\320\265\321\201\321\214 \321\201 \320\277\320\276\320\273\320\275\320\276\320\271 \320\267\320\260\320\274\320\265\320\275\320\276\320\271 \320\277\320\260\320\277\320\272\320\270!"; -static const char __pyx_k__4[] = "|"; -static const char __pyx_k__6[] = "@"; -static const char __pyx_k__7[] = " "; -static const char __pyx_k__8[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260."; -static const char __pyx_k_gc[] = "gc"; -static const char __pyx_k_id[] = "id"; -static const char __pyx_k_Any[] = "Any"; -static const char __pyx_k_PAY[] = "PAY"; -static const char __pyx_k_RUB[] = "RUB"; -static const char __pyx_k__10[] = " \320\275\320\265 \320\267\320\260\320\262\320\265\321\200\321\210\321\221\320\275 \320\270\320\273\320\270 \320\275\320\265 \320\276\320\277\320\273\320\260\321\207\320\265\320\275"; -static const char __pyx_k__11[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \320\277\321\200\320\276\320\262\320\265\321\200\320\272\320\265 \320\277\320\273\320\260\321\202\320\265\320\266\320\260: "; -static const char __pyx_k__13[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \320\276\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\265 \321\203\321\201\320\277\320\265\321\210\320\275\320\276\320\263\320\276 \320\277\320\273\320\260\321\202\320\265\320\266\320\260 \320\264\320\273\321\217 "; -static const char __pyx_k__14[] = ": "; -static const char __pyx_k__17[] = "\320\224\320\260\320\275\320\275\321\213\320\265 \320\264\320\273\321\217 \320\276\320\277\320\273\320\260\321\202\321\213 \320\275\320\265 \320\275\320\260\320\271\320\264\320\265\320\275\321\213. \320\237\320\276\320\277\321\200\320\276\320\261\321\203\320\271\321\202\320\265 \321\201\320\275\320\276\320\262\320\260."; -static const char __pyx_k__19[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\320\260\321\217 \321\201\321\203\320\274\320\274\320\260. \320\237\320\276\320\266\320\260\320\273\321\203\320\271\321\201\321\202\320\260, \320\262\320\262\320\265\320\264\320\270\321\202\320\265 \321\201\321\203\320\274\320\274\321\203 \320\265\321\211\320\265 \321\200\320\260\320\267."; -static const char __pyx_k__20[] = "\320\235\320\265\320\272\320\276\321\200\321\200\320\265\320\272\321\202\320\275\321\213\320\271 \320\267\320\260\320\277\321\200\320\276\321\201."; -static const char __pyx_k__21[] = "\320\241\321\203\320\274\320\274\320\260 \320\264\320\276\320\273\320\266\320\275\320\260 \320\261\321\213\321\202\321\214 \320\261\320\276\320\273\321\214\321\210\320\265 \320\275\321\203\320\273\321\217."; -static const char __pyx_k__22[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260: "; -static const char __pyx_k__23[] = "\320\237\321\200\320\276\320\270\320\267\320\276\321\210\320\273\320\260 \320\276\321\210\320\270\320\261\320\272\320\260 \320\277\321\200\320\270 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\320\270 \320\277\320\273\320\260\321\202\320\265\320\266\320\260."; -static const char __pyx_k__25[] = "*"; -static const char __pyx_k__26[] = "."; -static const char __pyx_k__36[] = "?"; -static const char __pyx_k_doc[] = "__doc__"; -static const char __pyx_k_get[] = "get"; -static const char __pyx_k_pay[] = "pay"; -static const char __pyx_k_row[] = "row"; -static const char __pyx_k_str[] = "str"; -static const char __pyx_k_url[] = "url"; -static const char __pyx_k_web[] = "web"; -static const char __pyx_k_1_00[] = "1.00"; -static const char __pyx_k_BACK[] = "BACK"; -static const char __pyx_k_ID_2[] = "\320\237\320\273\320\260\321\202\320\265\320\266 \321\201 ID "; -static const char __pyx_k_args[] = "args"; -static const char __pyx_k_chat[] = "chat"; -static const char __pyx_k_conn[] = "conn"; -static const char __pyx_k_data[] = "data"; -static const char __pyx_k_dict[] = "__dict__"; -static const char __pyx_k_info[] = "info"; -static const char __pyx_k_json[] = "json"; -static const char __pyx_k_main[] = "__main__"; -static const char __pyx_k_name[] = "__name__"; -static const char __pyx_k_paid[] = "paid"; -static const char __pyx_k_send[] = "send"; -static const char __pyx_k_spec[] = "__spec__"; -static const char __pyx_k_test[] = "__test__"; -static const char __pyx_k_text[] = "text"; -static const char __pyx_k_type[] = "type"; -static const char __pyx_k_uuid[] = "uuid"; -static const char __pyx_k_EMAIL[] = "EMAIL"; -static const char __pyx_k_PAY_2[] = "PAY_2"; -static const char __pyx_k_State[] = "State"; -static const char __pyx_k_await[] = "__await__"; -static const char __pyx_k_close[] = "close"; -static const char __pyx_k_debug[] = "debug"; -static const char __pyx_k_email[] = "email"; -static const char __pyx_k_error[] = "error"; -static const char __pyx_k_event[] = "event"; -static const char __pyx_k_items[] = "items"; -static const char __pyx_k_phone[] = "phone"; -static const char __pyx_k_range[] = "range"; -static const char __pyx_k_split[] = "split"; -static const char __pyx_k_state[] = "state"; -static const char __pyx_k_super[] = "super"; -static const char __pyx_k_tg_id[] = "tg_id"; -static const char __pyx_k_throw[] = "throw"; -static const char __pyx_k_trial[] = "trial"; -static const char __pyx_k_types[] = "types"; -static const char __pyx_k_uuid4[] = "uuid4"; -static const char __pyx_k_value[] = "value"; -static const char __pyx_k_Router[] = "Router"; -static const char __pyx_k_amount[] = "amount"; -static const char __pyx_k_answer[] = "answer"; -static const char __pyx_k_config[] = "config"; -static const char __pyx_k_create[] = "create"; -static const char __pyx_k_enable[] = "enable"; -static const char __pyx_k_exists[] = "exists"; -static const char __pyx_k_format[] = "format"; -static const char __pyx_k_import[] = "__import__"; -static const char __pyx_k_logger[] = "logger"; -static const char __pyx_k_module[] = "__module__"; -static const char __pyx_k_object[] = "object"; -static const char __pyx_k_router[] = "router"; -static const char __pyx_k_status[] = "status"; -static const char __pyx_k_target[] = "target"; -static const char __pyx_k_typing[] = "typing"; -static const char __pyx_k_Message[] = "Message"; -static const char __pyx_k_Payment[] = "Payment"; -static const char __pyx_k_aiogram[] = "aiogram"; -static const char __pyx_k_aiohttp[] = "aiohttp"; -static const char __pyx_k_asyncio[] = "asyncio"; -static const char __pyx_k_asyncpg[] = "asyncpg"; -static const char __pyx_k_balance[] = "balance"; -static const char __pyx_k_builder[] = "builder"; -static const char __pyx_k_capture[] = "capture"; -static const char __pyx_k_connect[] = "connect"; -static const char __pyx_k_disable[] = "disable"; -static const char __pyx_k_inspect[] = "inspect"; -static const char __pyx_k_isdigit[] = "isdigit"; -static const char __pyx_k_message[] = "message"; -static const char __pyx_k_payment[] = "payment"; -static const char __pyx_k_pending[] = "pending"; -static const char __pyx_k_prepare[] = "__prepare__"; -static const char __pyx_k_profile[] = "profile"; -static const char __pyx_k_receipt[] = "receipt"; -static const char __pyx_k_request[] = "request"; -static const char __pyx_k_session[] = "session"; -static const char __pyx_k_user_id[] = "user_id"; -static const char __pyx_k_warning[] = "warning"; -static const char __pyx_k_Response[] = "Response"; -static const char __pyx_k_amount_2[] = ", amount: "; -static const char __pyx_k_currency[] = "currency"; -static const char __pyx_k_customer[] = "customer"; -static const char __pyx_k_database[] = "database"; -static const char __pyx_k_find_one[] = "find_one"; -static const char __pyx_k_metadata[] = "metadata"; -static const char __pyx_k_qualname[] = "__qualname__"; -static const char __pyx_k_quantity[] = "quantity"; -static const char __pyx_k_redirect[] = "redirect"; -static const char __pyx_k_response[] = "response"; -static const char __pyx_k_set_name[] = "__set_name__"; -static const char __pyx_k_vat_code[] = "vat_code"; -static const char __pyx_k_yookassa[] = "yookassa_"; -static const char __pyx_k_ENTER_SUM[] = "ENTER_SUM"; -static const char __pyx_k_MAIN_MENU[] = "MAIN_MENU"; -static const char __pyx_k_as_markup[] = "as_markup"; -static const char __pyx_k_from_user[] = "from_user"; -static const char __pyx_k_full_name[] = "full_name"; -static const char __pyx_k_isenabled[] = "isenabled"; -static const char __pyx_k_key_count[] = "key_count"; -static const char __pyx_k_metaclass[] = "__metaclass__"; -static const char __pyx_k_set_state[] = "set_state"; -static const char __pyx_k_succeeded[] = "succeeded"; -static const char __pyx_k_user_data[] = "user_data"; -static const char __pyx_k_Account_ID[] = "Account ID: "; -static const char __pyx_k_FSMContext[] = "FSMContext"; -static const char __pyx_k_Secret_Key[] = "Secret Key: "; -static const char __pyx_k_ValueError[] = "ValueError"; -static const char __pyx_k_account_id[] = "account_id"; -static const char __pyx_k_amount_str[] = "amount_str"; -static const char __pyx_k_payment_id[] = "payment_id"; -static const char __pyx_k_return_url[] = "return_url"; -static const char __pyx_k_secret_key[] = "secret_key"; -static const char __pyx_k_startswith[] = "startswith"; -static const char __pyx_k_state_type[] = "state_type"; -static const char __pyx_k_yookassa_2[] = "yookassa"; -static const char __pyx_k_79000000000[] = "79000000000"; -static const char __pyx_k_AMOUNT_TEXT[] = "AMOUNT_TEXT"; -static const char __pyx_k_MAIN_SECRET[] = "MAIN_SECRET"; -static const char __pyx_k_StatesGroup[] = "StatesGroup"; -static const char __pyx_k_add_payment[] = "add_payment"; -static const char __pyx_k_create_task[] = "create_task"; -static const char __pyx_k_description[] = "description"; -static const char __pyx_k_mro_entries[] = "__mro_entries__"; -static const char __pyx_k_payment_url[] = "payment_url"; -static const char __pyx_k_solonet_sup[] = "\342\235\214 \320\237\320\270\321\200\320\260\321\202\321\201\320\272\320\260\321\217 \320\262\320\265\321\200\321\201\320\270\321\217, \320\276\320\261\321\200\320\260\321\202\320\270\321\202\320\265\321\201\321\214 \320\262 \320\277\320\276\320\264\320\264\320\265\321\200\320\266\320\272\321\203 @solonet_sup."; -static const char __pyx_k_update_data[] = "update_data"; -static const char __pyx_k_user_id_str[] = "user_id_str"; -static const char __pyx_k_API_Yookassa[] = "\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260 \320\277\320\273\320\260\321\202\320\265\320\266\320\260 \321\207\320\265\321\200\320\265\320\267 API Yookassa: "; -static const char __pyx_k_DATABASE_URL[] = "DATABASE_URL"; -static const char __pyx_k_SERVICE_NAME[] = "SERVICE_NAME"; -static const char __pyx_k_confirmation[] = "confirmation"; -static const char __pyx_k_full_payment[] = "full_payment"; -static const char __pyx_k_initializing[] = "_initializing"; -static const char __pyx_k_is_coroutine[] = "_is_coroutine"; -static const char __pyx_k_pay_yookassa[] = "pay_yookassa"; -static const char __pyx_k_payment_mode[] = "payment_mode"; -static const char __pyx_k_reply_markup[] = "reply_markup"; -static const char __pyx_k_send_message[] = "_send_message"; -static const char __pyx_k_CUSTOM_AMOUNT[] = "CUSTOM_AMOUNT"; -static const char __pyx_k_CallbackQuery[] = "CallbackQuery"; -static const char __pyx_k_Configuration[] = "Configuration"; -static const char __pyx_k_REDIRECT_LINK[] = "REDIRECT_LINK"; -static const char __pyx_k_YOOKASSA_HASH[] = "YOOKASSA_HASH"; -static const char __pyx_k_aiogram_types[] = "aiogram.types"; -static const char __pyx_k_asyncio_tasks[] = "asyncio.tasks"; -static const char __pyx_k_callback_data[] = "callback_data"; -static const char __pyx_k_class_getitem[] = "__class_getitem__"; -static const char __pyx_k_customer_name[] = "customer_name"; -static const char __pyx_k_expected_hash[] = "expected_hash"; -static const char __pyx_k_get_key_count[] = "get_key_count"; -static const char __pyx_k_init_subclass[] = "__init_subclass__"; -static const char __pyx_k_add_connection[] = "add_connection"; -static const char __pyx_k_callback_query[] = "callback_query"; -static const char __pyx_k_customer_email[] = "customer_email"; -static const char __pyx_k_handlers_texts[] = "handlers.texts"; -static const char __pyx_k_handlers_utils[] = "handlers.utils"; -static const char __pyx_k_payment_object[] = "payment_object"; -static const char __pyx_k_target_message[] = "target_message"; -static const char __pyx_k_update_balance[] = "update_balance"; -static const char __pyx_k_user_id_amount[] = "\320\236\321\210\320\270\320\261\320\272\320\260 \320\272\320\276\320\275\320\262\320\265\321\200\321\202\320\260\321\206\320\270\320\270 user_id \320\270\320\273\320\270 amount: "; -static const char __pyx_k_PAYMENT_OPTIONS[] = "PAYMENT_OPTIONS"; -static const char __pyx_k_YOOKASSA_ENABLE[] = "YOOKASSA_ENABLE"; -static const char __pyx_k_inline_keyboard[] = "inline_keyboard"; -static const char __pyx_k_payment_message[] = "payment_message"; -static const char __pyx_k_payment_subject[] = "payment_subject"; -static const char __pyx_k_required_amount[] = "required_amount"; -static const char __pyx_k_yookassa_amount[] = "yookassa_amount|"; -static const char __pyx_k_HASHHASHYOOKASSA[] = "HASHHASHYOOKASSA"; -static const char __pyx_k_YOOKASSA_SHOP_ID[] = "YOOKASSA_SHOP_ID"; -static const char __pyx_k_confirm_keyboard[] = "confirm_keyboard"; -static const char __pyx_k_confirmation_url[] = "confirmation_url"; -static const char __pyx_k_handlers_buttons[] = "handlers.buttons"; -static const char __pyx_k_yookassa_webhook[] = "yookassa_webhook"; -static const char __pyx_k_aiogram_fsm_state[] = "aiogram.fsm.state"; -static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines"; -static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; -static const char __pyx_k_get_temporary_data[] = "get_temporary_data"; -static const char __pyx_k_YOOKASSA_SECRET_KEY[] = "YOOKASSA_SECRET_KEY"; -static const char __pyx_k_aiogram_fsm_context[] = "aiogram.fsm.context"; -static const char __pyx_k_types_CallbackQuery[] = "types.CallbackQuery"; -static const char __pyx_k_waiting_for_payment[] = "waiting_for_payment"; -static const char __pyx_k_InlineKeyboardButton[] = "InlineKeyboardButton"; -static const char __pyx_k_InlineKeyboardMarkup[] = "InlineKeyboardMarkup"; -static const char __pyx_k_edit_or_send_message[] = "edit_or_send_message"; -static const char __pyx_k_InlineKeyboardBuilder[] = "InlineKeyboardBuilder"; -static const char __pyx_k_ReplenishBalanceState[] = "ReplenishBalanceState"; -static const char __pyx_k_Webhook_event_received[] = "Webhook event received: "; -static const char __pyx_k_aiogram_utils_keyboard[] = "aiogram.utils.keyboard"; -static const char __pyx_k_handlers_payments_gift[] = "handlers.payments.gift"; -static const char __pyx_k_DEFAULT_PAYMENT_MESSAGE[] = "DEFAULT_PAYMENT_MESSAGE"; -static const char __pyx_k_check_connection_exists[] = "check_connection_exists"; -static const char __pyx_k_handlers_payments_utils[] = "handlers.payments.utils"; -static const char __pyx_k_choosing_amount_yookassa[] = "choosing_amount_yookassa"; -static const char __pyx_k_process_amount_selection[] = "process_amount_selection"; -static const char __pyx_k_PROJECT_06_01_09_LICENSION[] = "PROJECT_06_01:09_LICENSION"; -static const char __pyx_k_process_successful_payment[] = "process_successful_payment"; -static const char __pyx_k_process_custom_amount_input[] = "process_custom_amount_input"; -static const char __pyx_k_process_enter_custom_amount[] = "process_enter_custom_amount"; -static const char __pyx_k_waiting_for_renewal_payment[] = "waiting_for_renewal_payment"; -static const char __pyx_k_enter_custom_amount_yookassa[] = "enter_custom_amount_yookassa"; -static const char __pyx_k_Payment_succeeded_for_user_id[] = "Payment succeeded for user_id: "; -static const char __pyx_k_process_callback_pay_yookassa[] = "process_callback_pay_yookassa"; -static const char __pyx_k_handlers_payments_yookassa_pay[] = "handlers.payments.yookassa_pay"; -static const char __pyx_k_entering_custom_amount_yookassa[] = "entering_custom_amount_yookassa"; -static const char __pyx_k_handlers_payments_yookassa_pay_p[] = "handlers/payments/yookassa_pay.py"; -static const char __pyx_k_send_payment_success_notificatio[] = "send_payment_success_notification"; -static const char __pyx_k_types_CallbackQuery_types_Messag[] = "types.CallbackQuery | types.Message"; -static const char __pyx_k_waiting_for_payment_confirmation[] = "waiting_for_payment_confirmation_yookassa"; -/* #### Code section: decls ### */ -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_process_callback_pay_yookassa(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_3process_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_6yookassa_webhook(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_request); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_9process_successful_payment(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_user_id, PyObject *__pyx_v_amount); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_12process_enter_custom_amount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_15process_custom_amount_input(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_session); /* proto */ -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_18_send_message(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_text, PyObject *__pyx_v_reply_markup); /* proto */ -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ -/* #### Code section: late_includes ### */ -/* #### Code section: module_state ### */ -typedef struct { - PyObject *__pyx_d; - PyObject *__pyx_b; - PyObject *__pyx_cython_runtime; - PyObject *__pyx_empty_tuple; - PyObject *__pyx_empty_bytes; - PyObject *__pyx_empty_unicode; - #ifdef __Pyx_CyFunction_USED - PyTypeObject *__pyx_CyFunctionType; - #endif - #ifdef __Pyx_FusedFunction_USED - PyTypeObject *__pyx_FusedFunctionType; - #endif - #ifdef __Pyx_Generator_USED - PyTypeObject *__pyx_GeneratorType; - #endif - #ifdef __Pyx_IterableCoroutine_USED - PyTypeObject *__pyx_IterableCoroutineType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineAwaitType; - #endif - #ifdef __Pyx_Coroutine_USED - PyTypeObject *__pyx_CoroutineType; - #endif - #if CYTHON_USE_MODULE_STATE - PyObject *__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa; - PyObject *__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection; - PyObject *__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook; - PyObject *__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment; - PyObject *__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount; - PyObject *__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input; - PyObject *__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message; - #endif - PyTypeObject *__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa; - PyTypeObject *__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection; - PyTypeObject *__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook; - PyTypeObject *__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment; - PyTypeObject *__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount; - PyTypeObject *__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input; - PyTypeObject *__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message; - PyObject *__pyx_kp_u_1_00; - PyObject *__pyx_kp_u_79000000000; - PyObject *__pyx_n_s_AMOUNT_TEXT; - PyObject *__pyx_kp_u_API_Yookassa; - PyObject *__pyx_kp_u_Account_ID; - PyObject *__pyx_n_s_Any; - PyObject *__pyx_n_s_BACK; - PyObject *__pyx_n_s_CUSTOM_AMOUNT; - PyObject *__pyx_n_s_CallbackQuery; - PyObject *__pyx_n_s_Configuration; - PyObject *__pyx_n_s_DATABASE_URL; - PyObject *__pyx_n_s_DEFAULT_PAYMENT_MESSAGE; - PyObject *__pyx_n_s_EMAIL; - PyObject *__pyx_n_s_ENTER_SUM; - PyObject *__pyx_n_s_F; - PyObject *__pyx_n_s_FSMContext; - PyObject *__pyx_n_u_HASHHASHYOOKASSA; - PyObject *__pyx_kp_u_ID; - PyObject *__pyx_kp_u_ID_2; - PyObject *__pyx_n_s_InlineKeyboardBuilder; - PyObject *__pyx_n_s_InlineKeyboardButton; - PyObject *__pyx_n_s_InlineKeyboardMarkup; - PyObject *__pyx_n_s_MAIN_MENU; - PyObject *__pyx_n_s_MAIN_SECRET; - PyObject *__pyx_n_s_Message; - PyObject *__pyx_n_s_PAY; - PyObject *__pyx_n_s_PAYMENT_OPTIONS; - PyObject *__pyx_n_s_PAY_2; - PyObject *__pyx_kp_u_PROJECT_06_01_09_LICENSION; - PyObject *__pyx_n_s_Payment; - PyObject *__pyx_kp_u_Payment_succeeded_for_user_id; - PyObject *__pyx_n_s_REDIRECT_LINK; - PyObject *__pyx_n_u_RUB; - PyObject *__pyx_n_s_ReplenishBalanceState; - PyObject *__pyx_n_s_Response; - PyObject *__pyx_n_s_Router; - PyObject *__pyx_n_s_SERVICE_NAME; - PyObject *__pyx_kp_u_Secret_Key; - PyObject *__pyx_n_s_State; - PyObject *__pyx_n_s_StatesGroup; - PyObject *__pyx_n_s_ValueError; - PyObject *__pyx_kp_u_Webhook_event_received; - PyObject *__pyx_n_s_YOOKASSA_ENABLE; - PyObject *__pyx_n_s_YOOKASSA_HASH; - PyObject *__pyx_n_s_YOOKASSA_SECRET_KEY; - PyObject *__pyx_n_s_YOOKASSA_SHOP_ID; - PyObject *__pyx_kp_u__10; - PyObject *__pyx_kp_u__11; - PyObject *__pyx_kp_u__13; - PyObject *__pyx_kp_u__14; - PyObject *__pyx_kp_u__17; - PyObject *__pyx_kp_u__19; - PyObject *__pyx_kp_u__2; - PyObject *__pyx_kp_u__20; - PyObject *__pyx_kp_u__21; - PyObject *__pyx_kp_u__22; - PyObject *__pyx_kp_u__23; - PyObject *__pyx_n_s__25; - PyObject *__pyx_kp_u__26; - PyObject *__pyx_n_s__36; - PyObject *__pyx_kp_u__4; - PyObject *__pyx_kp_u__6; - PyObject *__pyx_kp_u__7; - PyObject *__pyx_kp_u__8; - PyObject *__pyx_n_s_account_id; - PyObject *__pyx_n_s_add_connection; - PyObject *__pyx_n_s_add_payment; - PyObject *__pyx_n_s_aiogram; - PyObject *__pyx_n_s_aiogram_fsm_context; - PyObject *__pyx_n_s_aiogram_fsm_state; - PyObject *__pyx_n_s_aiogram_types; - PyObject *__pyx_n_s_aiogram_utils_keyboard; - PyObject *__pyx_n_s_aiohttp; - PyObject *__pyx_n_s_amount; - PyObject *__pyx_n_u_amount; - PyObject *__pyx_kp_u_amount_2; - PyObject *__pyx_n_s_amount_str; - PyObject *__pyx_n_s_answer; - PyObject *__pyx_n_s_args; - PyObject *__pyx_n_s_as_markup; - PyObject *__pyx_n_s_asyncio; - PyObject *__pyx_n_s_asyncio_coroutines; - PyObject *__pyx_n_s_asyncio_tasks; - PyObject *__pyx_n_s_asyncpg; - PyObject *__pyx_n_s_await; - PyObject *__pyx_n_s_balance; - PyObject *__pyx_n_s_builder; - PyObject *__pyx_n_s_callback_data; - PyObject *__pyx_n_u_callback_data; - PyObject *__pyx_n_s_callback_query; - PyObject *__pyx_n_u_capture; - PyObject *__pyx_n_s_chat; - PyObject *__pyx_n_s_check_connection_exists; - PyObject *__pyx_n_s_choosing_amount_yookassa; - PyObject *__pyx_n_s_class_getitem; - PyObject *__pyx_n_s_cline_in_traceback; - PyObject *__pyx_n_s_close; - PyObject *__pyx_n_s_config; - PyObject *__pyx_n_s_confirm_keyboard; - PyObject *__pyx_n_u_confirmation; - PyObject *__pyx_n_u_confirmation_url; - PyObject *__pyx_n_s_conn; - PyObject *__pyx_n_s_connect; - PyObject *__pyx_n_s_create; - PyObject *__pyx_n_s_create_task; - PyObject *__pyx_n_u_currency; - PyObject *__pyx_n_u_customer; - PyObject *__pyx_n_s_customer_email; - PyObject *__pyx_n_s_customer_name; - PyObject *__pyx_n_s_data; - PyObject *__pyx_n_u_data; - PyObject *__pyx_n_s_database; - PyObject *__pyx_n_s_debug; - PyObject *__pyx_n_u_description; - PyObject *__pyx_n_s_dict; - PyObject *__pyx_kp_u_disable; - PyObject *__pyx_n_s_doc; - PyObject *__pyx_n_s_e; - PyObject *__pyx_n_s_edit_or_send_message; - PyObject *__pyx_n_u_email; - PyObject *__pyx_kp_u_enable; - PyObject *__pyx_n_u_enter_custom_amount_yookassa; - PyObject *__pyx_n_s_entering_custom_amount_yookassa; - PyObject *__pyx_n_s_error; - PyObject *__pyx_n_s_event; - PyObject *__pyx_n_s_exists; - PyObject *__pyx_n_s_expected_hash; - PyObject *__pyx_n_s_find_one; - PyObject *__pyx_n_s_format; - PyObject *__pyx_n_s_from_user; - PyObject *__pyx_n_s_full_name; - PyObject *__pyx_n_u_full_name; - PyObject *__pyx_n_u_full_payment; - PyObject *__pyx_kp_u_gc; - PyObject *__pyx_n_s_get; - PyObject *__pyx_n_s_get_key_count; - PyObject *__pyx_n_s_get_temporary_data; - PyObject *__pyx_n_s_handlers_buttons; - PyObject *__pyx_n_s_handlers_payments_gift; - PyObject *__pyx_n_s_handlers_payments_utils; - PyObject *__pyx_n_s_handlers_payments_yookassa_pay; - PyObject *__pyx_kp_s_handlers_payments_yookassa_pay_p; - PyObject *__pyx_n_s_handlers_texts; - PyObject *__pyx_n_s_handlers_utils; - PyObject *__pyx_n_s_i; - PyObject *__pyx_n_s_id; - PyObject *__pyx_n_u_id; - PyObject *__pyx_n_s_import; - PyObject *__pyx_n_s_info; - PyObject *__pyx_n_s_init_subclass; - PyObject *__pyx_n_s_initializing; - PyObject *__pyx_n_s_inline_keyboard; - PyObject *__pyx_n_s_inspect; - PyObject *__pyx_n_s_is_coroutine; - PyObject *__pyx_n_s_isdigit; - PyObject *__pyx_kp_u_isenabled; - PyObject *__pyx_n_u_items; - PyObject *__pyx_n_s_json; - PyObject *__pyx_n_s_key_count; - PyObject *__pyx_n_s_logger; - PyObject *__pyx_n_s_main; - PyObject *__pyx_n_s_message; - PyObject *__pyx_n_s_metaclass; - PyObject *__pyx_n_s_metadata; - PyObject *__pyx_n_u_metadata; - PyObject *__pyx_n_s_module; - PyObject *__pyx_n_s_mro_entries; - PyObject *__pyx_n_s_name; - PyObject *__pyx_n_u_object; - PyObject *__pyx_n_s_paid; - PyObject *__pyx_n_u_pay; - PyObject *__pyx_n_u_pay_yookassa; - PyObject *__pyx_n_s_payment; - PyObject *__pyx_n_u_payment; - PyObject *__pyx_n_s_payment_id; - PyObject *__pyx_n_s_payment_message; - PyObject *__pyx_n_u_payment_mode; - PyObject *__pyx_n_s_payment_object; - PyObject *__pyx_n_u_payment_subject; - PyObject *__pyx_n_s_payment_url; - PyObject *__pyx_n_u_pending; - PyObject *__pyx_n_u_phone; - PyObject *__pyx_n_s_prepare; - PyObject *__pyx_n_s_process_amount_selection; - PyObject *__pyx_n_s_process_callback_pay_yookassa; - PyObject *__pyx_n_s_process_custom_amount_input; - PyObject *__pyx_n_s_process_enter_custom_amount; - PyObject *__pyx_n_s_process_successful_payment; - PyObject *__pyx_n_u_profile; - PyObject *__pyx_n_s_qualname; - PyObject *__pyx_n_u_quantity; - PyObject *__pyx_n_s_range; - PyObject *__pyx_n_u_receipt; - PyObject *__pyx_n_u_redirect; - PyObject *__pyx_n_s_reply_markup; - PyObject *__pyx_n_s_request; - PyObject *__pyx_n_u_required_amount; - PyObject *__pyx_n_s_response; - PyObject *__pyx_n_u_return_url; - PyObject *__pyx_n_s_router; - PyObject *__pyx_n_s_row; - PyObject *__pyx_n_s_secret_key; - PyObject *__pyx_n_s_send; - PyObject *__pyx_n_s_send_message; - PyObject *__pyx_n_s_send_payment_success_notificatio; - PyObject *__pyx_n_s_session; - PyObject *__pyx_n_s_set_name; - PyObject *__pyx_n_s_set_state; - PyObject *__pyx_kp_u_solonet_sup; - PyObject *__pyx_n_s_spec; - PyObject *__pyx_n_s_split; - PyObject *__pyx_n_s_startswith; - PyObject *__pyx_n_s_state; - PyObject *__pyx_n_u_state; - PyObject *__pyx_n_s_state_type; - PyObject *__pyx_n_s_status; - PyObject *__pyx_n_u_status; - PyObject *__pyx_n_s_str; - PyObject *__pyx_n_u_succeeded; - PyObject *__pyx_n_s_super; - PyObject *__pyx_n_s_target; - PyObject *__pyx_n_s_target_message; - PyObject *__pyx_n_s_test; - PyObject *__pyx_n_s_text; - PyObject *__pyx_n_u_text; - PyObject *__pyx_n_s_tg_id; - PyObject *__pyx_n_s_throw; - PyObject *__pyx_n_s_trial; - PyObject *__pyx_n_u_type; - PyObject *__pyx_n_s_types; - PyObject *__pyx_kp_s_types_CallbackQuery; - PyObject *__pyx_kp_s_types_CallbackQuery_types_Messag; - PyObject *__pyx_n_s_typing; - PyObject *__pyx_n_s_update_balance; - PyObject *__pyx_n_s_update_data; - PyObject *__pyx_n_s_url; - PyObject *__pyx_n_s_user_data; - PyObject *__pyx_n_s_user_id; - PyObject *__pyx_n_u_user_id; - PyObject *__pyx_kp_u_user_id_amount; - PyObject *__pyx_n_s_user_id_str; - PyObject *__pyx_n_s_uuid; - PyObject *__pyx_n_s_uuid4; - PyObject *__pyx_n_u_value; - PyObject *__pyx_n_u_vat_code; - PyObject *__pyx_n_u_waiting_for_payment; - PyObject *__pyx_n_s_waiting_for_payment_confirmation; - PyObject *__pyx_n_u_waiting_for_renewal_payment; - PyObject *__pyx_n_s_warning; - PyObject *__pyx_n_s_web; - PyObject *__pyx_n_u_yookassa; - PyObject *__pyx_n_s_yookassa_2; - PyObject *__pyx_n_u_yookassa_2; - PyObject *__pyx_kp_u_yookassa_amount; - PyObject *__pyx_n_s_yookassa_webhook; - PyObject *__pyx_float_0_0; - PyObject *__pyx_int_0; - PyObject *__pyx_int_1; - PyObject *__pyx_int_2; - PyObject *__pyx_int_200; - PyObject *__pyx_int_400; - PyObject *__pyx_int_500; - PyObject *__pyx_codeobj_; - PyObject *__pyx_tuple__5; - PyObject *__pyx_tuple__18; - PyObject *__pyx_tuple__27; - PyObject *__pyx_tuple__28; - PyObject *__pyx_tuple__29; - PyObject *__pyx_tuple__30; - PyObject *__pyx_tuple__31; - PyObject *__pyx_tuple__32; - PyObject *__pyx_tuple__33; - PyObject *__pyx_tuple__34; - PyObject *__pyx_tuple__35; - PyObject *__pyx_codeobj__3; - PyObject *__pyx_codeobj__9; - PyObject *__pyx_codeobj__12; - PyObject *__pyx_codeobj__15; - PyObject *__pyx_codeobj__16; - PyObject *__pyx_codeobj__24; -} __pyx_mstate; - -#if CYTHON_USE_MODULE_STATE -#ifdef __cplusplus -namespace { - extern struct PyModuleDef __pyx_moduledef; -} /* anonymous namespace */ -#else -static struct PyModuleDef __pyx_moduledef; -#endif - -#define __pyx_mstate(o) ((__pyx_mstate *)__Pyx_PyModule_GetState(o)) - -#define __pyx_mstate_global (__pyx_mstate(PyState_FindModule(&__pyx_moduledef))) - -#define __pyx_m (PyState_FindModule(&__pyx_moduledef)) -#else -static __pyx_mstate __pyx_mstate_global_static = -#ifdef __cplusplus - {}; -#else - {0}; -#endif -static __pyx_mstate *__pyx_mstate_global = &__pyx_mstate_global_static; -#endif -/* #### Code section: module_state_clear ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_clear(PyObject *m) { - __pyx_mstate *clear_module_state = __pyx_mstate(m); - if (!clear_module_state) return 0; - Py_CLEAR(clear_module_state->__pyx_d); - Py_CLEAR(clear_module_state->__pyx_b); - Py_CLEAR(clear_module_state->__pyx_cython_runtime); - Py_CLEAR(clear_module_state->__pyx_empty_tuple); - Py_CLEAR(clear_module_state->__pyx_empty_bytes); - Py_CLEAR(clear_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_CLEAR(clear_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_CLEAR(clear_module_state->__pyx_FusedFunctionType); - #endif - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message); - Py_CLEAR(clear_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message); - Py_CLEAR(clear_module_state->__pyx_kp_u_1_00); - Py_CLEAR(clear_module_state->__pyx_kp_u_79000000000); - Py_CLEAR(clear_module_state->__pyx_n_s_AMOUNT_TEXT); - Py_CLEAR(clear_module_state->__pyx_kp_u_API_Yookassa); - Py_CLEAR(clear_module_state->__pyx_kp_u_Account_ID); - Py_CLEAR(clear_module_state->__pyx_n_s_Any); - Py_CLEAR(clear_module_state->__pyx_n_s_BACK); - Py_CLEAR(clear_module_state->__pyx_n_s_CUSTOM_AMOUNT); - Py_CLEAR(clear_module_state->__pyx_n_s_CallbackQuery); - Py_CLEAR(clear_module_state->__pyx_n_s_Configuration); - Py_CLEAR(clear_module_state->__pyx_n_s_DATABASE_URL); - Py_CLEAR(clear_module_state->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - Py_CLEAR(clear_module_state->__pyx_n_s_EMAIL); - Py_CLEAR(clear_module_state->__pyx_n_s_ENTER_SUM); - Py_CLEAR(clear_module_state->__pyx_n_s_F); - Py_CLEAR(clear_module_state->__pyx_n_s_FSMContext); - Py_CLEAR(clear_module_state->__pyx_n_u_HASHHASHYOOKASSA); - Py_CLEAR(clear_module_state->__pyx_kp_u_ID); - Py_CLEAR(clear_module_state->__pyx_kp_u_ID_2); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardButton); - Py_CLEAR(clear_module_state->__pyx_n_s_InlineKeyboardMarkup); - Py_CLEAR(clear_module_state->__pyx_n_s_MAIN_MENU); - Py_CLEAR(clear_module_state->__pyx_n_s_MAIN_SECRET); - Py_CLEAR(clear_module_state->__pyx_n_s_Message); - Py_CLEAR(clear_module_state->__pyx_n_s_PAY); - Py_CLEAR(clear_module_state->__pyx_n_s_PAYMENT_OPTIONS); - Py_CLEAR(clear_module_state->__pyx_n_s_PAY_2); - Py_CLEAR(clear_module_state->__pyx_kp_u_PROJECT_06_01_09_LICENSION); - Py_CLEAR(clear_module_state->__pyx_n_s_Payment); - Py_CLEAR(clear_module_state->__pyx_kp_u_Payment_succeeded_for_user_id); - Py_CLEAR(clear_module_state->__pyx_n_s_REDIRECT_LINK); - Py_CLEAR(clear_module_state->__pyx_n_u_RUB); - Py_CLEAR(clear_module_state->__pyx_n_s_ReplenishBalanceState); - Py_CLEAR(clear_module_state->__pyx_n_s_Response); - Py_CLEAR(clear_module_state->__pyx_n_s_Router); - Py_CLEAR(clear_module_state->__pyx_n_s_SERVICE_NAME); - Py_CLEAR(clear_module_state->__pyx_kp_u_Secret_Key); - Py_CLEAR(clear_module_state->__pyx_n_s_State); - Py_CLEAR(clear_module_state->__pyx_n_s_StatesGroup); - Py_CLEAR(clear_module_state->__pyx_n_s_ValueError); - Py_CLEAR(clear_module_state->__pyx_kp_u_Webhook_event_received); - Py_CLEAR(clear_module_state->__pyx_n_s_YOOKASSA_ENABLE); - Py_CLEAR(clear_module_state->__pyx_n_s_YOOKASSA_HASH); - Py_CLEAR(clear_module_state->__pyx_n_s_YOOKASSA_SECRET_KEY); - Py_CLEAR(clear_module_state->__pyx_n_s_YOOKASSA_SHOP_ID); - Py_CLEAR(clear_module_state->__pyx_kp_u__10); - Py_CLEAR(clear_module_state->__pyx_kp_u__11); - Py_CLEAR(clear_module_state->__pyx_kp_u__13); - Py_CLEAR(clear_module_state->__pyx_kp_u__14); - Py_CLEAR(clear_module_state->__pyx_kp_u__17); - Py_CLEAR(clear_module_state->__pyx_kp_u__19); - Py_CLEAR(clear_module_state->__pyx_kp_u__2); - Py_CLEAR(clear_module_state->__pyx_kp_u__20); - Py_CLEAR(clear_module_state->__pyx_kp_u__21); - Py_CLEAR(clear_module_state->__pyx_kp_u__22); - Py_CLEAR(clear_module_state->__pyx_kp_u__23); - Py_CLEAR(clear_module_state->__pyx_n_s__25); - Py_CLEAR(clear_module_state->__pyx_kp_u__26); - Py_CLEAR(clear_module_state->__pyx_n_s__36); - Py_CLEAR(clear_module_state->__pyx_kp_u__4); - Py_CLEAR(clear_module_state->__pyx_kp_u__6); - Py_CLEAR(clear_module_state->__pyx_kp_u__7); - Py_CLEAR(clear_module_state->__pyx_kp_u__8); - Py_CLEAR(clear_module_state->__pyx_n_s_account_id); - Py_CLEAR(clear_module_state->__pyx_n_s_add_connection); - Py_CLEAR(clear_module_state->__pyx_n_s_add_payment); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_fsm_context); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_fsm_state); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_types); - Py_CLEAR(clear_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_CLEAR(clear_module_state->__pyx_n_s_aiohttp); - Py_CLEAR(clear_module_state->__pyx_n_s_amount); - Py_CLEAR(clear_module_state->__pyx_n_u_amount); - Py_CLEAR(clear_module_state->__pyx_kp_u_amount_2); - Py_CLEAR(clear_module_state->__pyx_n_s_amount_str); - Py_CLEAR(clear_module_state->__pyx_n_s_answer); - Py_CLEAR(clear_module_state->__pyx_n_s_args); - Py_CLEAR(clear_module_state->__pyx_n_s_as_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncio); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_tasks); - Py_CLEAR(clear_module_state->__pyx_n_s_asyncpg); - Py_CLEAR(clear_module_state->__pyx_n_s_await); - Py_CLEAR(clear_module_state->__pyx_n_s_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_builder); - Py_CLEAR(clear_module_state->__pyx_n_s_callback_data); - Py_CLEAR(clear_module_state->__pyx_n_u_callback_data); - Py_CLEAR(clear_module_state->__pyx_n_s_callback_query); - Py_CLEAR(clear_module_state->__pyx_n_u_capture); - Py_CLEAR(clear_module_state->__pyx_n_s_chat); - Py_CLEAR(clear_module_state->__pyx_n_s_check_connection_exists); - Py_CLEAR(clear_module_state->__pyx_n_s_choosing_amount_yookassa); - Py_CLEAR(clear_module_state->__pyx_n_s_class_getitem); - Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback); - Py_CLEAR(clear_module_state->__pyx_n_s_close); - Py_CLEAR(clear_module_state->__pyx_n_s_config); - Py_CLEAR(clear_module_state->__pyx_n_s_confirm_keyboard); - Py_CLEAR(clear_module_state->__pyx_n_u_confirmation); - Py_CLEAR(clear_module_state->__pyx_n_u_confirmation_url); - Py_CLEAR(clear_module_state->__pyx_n_s_conn); - Py_CLEAR(clear_module_state->__pyx_n_s_connect); - Py_CLEAR(clear_module_state->__pyx_n_s_create); - Py_CLEAR(clear_module_state->__pyx_n_s_create_task); - Py_CLEAR(clear_module_state->__pyx_n_u_currency); - Py_CLEAR(clear_module_state->__pyx_n_u_customer); - Py_CLEAR(clear_module_state->__pyx_n_s_customer_email); - Py_CLEAR(clear_module_state->__pyx_n_s_customer_name); - Py_CLEAR(clear_module_state->__pyx_n_s_data); - Py_CLEAR(clear_module_state->__pyx_n_u_data); - Py_CLEAR(clear_module_state->__pyx_n_s_database); - Py_CLEAR(clear_module_state->__pyx_n_s_debug); - Py_CLEAR(clear_module_state->__pyx_n_u_description); - Py_CLEAR(clear_module_state->__pyx_n_s_dict); - Py_CLEAR(clear_module_state->__pyx_kp_u_disable); - Py_CLEAR(clear_module_state->__pyx_n_s_doc); - Py_CLEAR(clear_module_state->__pyx_n_s_e); - Py_CLEAR(clear_module_state->__pyx_n_s_edit_or_send_message); - Py_CLEAR(clear_module_state->__pyx_n_u_email); - Py_CLEAR(clear_module_state->__pyx_kp_u_enable); - Py_CLEAR(clear_module_state->__pyx_n_u_enter_custom_amount_yookassa); - Py_CLEAR(clear_module_state->__pyx_n_s_entering_custom_amount_yookassa); - Py_CLEAR(clear_module_state->__pyx_n_s_error); - Py_CLEAR(clear_module_state->__pyx_n_s_event); - Py_CLEAR(clear_module_state->__pyx_n_s_exists); - Py_CLEAR(clear_module_state->__pyx_n_s_expected_hash); - Py_CLEAR(clear_module_state->__pyx_n_s_find_one); - Py_CLEAR(clear_module_state->__pyx_n_s_format); - Py_CLEAR(clear_module_state->__pyx_n_s_from_user); - Py_CLEAR(clear_module_state->__pyx_n_s_full_name); - Py_CLEAR(clear_module_state->__pyx_n_u_full_name); - Py_CLEAR(clear_module_state->__pyx_n_u_full_payment); - Py_CLEAR(clear_module_state->__pyx_kp_u_gc); - Py_CLEAR(clear_module_state->__pyx_n_s_get); - Py_CLEAR(clear_module_state->__pyx_n_s_get_key_count); - Py_CLEAR(clear_module_state->__pyx_n_s_get_temporary_data); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_buttons); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_gift); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_utils); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_payments_yookassa_pay); - Py_CLEAR(clear_module_state->__pyx_kp_s_handlers_payments_yookassa_pay_p); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_texts); - Py_CLEAR(clear_module_state->__pyx_n_s_handlers_utils); - Py_CLEAR(clear_module_state->__pyx_n_s_i); - Py_CLEAR(clear_module_state->__pyx_n_s_id); - Py_CLEAR(clear_module_state->__pyx_n_u_id); - Py_CLEAR(clear_module_state->__pyx_n_s_import); - Py_CLEAR(clear_module_state->__pyx_n_s_info); - Py_CLEAR(clear_module_state->__pyx_n_s_init_subclass); - Py_CLEAR(clear_module_state->__pyx_n_s_initializing); - Py_CLEAR(clear_module_state->__pyx_n_s_inline_keyboard); - Py_CLEAR(clear_module_state->__pyx_n_s_inspect); - Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine); - Py_CLEAR(clear_module_state->__pyx_n_s_isdigit); - Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled); - Py_CLEAR(clear_module_state->__pyx_n_u_items); - Py_CLEAR(clear_module_state->__pyx_n_s_json); - Py_CLEAR(clear_module_state->__pyx_n_s_key_count); - Py_CLEAR(clear_module_state->__pyx_n_s_logger); - Py_CLEAR(clear_module_state->__pyx_n_s_main); - Py_CLEAR(clear_module_state->__pyx_n_s_message); - Py_CLEAR(clear_module_state->__pyx_n_s_metaclass); - Py_CLEAR(clear_module_state->__pyx_n_s_metadata); - Py_CLEAR(clear_module_state->__pyx_n_u_metadata); - Py_CLEAR(clear_module_state->__pyx_n_s_module); - Py_CLEAR(clear_module_state->__pyx_n_s_mro_entries); - Py_CLEAR(clear_module_state->__pyx_n_s_name); - Py_CLEAR(clear_module_state->__pyx_n_u_object); - Py_CLEAR(clear_module_state->__pyx_n_s_paid); - Py_CLEAR(clear_module_state->__pyx_n_u_pay); - Py_CLEAR(clear_module_state->__pyx_n_u_pay_yookassa); - Py_CLEAR(clear_module_state->__pyx_n_s_payment); - Py_CLEAR(clear_module_state->__pyx_n_u_payment); - Py_CLEAR(clear_module_state->__pyx_n_s_payment_id); - Py_CLEAR(clear_module_state->__pyx_n_s_payment_message); - Py_CLEAR(clear_module_state->__pyx_n_u_payment_mode); - Py_CLEAR(clear_module_state->__pyx_n_s_payment_object); - Py_CLEAR(clear_module_state->__pyx_n_u_payment_subject); - Py_CLEAR(clear_module_state->__pyx_n_s_payment_url); - Py_CLEAR(clear_module_state->__pyx_n_u_pending); - Py_CLEAR(clear_module_state->__pyx_n_u_phone); - Py_CLEAR(clear_module_state->__pyx_n_s_prepare); - Py_CLEAR(clear_module_state->__pyx_n_s_process_amount_selection); - Py_CLEAR(clear_module_state->__pyx_n_s_process_callback_pay_yookassa); - Py_CLEAR(clear_module_state->__pyx_n_s_process_custom_amount_input); - Py_CLEAR(clear_module_state->__pyx_n_s_process_enter_custom_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_process_successful_payment); - Py_CLEAR(clear_module_state->__pyx_n_u_profile); - Py_CLEAR(clear_module_state->__pyx_n_s_qualname); - Py_CLEAR(clear_module_state->__pyx_n_u_quantity); - Py_CLEAR(clear_module_state->__pyx_n_s_range); - Py_CLEAR(clear_module_state->__pyx_n_u_receipt); - Py_CLEAR(clear_module_state->__pyx_n_u_redirect); - Py_CLEAR(clear_module_state->__pyx_n_s_reply_markup); - Py_CLEAR(clear_module_state->__pyx_n_s_request); - Py_CLEAR(clear_module_state->__pyx_n_u_required_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_response); - Py_CLEAR(clear_module_state->__pyx_n_u_return_url); - Py_CLEAR(clear_module_state->__pyx_n_s_router); - Py_CLEAR(clear_module_state->__pyx_n_s_row); - Py_CLEAR(clear_module_state->__pyx_n_s_secret_key); - Py_CLEAR(clear_module_state->__pyx_n_s_send); - Py_CLEAR(clear_module_state->__pyx_n_s_send_message); - Py_CLEAR(clear_module_state->__pyx_n_s_send_payment_success_notificatio); - Py_CLEAR(clear_module_state->__pyx_n_s_session); - Py_CLEAR(clear_module_state->__pyx_n_s_set_name); - Py_CLEAR(clear_module_state->__pyx_n_s_set_state); - Py_CLEAR(clear_module_state->__pyx_kp_u_solonet_sup); - Py_CLEAR(clear_module_state->__pyx_n_s_spec); - Py_CLEAR(clear_module_state->__pyx_n_s_split); - Py_CLEAR(clear_module_state->__pyx_n_s_startswith); - Py_CLEAR(clear_module_state->__pyx_n_s_state); - Py_CLEAR(clear_module_state->__pyx_n_u_state); - Py_CLEAR(clear_module_state->__pyx_n_s_state_type); - Py_CLEAR(clear_module_state->__pyx_n_s_status); - Py_CLEAR(clear_module_state->__pyx_n_u_status); - Py_CLEAR(clear_module_state->__pyx_n_s_str); - Py_CLEAR(clear_module_state->__pyx_n_u_succeeded); - Py_CLEAR(clear_module_state->__pyx_n_s_super); - Py_CLEAR(clear_module_state->__pyx_n_s_target); - Py_CLEAR(clear_module_state->__pyx_n_s_target_message); - Py_CLEAR(clear_module_state->__pyx_n_s_test); - Py_CLEAR(clear_module_state->__pyx_n_s_text); - Py_CLEAR(clear_module_state->__pyx_n_u_text); - Py_CLEAR(clear_module_state->__pyx_n_s_tg_id); - Py_CLEAR(clear_module_state->__pyx_n_s_throw); - Py_CLEAR(clear_module_state->__pyx_n_s_trial); - Py_CLEAR(clear_module_state->__pyx_n_u_type); - Py_CLEAR(clear_module_state->__pyx_n_s_types); - Py_CLEAR(clear_module_state->__pyx_kp_s_types_CallbackQuery); - Py_CLEAR(clear_module_state->__pyx_kp_s_types_CallbackQuery_types_Messag); - Py_CLEAR(clear_module_state->__pyx_n_s_typing); - Py_CLEAR(clear_module_state->__pyx_n_s_update_balance); - Py_CLEAR(clear_module_state->__pyx_n_s_update_data); - Py_CLEAR(clear_module_state->__pyx_n_s_url); - Py_CLEAR(clear_module_state->__pyx_n_s_user_data); - Py_CLEAR(clear_module_state->__pyx_n_s_user_id); - Py_CLEAR(clear_module_state->__pyx_n_u_user_id); - Py_CLEAR(clear_module_state->__pyx_kp_u_user_id_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_user_id_str); - Py_CLEAR(clear_module_state->__pyx_n_s_uuid); - Py_CLEAR(clear_module_state->__pyx_n_s_uuid4); - Py_CLEAR(clear_module_state->__pyx_n_u_value); - Py_CLEAR(clear_module_state->__pyx_n_u_vat_code); - Py_CLEAR(clear_module_state->__pyx_n_u_waiting_for_payment); - Py_CLEAR(clear_module_state->__pyx_n_s_waiting_for_payment_confirmation); - Py_CLEAR(clear_module_state->__pyx_n_u_waiting_for_renewal_payment); - Py_CLEAR(clear_module_state->__pyx_n_s_warning); - Py_CLEAR(clear_module_state->__pyx_n_s_web); - Py_CLEAR(clear_module_state->__pyx_n_u_yookassa); - Py_CLEAR(clear_module_state->__pyx_n_s_yookassa_2); - Py_CLEAR(clear_module_state->__pyx_n_u_yookassa_2); - Py_CLEAR(clear_module_state->__pyx_kp_u_yookassa_amount); - Py_CLEAR(clear_module_state->__pyx_n_s_yookassa_webhook); - Py_CLEAR(clear_module_state->__pyx_float_0_0); - Py_CLEAR(clear_module_state->__pyx_int_0); - Py_CLEAR(clear_module_state->__pyx_int_1); - Py_CLEAR(clear_module_state->__pyx_int_2); - Py_CLEAR(clear_module_state->__pyx_int_200); - Py_CLEAR(clear_module_state->__pyx_int_400); - Py_CLEAR(clear_module_state->__pyx_int_500); - Py_CLEAR(clear_module_state->__pyx_codeobj_); - Py_CLEAR(clear_module_state->__pyx_tuple__5); - Py_CLEAR(clear_module_state->__pyx_tuple__18); - Py_CLEAR(clear_module_state->__pyx_tuple__27); - Py_CLEAR(clear_module_state->__pyx_tuple__28); - Py_CLEAR(clear_module_state->__pyx_tuple__29); - Py_CLEAR(clear_module_state->__pyx_tuple__30); - Py_CLEAR(clear_module_state->__pyx_tuple__31); - Py_CLEAR(clear_module_state->__pyx_tuple__32); - Py_CLEAR(clear_module_state->__pyx_tuple__33); - Py_CLEAR(clear_module_state->__pyx_tuple__34); - Py_CLEAR(clear_module_state->__pyx_tuple__35); - Py_CLEAR(clear_module_state->__pyx_codeobj__3); - Py_CLEAR(clear_module_state->__pyx_codeobj__9); - Py_CLEAR(clear_module_state->__pyx_codeobj__12); - Py_CLEAR(clear_module_state->__pyx_codeobj__15); - Py_CLEAR(clear_module_state->__pyx_codeobj__16); - Py_CLEAR(clear_module_state->__pyx_codeobj__24); - return 0; -} -#endif -/* #### Code section: module_state_traverse ### */ -#if CYTHON_USE_MODULE_STATE -static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { - __pyx_mstate *traverse_module_state = __pyx_mstate(m); - if (!traverse_module_state) return 0; - Py_VISIT(traverse_module_state->__pyx_d); - Py_VISIT(traverse_module_state->__pyx_b); - Py_VISIT(traverse_module_state->__pyx_cython_runtime); - Py_VISIT(traverse_module_state->__pyx_empty_tuple); - Py_VISIT(traverse_module_state->__pyx_empty_bytes); - Py_VISIT(traverse_module_state->__pyx_empty_unicode); - #ifdef __Pyx_CyFunction_USED - Py_VISIT(traverse_module_state->__pyx_CyFunctionType); - #endif - #ifdef __Pyx_FusedFunction_USED - Py_VISIT(traverse_module_state->__pyx_FusedFunctionType); - #endif - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message); - Py_VISIT(traverse_module_state->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message); - Py_VISIT(traverse_module_state->__pyx_kp_u_1_00); - Py_VISIT(traverse_module_state->__pyx_kp_u_79000000000); - Py_VISIT(traverse_module_state->__pyx_n_s_AMOUNT_TEXT); - Py_VISIT(traverse_module_state->__pyx_kp_u_API_Yookassa); - Py_VISIT(traverse_module_state->__pyx_kp_u_Account_ID); - Py_VISIT(traverse_module_state->__pyx_n_s_Any); - Py_VISIT(traverse_module_state->__pyx_n_s_BACK); - Py_VISIT(traverse_module_state->__pyx_n_s_CUSTOM_AMOUNT); - Py_VISIT(traverse_module_state->__pyx_n_s_CallbackQuery); - Py_VISIT(traverse_module_state->__pyx_n_s_Configuration); - Py_VISIT(traverse_module_state->__pyx_n_s_DATABASE_URL); - Py_VISIT(traverse_module_state->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - Py_VISIT(traverse_module_state->__pyx_n_s_EMAIL); - Py_VISIT(traverse_module_state->__pyx_n_s_ENTER_SUM); - Py_VISIT(traverse_module_state->__pyx_n_s_F); - Py_VISIT(traverse_module_state->__pyx_n_s_FSMContext); - Py_VISIT(traverse_module_state->__pyx_n_u_HASHHASHYOOKASSA); - Py_VISIT(traverse_module_state->__pyx_kp_u_ID); - Py_VISIT(traverse_module_state->__pyx_kp_u_ID_2); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardBuilder); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardButton); - Py_VISIT(traverse_module_state->__pyx_n_s_InlineKeyboardMarkup); - Py_VISIT(traverse_module_state->__pyx_n_s_MAIN_MENU); - Py_VISIT(traverse_module_state->__pyx_n_s_MAIN_SECRET); - Py_VISIT(traverse_module_state->__pyx_n_s_Message); - Py_VISIT(traverse_module_state->__pyx_n_s_PAY); - Py_VISIT(traverse_module_state->__pyx_n_s_PAYMENT_OPTIONS); - Py_VISIT(traverse_module_state->__pyx_n_s_PAY_2); - Py_VISIT(traverse_module_state->__pyx_kp_u_PROJECT_06_01_09_LICENSION); - Py_VISIT(traverse_module_state->__pyx_n_s_Payment); - Py_VISIT(traverse_module_state->__pyx_kp_u_Payment_succeeded_for_user_id); - Py_VISIT(traverse_module_state->__pyx_n_s_REDIRECT_LINK); - Py_VISIT(traverse_module_state->__pyx_n_u_RUB); - Py_VISIT(traverse_module_state->__pyx_n_s_ReplenishBalanceState); - Py_VISIT(traverse_module_state->__pyx_n_s_Response); - Py_VISIT(traverse_module_state->__pyx_n_s_Router); - Py_VISIT(traverse_module_state->__pyx_n_s_SERVICE_NAME); - Py_VISIT(traverse_module_state->__pyx_kp_u_Secret_Key); - Py_VISIT(traverse_module_state->__pyx_n_s_State); - Py_VISIT(traverse_module_state->__pyx_n_s_StatesGroup); - Py_VISIT(traverse_module_state->__pyx_n_s_ValueError); - Py_VISIT(traverse_module_state->__pyx_kp_u_Webhook_event_received); - Py_VISIT(traverse_module_state->__pyx_n_s_YOOKASSA_ENABLE); - Py_VISIT(traverse_module_state->__pyx_n_s_YOOKASSA_HASH); - Py_VISIT(traverse_module_state->__pyx_n_s_YOOKASSA_SECRET_KEY); - Py_VISIT(traverse_module_state->__pyx_n_s_YOOKASSA_SHOP_ID); - Py_VISIT(traverse_module_state->__pyx_kp_u__10); - Py_VISIT(traverse_module_state->__pyx_kp_u__11); - Py_VISIT(traverse_module_state->__pyx_kp_u__13); - Py_VISIT(traverse_module_state->__pyx_kp_u__14); - Py_VISIT(traverse_module_state->__pyx_kp_u__17); - Py_VISIT(traverse_module_state->__pyx_kp_u__19); - Py_VISIT(traverse_module_state->__pyx_kp_u__2); - Py_VISIT(traverse_module_state->__pyx_kp_u__20); - Py_VISIT(traverse_module_state->__pyx_kp_u__21); - Py_VISIT(traverse_module_state->__pyx_kp_u__22); - Py_VISIT(traverse_module_state->__pyx_kp_u__23); - Py_VISIT(traverse_module_state->__pyx_n_s__25); - Py_VISIT(traverse_module_state->__pyx_kp_u__26); - Py_VISIT(traverse_module_state->__pyx_n_s__36); - Py_VISIT(traverse_module_state->__pyx_kp_u__4); - Py_VISIT(traverse_module_state->__pyx_kp_u__6); - Py_VISIT(traverse_module_state->__pyx_kp_u__7); - Py_VISIT(traverse_module_state->__pyx_kp_u__8); - Py_VISIT(traverse_module_state->__pyx_n_s_account_id); - Py_VISIT(traverse_module_state->__pyx_n_s_add_connection); - Py_VISIT(traverse_module_state->__pyx_n_s_add_payment); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_fsm_context); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_fsm_state); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_types); - Py_VISIT(traverse_module_state->__pyx_n_s_aiogram_utils_keyboard); - Py_VISIT(traverse_module_state->__pyx_n_s_aiohttp); - Py_VISIT(traverse_module_state->__pyx_n_s_amount); - Py_VISIT(traverse_module_state->__pyx_n_u_amount); - Py_VISIT(traverse_module_state->__pyx_kp_u_amount_2); - Py_VISIT(traverse_module_state->__pyx_n_s_amount_str); - Py_VISIT(traverse_module_state->__pyx_n_s_answer); - Py_VISIT(traverse_module_state->__pyx_n_s_args); - Py_VISIT(traverse_module_state->__pyx_n_s_as_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncio); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_tasks); - Py_VISIT(traverse_module_state->__pyx_n_s_asyncpg); - Py_VISIT(traverse_module_state->__pyx_n_s_await); - Py_VISIT(traverse_module_state->__pyx_n_s_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_builder); - Py_VISIT(traverse_module_state->__pyx_n_s_callback_data); - Py_VISIT(traverse_module_state->__pyx_n_u_callback_data); - Py_VISIT(traverse_module_state->__pyx_n_s_callback_query); - Py_VISIT(traverse_module_state->__pyx_n_u_capture); - Py_VISIT(traverse_module_state->__pyx_n_s_chat); - Py_VISIT(traverse_module_state->__pyx_n_s_check_connection_exists); - Py_VISIT(traverse_module_state->__pyx_n_s_choosing_amount_yookassa); - Py_VISIT(traverse_module_state->__pyx_n_s_class_getitem); - Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback); - Py_VISIT(traverse_module_state->__pyx_n_s_close); - Py_VISIT(traverse_module_state->__pyx_n_s_config); - Py_VISIT(traverse_module_state->__pyx_n_s_confirm_keyboard); - Py_VISIT(traverse_module_state->__pyx_n_u_confirmation); - Py_VISIT(traverse_module_state->__pyx_n_u_confirmation_url); - Py_VISIT(traverse_module_state->__pyx_n_s_conn); - Py_VISIT(traverse_module_state->__pyx_n_s_connect); - Py_VISIT(traverse_module_state->__pyx_n_s_create); - Py_VISIT(traverse_module_state->__pyx_n_s_create_task); - Py_VISIT(traverse_module_state->__pyx_n_u_currency); - Py_VISIT(traverse_module_state->__pyx_n_u_customer); - Py_VISIT(traverse_module_state->__pyx_n_s_customer_email); - Py_VISIT(traverse_module_state->__pyx_n_s_customer_name); - Py_VISIT(traverse_module_state->__pyx_n_s_data); - Py_VISIT(traverse_module_state->__pyx_n_u_data); - Py_VISIT(traverse_module_state->__pyx_n_s_database); - Py_VISIT(traverse_module_state->__pyx_n_s_debug); - Py_VISIT(traverse_module_state->__pyx_n_u_description); - Py_VISIT(traverse_module_state->__pyx_n_s_dict); - Py_VISIT(traverse_module_state->__pyx_kp_u_disable); - Py_VISIT(traverse_module_state->__pyx_n_s_doc); - Py_VISIT(traverse_module_state->__pyx_n_s_e); - Py_VISIT(traverse_module_state->__pyx_n_s_edit_or_send_message); - Py_VISIT(traverse_module_state->__pyx_n_u_email); - Py_VISIT(traverse_module_state->__pyx_kp_u_enable); - Py_VISIT(traverse_module_state->__pyx_n_u_enter_custom_amount_yookassa); - Py_VISIT(traverse_module_state->__pyx_n_s_entering_custom_amount_yookassa); - Py_VISIT(traverse_module_state->__pyx_n_s_error); - Py_VISIT(traverse_module_state->__pyx_n_s_event); - Py_VISIT(traverse_module_state->__pyx_n_s_exists); - Py_VISIT(traverse_module_state->__pyx_n_s_expected_hash); - Py_VISIT(traverse_module_state->__pyx_n_s_find_one); - Py_VISIT(traverse_module_state->__pyx_n_s_format); - Py_VISIT(traverse_module_state->__pyx_n_s_from_user); - Py_VISIT(traverse_module_state->__pyx_n_s_full_name); - Py_VISIT(traverse_module_state->__pyx_n_u_full_name); - Py_VISIT(traverse_module_state->__pyx_n_u_full_payment); - Py_VISIT(traverse_module_state->__pyx_kp_u_gc); - Py_VISIT(traverse_module_state->__pyx_n_s_get); - Py_VISIT(traverse_module_state->__pyx_n_s_get_key_count); - Py_VISIT(traverse_module_state->__pyx_n_s_get_temporary_data); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_buttons); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_gift); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_utils); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_payments_yookassa_pay); - Py_VISIT(traverse_module_state->__pyx_kp_s_handlers_payments_yookassa_pay_p); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_texts); - Py_VISIT(traverse_module_state->__pyx_n_s_handlers_utils); - Py_VISIT(traverse_module_state->__pyx_n_s_i); - Py_VISIT(traverse_module_state->__pyx_n_s_id); - Py_VISIT(traverse_module_state->__pyx_n_u_id); - Py_VISIT(traverse_module_state->__pyx_n_s_import); - Py_VISIT(traverse_module_state->__pyx_n_s_info); - Py_VISIT(traverse_module_state->__pyx_n_s_init_subclass); - Py_VISIT(traverse_module_state->__pyx_n_s_initializing); - Py_VISIT(traverse_module_state->__pyx_n_s_inline_keyboard); - Py_VISIT(traverse_module_state->__pyx_n_s_inspect); - Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine); - Py_VISIT(traverse_module_state->__pyx_n_s_isdigit); - Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled); - Py_VISIT(traverse_module_state->__pyx_n_u_items); - Py_VISIT(traverse_module_state->__pyx_n_s_json); - Py_VISIT(traverse_module_state->__pyx_n_s_key_count); - Py_VISIT(traverse_module_state->__pyx_n_s_logger); - Py_VISIT(traverse_module_state->__pyx_n_s_main); - Py_VISIT(traverse_module_state->__pyx_n_s_message); - Py_VISIT(traverse_module_state->__pyx_n_s_metaclass); - Py_VISIT(traverse_module_state->__pyx_n_s_metadata); - Py_VISIT(traverse_module_state->__pyx_n_u_metadata); - Py_VISIT(traverse_module_state->__pyx_n_s_module); - Py_VISIT(traverse_module_state->__pyx_n_s_mro_entries); - Py_VISIT(traverse_module_state->__pyx_n_s_name); - Py_VISIT(traverse_module_state->__pyx_n_u_object); - Py_VISIT(traverse_module_state->__pyx_n_s_paid); - Py_VISIT(traverse_module_state->__pyx_n_u_pay); - Py_VISIT(traverse_module_state->__pyx_n_u_pay_yookassa); - Py_VISIT(traverse_module_state->__pyx_n_s_payment); - Py_VISIT(traverse_module_state->__pyx_n_u_payment); - Py_VISIT(traverse_module_state->__pyx_n_s_payment_id); - Py_VISIT(traverse_module_state->__pyx_n_s_payment_message); - Py_VISIT(traverse_module_state->__pyx_n_u_payment_mode); - Py_VISIT(traverse_module_state->__pyx_n_s_payment_object); - Py_VISIT(traverse_module_state->__pyx_n_u_payment_subject); - Py_VISIT(traverse_module_state->__pyx_n_s_payment_url); - Py_VISIT(traverse_module_state->__pyx_n_u_pending); - Py_VISIT(traverse_module_state->__pyx_n_u_phone); - Py_VISIT(traverse_module_state->__pyx_n_s_prepare); - Py_VISIT(traverse_module_state->__pyx_n_s_process_amount_selection); - Py_VISIT(traverse_module_state->__pyx_n_s_process_callback_pay_yookassa); - Py_VISIT(traverse_module_state->__pyx_n_s_process_custom_amount_input); - Py_VISIT(traverse_module_state->__pyx_n_s_process_enter_custom_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_process_successful_payment); - Py_VISIT(traverse_module_state->__pyx_n_u_profile); - Py_VISIT(traverse_module_state->__pyx_n_s_qualname); - Py_VISIT(traverse_module_state->__pyx_n_u_quantity); - Py_VISIT(traverse_module_state->__pyx_n_s_range); - Py_VISIT(traverse_module_state->__pyx_n_u_receipt); - Py_VISIT(traverse_module_state->__pyx_n_u_redirect); - Py_VISIT(traverse_module_state->__pyx_n_s_reply_markup); - Py_VISIT(traverse_module_state->__pyx_n_s_request); - Py_VISIT(traverse_module_state->__pyx_n_u_required_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_response); - Py_VISIT(traverse_module_state->__pyx_n_u_return_url); - Py_VISIT(traverse_module_state->__pyx_n_s_router); - Py_VISIT(traverse_module_state->__pyx_n_s_row); - Py_VISIT(traverse_module_state->__pyx_n_s_secret_key); - Py_VISIT(traverse_module_state->__pyx_n_s_send); - Py_VISIT(traverse_module_state->__pyx_n_s_send_message); - Py_VISIT(traverse_module_state->__pyx_n_s_send_payment_success_notificatio); - Py_VISIT(traverse_module_state->__pyx_n_s_session); - Py_VISIT(traverse_module_state->__pyx_n_s_set_name); - Py_VISIT(traverse_module_state->__pyx_n_s_set_state); - Py_VISIT(traverse_module_state->__pyx_kp_u_solonet_sup); - Py_VISIT(traverse_module_state->__pyx_n_s_spec); - Py_VISIT(traverse_module_state->__pyx_n_s_split); - Py_VISIT(traverse_module_state->__pyx_n_s_startswith); - Py_VISIT(traverse_module_state->__pyx_n_s_state); - Py_VISIT(traverse_module_state->__pyx_n_u_state); - Py_VISIT(traverse_module_state->__pyx_n_s_state_type); - Py_VISIT(traverse_module_state->__pyx_n_s_status); - Py_VISIT(traverse_module_state->__pyx_n_u_status); - Py_VISIT(traverse_module_state->__pyx_n_s_str); - Py_VISIT(traverse_module_state->__pyx_n_u_succeeded); - Py_VISIT(traverse_module_state->__pyx_n_s_super); - Py_VISIT(traverse_module_state->__pyx_n_s_target); - Py_VISIT(traverse_module_state->__pyx_n_s_target_message); - Py_VISIT(traverse_module_state->__pyx_n_s_test); - Py_VISIT(traverse_module_state->__pyx_n_s_text); - Py_VISIT(traverse_module_state->__pyx_n_u_text); - Py_VISIT(traverse_module_state->__pyx_n_s_tg_id); - Py_VISIT(traverse_module_state->__pyx_n_s_throw); - Py_VISIT(traverse_module_state->__pyx_n_s_trial); - Py_VISIT(traverse_module_state->__pyx_n_u_type); - Py_VISIT(traverse_module_state->__pyx_n_s_types); - Py_VISIT(traverse_module_state->__pyx_kp_s_types_CallbackQuery); - Py_VISIT(traverse_module_state->__pyx_kp_s_types_CallbackQuery_types_Messag); - Py_VISIT(traverse_module_state->__pyx_n_s_typing); - Py_VISIT(traverse_module_state->__pyx_n_s_update_balance); - Py_VISIT(traverse_module_state->__pyx_n_s_update_data); - Py_VISIT(traverse_module_state->__pyx_n_s_url); - Py_VISIT(traverse_module_state->__pyx_n_s_user_data); - Py_VISIT(traverse_module_state->__pyx_n_s_user_id); - Py_VISIT(traverse_module_state->__pyx_n_u_user_id); - Py_VISIT(traverse_module_state->__pyx_kp_u_user_id_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_user_id_str); - Py_VISIT(traverse_module_state->__pyx_n_s_uuid); - Py_VISIT(traverse_module_state->__pyx_n_s_uuid4); - Py_VISIT(traverse_module_state->__pyx_n_u_value); - Py_VISIT(traverse_module_state->__pyx_n_u_vat_code); - Py_VISIT(traverse_module_state->__pyx_n_u_waiting_for_payment); - Py_VISIT(traverse_module_state->__pyx_n_s_waiting_for_payment_confirmation); - Py_VISIT(traverse_module_state->__pyx_n_u_waiting_for_renewal_payment); - Py_VISIT(traverse_module_state->__pyx_n_s_warning); - Py_VISIT(traverse_module_state->__pyx_n_s_web); - Py_VISIT(traverse_module_state->__pyx_n_u_yookassa); - Py_VISIT(traverse_module_state->__pyx_n_s_yookassa_2); - Py_VISIT(traverse_module_state->__pyx_n_u_yookassa_2); - Py_VISIT(traverse_module_state->__pyx_kp_u_yookassa_amount); - Py_VISIT(traverse_module_state->__pyx_n_s_yookassa_webhook); - Py_VISIT(traverse_module_state->__pyx_float_0_0); - Py_VISIT(traverse_module_state->__pyx_int_0); - Py_VISIT(traverse_module_state->__pyx_int_1); - Py_VISIT(traverse_module_state->__pyx_int_2); - Py_VISIT(traverse_module_state->__pyx_int_200); - Py_VISIT(traverse_module_state->__pyx_int_400); - Py_VISIT(traverse_module_state->__pyx_int_500); - Py_VISIT(traverse_module_state->__pyx_codeobj_); - Py_VISIT(traverse_module_state->__pyx_tuple__5); - Py_VISIT(traverse_module_state->__pyx_tuple__18); - Py_VISIT(traverse_module_state->__pyx_tuple__27); - Py_VISIT(traverse_module_state->__pyx_tuple__28); - Py_VISIT(traverse_module_state->__pyx_tuple__29); - Py_VISIT(traverse_module_state->__pyx_tuple__30); - Py_VISIT(traverse_module_state->__pyx_tuple__31); - Py_VISIT(traverse_module_state->__pyx_tuple__32); - Py_VISIT(traverse_module_state->__pyx_tuple__33); - Py_VISIT(traverse_module_state->__pyx_tuple__34); - Py_VISIT(traverse_module_state->__pyx_tuple__35); - Py_VISIT(traverse_module_state->__pyx_codeobj__3); - Py_VISIT(traverse_module_state->__pyx_codeobj__9); - Py_VISIT(traverse_module_state->__pyx_codeobj__12); - Py_VISIT(traverse_module_state->__pyx_codeobj__15); - Py_VISIT(traverse_module_state->__pyx_codeobj__16); - Py_VISIT(traverse_module_state->__pyx_codeobj__24); - return 0; -} -#endif -/* #### Code section: module_state_defines ### */ -#define __pyx_d __pyx_mstate_global->__pyx_d -#define __pyx_b __pyx_mstate_global->__pyx_b -#define __pyx_cython_runtime __pyx_mstate_global->__pyx_cython_runtime -#define __pyx_empty_tuple __pyx_mstate_global->__pyx_empty_tuple -#define __pyx_empty_bytes __pyx_mstate_global->__pyx_empty_bytes -#define __pyx_empty_unicode __pyx_mstate_global->__pyx_empty_unicode -#ifdef __Pyx_CyFunction_USED -#define __pyx_CyFunctionType __pyx_mstate_global->__pyx_CyFunctionType -#endif -#ifdef __Pyx_FusedFunction_USED -#define __pyx_FusedFunctionType __pyx_mstate_global->__pyx_FusedFunctionType -#endif -#ifdef __Pyx_Generator_USED -#define __pyx_GeneratorType __pyx_mstate_global->__pyx_GeneratorType -#endif -#ifdef __Pyx_IterableCoroutine_USED -#define __pyx_IterableCoroutineType __pyx_mstate_global->__pyx_IterableCoroutineType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineAwaitType __pyx_mstate_global->__pyx_CoroutineAwaitType -#endif -#ifdef __Pyx_Coroutine_USED -#define __pyx_CoroutineType __pyx_mstate_global->__pyx_CoroutineType -#endif -#if CYTHON_USE_MODULE_STATE -#define __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa __pyx_mstate_global->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa -#define __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection __pyx_mstate_global->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection -#define __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook __pyx_mstate_global->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook -#define __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment __pyx_mstate_global->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment -#define __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount __pyx_mstate_global->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount -#define __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input __pyx_mstate_global->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input -#define __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message __pyx_mstate_global->__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message -#endif -#define __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa -#define __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection -#define __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook -#define __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment -#define __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount -#define __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input -#define __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message __pyx_mstate_global->__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message -#define __pyx_kp_u_1_00 __pyx_mstate_global->__pyx_kp_u_1_00 -#define __pyx_kp_u_79000000000 __pyx_mstate_global->__pyx_kp_u_79000000000 -#define __pyx_n_s_AMOUNT_TEXT __pyx_mstate_global->__pyx_n_s_AMOUNT_TEXT -#define __pyx_kp_u_API_Yookassa __pyx_mstate_global->__pyx_kp_u_API_Yookassa -#define __pyx_kp_u_Account_ID __pyx_mstate_global->__pyx_kp_u_Account_ID -#define __pyx_n_s_Any __pyx_mstate_global->__pyx_n_s_Any -#define __pyx_n_s_BACK __pyx_mstate_global->__pyx_n_s_BACK -#define __pyx_n_s_CUSTOM_AMOUNT __pyx_mstate_global->__pyx_n_s_CUSTOM_AMOUNT -#define __pyx_n_s_CallbackQuery __pyx_mstate_global->__pyx_n_s_CallbackQuery -#define __pyx_n_s_Configuration __pyx_mstate_global->__pyx_n_s_Configuration -#define __pyx_n_s_DATABASE_URL __pyx_mstate_global->__pyx_n_s_DATABASE_URL -#define __pyx_n_s_DEFAULT_PAYMENT_MESSAGE __pyx_mstate_global->__pyx_n_s_DEFAULT_PAYMENT_MESSAGE -#define __pyx_n_s_EMAIL __pyx_mstate_global->__pyx_n_s_EMAIL -#define __pyx_n_s_ENTER_SUM __pyx_mstate_global->__pyx_n_s_ENTER_SUM -#define __pyx_n_s_F __pyx_mstate_global->__pyx_n_s_F -#define __pyx_n_s_FSMContext __pyx_mstate_global->__pyx_n_s_FSMContext -#define __pyx_n_u_HASHHASHYOOKASSA __pyx_mstate_global->__pyx_n_u_HASHHASHYOOKASSA -#define __pyx_kp_u_ID __pyx_mstate_global->__pyx_kp_u_ID -#define __pyx_kp_u_ID_2 __pyx_mstate_global->__pyx_kp_u_ID_2 -#define __pyx_n_s_InlineKeyboardBuilder __pyx_mstate_global->__pyx_n_s_InlineKeyboardBuilder -#define __pyx_n_s_InlineKeyboardButton __pyx_mstate_global->__pyx_n_s_InlineKeyboardButton -#define __pyx_n_s_InlineKeyboardMarkup __pyx_mstate_global->__pyx_n_s_InlineKeyboardMarkup -#define __pyx_n_s_MAIN_MENU __pyx_mstate_global->__pyx_n_s_MAIN_MENU -#define __pyx_n_s_MAIN_SECRET __pyx_mstate_global->__pyx_n_s_MAIN_SECRET -#define __pyx_n_s_Message __pyx_mstate_global->__pyx_n_s_Message -#define __pyx_n_s_PAY __pyx_mstate_global->__pyx_n_s_PAY -#define __pyx_n_s_PAYMENT_OPTIONS __pyx_mstate_global->__pyx_n_s_PAYMENT_OPTIONS -#define __pyx_n_s_PAY_2 __pyx_mstate_global->__pyx_n_s_PAY_2 -#define __pyx_kp_u_PROJECT_06_01_09_LICENSION __pyx_mstate_global->__pyx_kp_u_PROJECT_06_01_09_LICENSION -#define __pyx_n_s_Payment __pyx_mstate_global->__pyx_n_s_Payment -#define __pyx_kp_u_Payment_succeeded_for_user_id __pyx_mstate_global->__pyx_kp_u_Payment_succeeded_for_user_id -#define __pyx_n_s_REDIRECT_LINK __pyx_mstate_global->__pyx_n_s_REDIRECT_LINK -#define __pyx_n_u_RUB __pyx_mstate_global->__pyx_n_u_RUB -#define __pyx_n_s_ReplenishBalanceState __pyx_mstate_global->__pyx_n_s_ReplenishBalanceState -#define __pyx_n_s_Response __pyx_mstate_global->__pyx_n_s_Response -#define __pyx_n_s_Router __pyx_mstate_global->__pyx_n_s_Router -#define __pyx_n_s_SERVICE_NAME __pyx_mstate_global->__pyx_n_s_SERVICE_NAME -#define __pyx_kp_u_Secret_Key __pyx_mstate_global->__pyx_kp_u_Secret_Key -#define __pyx_n_s_State __pyx_mstate_global->__pyx_n_s_State -#define __pyx_n_s_StatesGroup __pyx_mstate_global->__pyx_n_s_StatesGroup -#define __pyx_n_s_ValueError __pyx_mstate_global->__pyx_n_s_ValueError -#define __pyx_kp_u_Webhook_event_received __pyx_mstate_global->__pyx_kp_u_Webhook_event_received -#define __pyx_n_s_YOOKASSA_ENABLE __pyx_mstate_global->__pyx_n_s_YOOKASSA_ENABLE -#define __pyx_n_s_YOOKASSA_HASH __pyx_mstate_global->__pyx_n_s_YOOKASSA_HASH -#define __pyx_n_s_YOOKASSA_SECRET_KEY __pyx_mstate_global->__pyx_n_s_YOOKASSA_SECRET_KEY -#define __pyx_n_s_YOOKASSA_SHOP_ID __pyx_mstate_global->__pyx_n_s_YOOKASSA_SHOP_ID -#define __pyx_kp_u__10 __pyx_mstate_global->__pyx_kp_u__10 -#define __pyx_kp_u__11 __pyx_mstate_global->__pyx_kp_u__11 -#define __pyx_kp_u__13 __pyx_mstate_global->__pyx_kp_u__13 -#define __pyx_kp_u__14 __pyx_mstate_global->__pyx_kp_u__14 -#define __pyx_kp_u__17 __pyx_mstate_global->__pyx_kp_u__17 -#define __pyx_kp_u__19 __pyx_mstate_global->__pyx_kp_u__19 -#define __pyx_kp_u__2 __pyx_mstate_global->__pyx_kp_u__2 -#define __pyx_kp_u__20 __pyx_mstate_global->__pyx_kp_u__20 -#define __pyx_kp_u__21 __pyx_mstate_global->__pyx_kp_u__21 -#define __pyx_kp_u__22 __pyx_mstate_global->__pyx_kp_u__22 -#define __pyx_kp_u__23 __pyx_mstate_global->__pyx_kp_u__23 -#define __pyx_n_s__25 __pyx_mstate_global->__pyx_n_s__25 -#define __pyx_kp_u__26 __pyx_mstate_global->__pyx_kp_u__26 -#define __pyx_n_s__36 __pyx_mstate_global->__pyx_n_s__36 -#define __pyx_kp_u__4 __pyx_mstate_global->__pyx_kp_u__4 -#define __pyx_kp_u__6 __pyx_mstate_global->__pyx_kp_u__6 -#define __pyx_kp_u__7 __pyx_mstate_global->__pyx_kp_u__7 -#define __pyx_kp_u__8 __pyx_mstate_global->__pyx_kp_u__8 -#define __pyx_n_s_account_id __pyx_mstate_global->__pyx_n_s_account_id -#define __pyx_n_s_add_connection __pyx_mstate_global->__pyx_n_s_add_connection -#define __pyx_n_s_add_payment __pyx_mstate_global->__pyx_n_s_add_payment -#define __pyx_n_s_aiogram __pyx_mstate_global->__pyx_n_s_aiogram -#define __pyx_n_s_aiogram_fsm_context __pyx_mstate_global->__pyx_n_s_aiogram_fsm_context -#define __pyx_n_s_aiogram_fsm_state __pyx_mstate_global->__pyx_n_s_aiogram_fsm_state -#define __pyx_n_s_aiogram_types __pyx_mstate_global->__pyx_n_s_aiogram_types -#define __pyx_n_s_aiogram_utils_keyboard __pyx_mstate_global->__pyx_n_s_aiogram_utils_keyboard -#define __pyx_n_s_aiohttp __pyx_mstate_global->__pyx_n_s_aiohttp -#define __pyx_n_s_amount __pyx_mstate_global->__pyx_n_s_amount -#define __pyx_n_u_amount __pyx_mstate_global->__pyx_n_u_amount -#define __pyx_kp_u_amount_2 __pyx_mstate_global->__pyx_kp_u_amount_2 -#define __pyx_n_s_amount_str __pyx_mstate_global->__pyx_n_s_amount_str -#define __pyx_n_s_answer __pyx_mstate_global->__pyx_n_s_answer -#define __pyx_n_s_args __pyx_mstate_global->__pyx_n_s_args -#define __pyx_n_s_as_markup __pyx_mstate_global->__pyx_n_s_as_markup -#define __pyx_n_s_asyncio __pyx_mstate_global->__pyx_n_s_asyncio -#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines -#define __pyx_n_s_asyncio_tasks __pyx_mstate_global->__pyx_n_s_asyncio_tasks -#define __pyx_n_s_asyncpg __pyx_mstate_global->__pyx_n_s_asyncpg -#define __pyx_n_s_await __pyx_mstate_global->__pyx_n_s_await -#define __pyx_n_s_balance __pyx_mstate_global->__pyx_n_s_balance -#define __pyx_n_s_builder __pyx_mstate_global->__pyx_n_s_builder -#define __pyx_n_s_callback_data __pyx_mstate_global->__pyx_n_s_callback_data -#define __pyx_n_u_callback_data __pyx_mstate_global->__pyx_n_u_callback_data -#define __pyx_n_s_callback_query __pyx_mstate_global->__pyx_n_s_callback_query -#define __pyx_n_u_capture __pyx_mstate_global->__pyx_n_u_capture -#define __pyx_n_s_chat __pyx_mstate_global->__pyx_n_s_chat -#define __pyx_n_s_check_connection_exists __pyx_mstate_global->__pyx_n_s_check_connection_exists -#define __pyx_n_s_choosing_amount_yookassa __pyx_mstate_global->__pyx_n_s_choosing_amount_yookassa -#define __pyx_n_s_class_getitem __pyx_mstate_global->__pyx_n_s_class_getitem -#define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback -#define __pyx_n_s_close __pyx_mstate_global->__pyx_n_s_close -#define __pyx_n_s_config __pyx_mstate_global->__pyx_n_s_config -#define __pyx_n_s_confirm_keyboard __pyx_mstate_global->__pyx_n_s_confirm_keyboard -#define __pyx_n_u_confirmation __pyx_mstate_global->__pyx_n_u_confirmation -#define __pyx_n_u_confirmation_url __pyx_mstate_global->__pyx_n_u_confirmation_url -#define __pyx_n_s_conn __pyx_mstate_global->__pyx_n_s_conn -#define __pyx_n_s_connect __pyx_mstate_global->__pyx_n_s_connect -#define __pyx_n_s_create __pyx_mstate_global->__pyx_n_s_create -#define __pyx_n_s_create_task __pyx_mstate_global->__pyx_n_s_create_task -#define __pyx_n_u_currency __pyx_mstate_global->__pyx_n_u_currency -#define __pyx_n_u_customer __pyx_mstate_global->__pyx_n_u_customer -#define __pyx_n_s_customer_email __pyx_mstate_global->__pyx_n_s_customer_email -#define __pyx_n_s_customer_name __pyx_mstate_global->__pyx_n_s_customer_name -#define __pyx_n_s_data __pyx_mstate_global->__pyx_n_s_data -#define __pyx_n_u_data __pyx_mstate_global->__pyx_n_u_data -#define __pyx_n_s_database __pyx_mstate_global->__pyx_n_s_database -#define __pyx_n_s_debug __pyx_mstate_global->__pyx_n_s_debug -#define __pyx_n_u_description __pyx_mstate_global->__pyx_n_u_description -#define __pyx_n_s_dict __pyx_mstate_global->__pyx_n_s_dict -#define __pyx_kp_u_disable __pyx_mstate_global->__pyx_kp_u_disable -#define __pyx_n_s_doc __pyx_mstate_global->__pyx_n_s_doc -#define __pyx_n_s_e __pyx_mstate_global->__pyx_n_s_e -#define __pyx_n_s_edit_or_send_message __pyx_mstate_global->__pyx_n_s_edit_or_send_message -#define __pyx_n_u_email __pyx_mstate_global->__pyx_n_u_email -#define __pyx_kp_u_enable __pyx_mstate_global->__pyx_kp_u_enable -#define __pyx_n_u_enter_custom_amount_yookassa __pyx_mstate_global->__pyx_n_u_enter_custom_amount_yookassa -#define __pyx_n_s_entering_custom_amount_yookassa __pyx_mstate_global->__pyx_n_s_entering_custom_amount_yookassa -#define __pyx_n_s_error __pyx_mstate_global->__pyx_n_s_error -#define __pyx_n_s_event __pyx_mstate_global->__pyx_n_s_event -#define __pyx_n_s_exists __pyx_mstate_global->__pyx_n_s_exists -#define __pyx_n_s_expected_hash __pyx_mstate_global->__pyx_n_s_expected_hash -#define __pyx_n_s_find_one __pyx_mstate_global->__pyx_n_s_find_one -#define __pyx_n_s_format __pyx_mstate_global->__pyx_n_s_format -#define __pyx_n_s_from_user __pyx_mstate_global->__pyx_n_s_from_user -#define __pyx_n_s_full_name __pyx_mstate_global->__pyx_n_s_full_name -#define __pyx_n_u_full_name __pyx_mstate_global->__pyx_n_u_full_name -#define __pyx_n_u_full_payment __pyx_mstate_global->__pyx_n_u_full_payment -#define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc -#define __pyx_n_s_get __pyx_mstate_global->__pyx_n_s_get -#define __pyx_n_s_get_key_count __pyx_mstate_global->__pyx_n_s_get_key_count -#define __pyx_n_s_get_temporary_data __pyx_mstate_global->__pyx_n_s_get_temporary_data -#define __pyx_n_s_handlers_buttons __pyx_mstate_global->__pyx_n_s_handlers_buttons -#define __pyx_n_s_handlers_payments_gift __pyx_mstate_global->__pyx_n_s_handlers_payments_gift -#define __pyx_n_s_handlers_payments_utils __pyx_mstate_global->__pyx_n_s_handlers_payments_utils -#define __pyx_n_s_handlers_payments_yookassa_pay __pyx_mstate_global->__pyx_n_s_handlers_payments_yookassa_pay -#define __pyx_kp_s_handlers_payments_yookassa_pay_p __pyx_mstate_global->__pyx_kp_s_handlers_payments_yookassa_pay_p -#define __pyx_n_s_handlers_texts __pyx_mstate_global->__pyx_n_s_handlers_texts -#define __pyx_n_s_handlers_utils __pyx_mstate_global->__pyx_n_s_handlers_utils -#define __pyx_n_s_i __pyx_mstate_global->__pyx_n_s_i -#define __pyx_n_s_id __pyx_mstate_global->__pyx_n_s_id -#define __pyx_n_u_id __pyx_mstate_global->__pyx_n_u_id -#define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import -#define __pyx_n_s_info __pyx_mstate_global->__pyx_n_s_info -#define __pyx_n_s_init_subclass __pyx_mstate_global->__pyx_n_s_init_subclass -#define __pyx_n_s_initializing __pyx_mstate_global->__pyx_n_s_initializing -#define __pyx_n_s_inline_keyboard __pyx_mstate_global->__pyx_n_s_inline_keyboard -#define __pyx_n_s_inspect __pyx_mstate_global->__pyx_n_s_inspect -#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine -#define __pyx_n_s_isdigit __pyx_mstate_global->__pyx_n_s_isdigit -#define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled -#define __pyx_n_u_items __pyx_mstate_global->__pyx_n_u_items -#define __pyx_n_s_json __pyx_mstate_global->__pyx_n_s_json -#define __pyx_n_s_key_count __pyx_mstate_global->__pyx_n_s_key_count -#define __pyx_n_s_logger __pyx_mstate_global->__pyx_n_s_logger -#define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main -#define __pyx_n_s_message __pyx_mstate_global->__pyx_n_s_message -#define __pyx_n_s_metaclass __pyx_mstate_global->__pyx_n_s_metaclass -#define __pyx_n_s_metadata __pyx_mstate_global->__pyx_n_s_metadata -#define __pyx_n_u_metadata __pyx_mstate_global->__pyx_n_u_metadata -#define __pyx_n_s_module __pyx_mstate_global->__pyx_n_s_module -#define __pyx_n_s_mro_entries __pyx_mstate_global->__pyx_n_s_mro_entries -#define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name -#define __pyx_n_u_object __pyx_mstate_global->__pyx_n_u_object -#define __pyx_n_s_paid __pyx_mstate_global->__pyx_n_s_paid -#define __pyx_n_u_pay __pyx_mstate_global->__pyx_n_u_pay -#define __pyx_n_u_pay_yookassa __pyx_mstate_global->__pyx_n_u_pay_yookassa -#define __pyx_n_s_payment __pyx_mstate_global->__pyx_n_s_payment -#define __pyx_n_u_payment __pyx_mstate_global->__pyx_n_u_payment -#define __pyx_n_s_payment_id __pyx_mstate_global->__pyx_n_s_payment_id -#define __pyx_n_s_payment_message __pyx_mstate_global->__pyx_n_s_payment_message -#define __pyx_n_u_payment_mode __pyx_mstate_global->__pyx_n_u_payment_mode -#define __pyx_n_s_payment_object __pyx_mstate_global->__pyx_n_s_payment_object -#define __pyx_n_u_payment_subject __pyx_mstate_global->__pyx_n_u_payment_subject -#define __pyx_n_s_payment_url __pyx_mstate_global->__pyx_n_s_payment_url -#define __pyx_n_u_pending __pyx_mstate_global->__pyx_n_u_pending -#define __pyx_n_u_phone __pyx_mstate_global->__pyx_n_u_phone -#define __pyx_n_s_prepare __pyx_mstate_global->__pyx_n_s_prepare -#define __pyx_n_s_process_amount_selection __pyx_mstate_global->__pyx_n_s_process_amount_selection -#define __pyx_n_s_process_callback_pay_yookassa __pyx_mstate_global->__pyx_n_s_process_callback_pay_yookassa -#define __pyx_n_s_process_custom_amount_input __pyx_mstate_global->__pyx_n_s_process_custom_amount_input -#define __pyx_n_s_process_enter_custom_amount __pyx_mstate_global->__pyx_n_s_process_enter_custom_amount -#define __pyx_n_s_process_successful_payment __pyx_mstate_global->__pyx_n_s_process_successful_payment -#define __pyx_n_u_profile __pyx_mstate_global->__pyx_n_u_profile -#define __pyx_n_s_qualname __pyx_mstate_global->__pyx_n_s_qualname -#define __pyx_n_u_quantity __pyx_mstate_global->__pyx_n_u_quantity -#define __pyx_n_s_range __pyx_mstate_global->__pyx_n_s_range -#define __pyx_n_u_receipt __pyx_mstate_global->__pyx_n_u_receipt -#define __pyx_n_u_redirect __pyx_mstate_global->__pyx_n_u_redirect -#define __pyx_n_s_reply_markup __pyx_mstate_global->__pyx_n_s_reply_markup -#define __pyx_n_s_request __pyx_mstate_global->__pyx_n_s_request -#define __pyx_n_u_required_amount __pyx_mstate_global->__pyx_n_u_required_amount -#define __pyx_n_s_response __pyx_mstate_global->__pyx_n_s_response -#define __pyx_n_u_return_url __pyx_mstate_global->__pyx_n_u_return_url -#define __pyx_n_s_router __pyx_mstate_global->__pyx_n_s_router -#define __pyx_n_s_row __pyx_mstate_global->__pyx_n_s_row -#define __pyx_n_s_secret_key __pyx_mstate_global->__pyx_n_s_secret_key -#define __pyx_n_s_send __pyx_mstate_global->__pyx_n_s_send -#define __pyx_n_s_send_message __pyx_mstate_global->__pyx_n_s_send_message -#define __pyx_n_s_send_payment_success_notificatio __pyx_mstate_global->__pyx_n_s_send_payment_success_notificatio -#define __pyx_n_s_session __pyx_mstate_global->__pyx_n_s_session -#define __pyx_n_s_set_name __pyx_mstate_global->__pyx_n_s_set_name -#define __pyx_n_s_set_state __pyx_mstate_global->__pyx_n_s_set_state -#define __pyx_kp_u_solonet_sup __pyx_mstate_global->__pyx_kp_u_solonet_sup -#define __pyx_n_s_spec __pyx_mstate_global->__pyx_n_s_spec -#define __pyx_n_s_split __pyx_mstate_global->__pyx_n_s_split -#define __pyx_n_s_startswith __pyx_mstate_global->__pyx_n_s_startswith -#define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state -#define __pyx_n_u_state __pyx_mstate_global->__pyx_n_u_state -#define __pyx_n_s_state_type __pyx_mstate_global->__pyx_n_s_state_type -#define __pyx_n_s_status __pyx_mstate_global->__pyx_n_s_status -#define __pyx_n_u_status __pyx_mstate_global->__pyx_n_u_status -#define __pyx_n_s_str __pyx_mstate_global->__pyx_n_s_str -#define __pyx_n_u_succeeded __pyx_mstate_global->__pyx_n_u_succeeded -#define __pyx_n_s_super __pyx_mstate_global->__pyx_n_s_super -#define __pyx_n_s_target __pyx_mstate_global->__pyx_n_s_target -#define __pyx_n_s_target_message __pyx_mstate_global->__pyx_n_s_target_message -#define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test -#define __pyx_n_s_text __pyx_mstate_global->__pyx_n_s_text -#define __pyx_n_u_text __pyx_mstate_global->__pyx_n_u_text -#define __pyx_n_s_tg_id __pyx_mstate_global->__pyx_n_s_tg_id -#define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw -#define __pyx_n_s_trial __pyx_mstate_global->__pyx_n_s_trial -#define __pyx_n_u_type __pyx_mstate_global->__pyx_n_u_type -#define __pyx_n_s_types __pyx_mstate_global->__pyx_n_s_types -#define __pyx_kp_s_types_CallbackQuery __pyx_mstate_global->__pyx_kp_s_types_CallbackQuery -#define __pyx_kp_s_types_CallbackQuery_types_Messag __pyx_mstate_global->__pyx_kp_s_types_CallbackQuery_types_Messag -#define __pyx_n_s_typing __pyx_mstate_global->__pyx_n_s_typing -#define __pyx_n_s_update_balance __pyx_mstate_global->__pyx_n_s_update_balance -#define __pyx_n_s_update_data __pyx_mstate_global->__pyx_n_s_update_data -#define __pyx_n_s_url __pyx_mstate_global->__pyx_n_s_url -#define __pyx_n_s_user_data __pyx_mstate_global->__pyx_n_s_user_data -#define __pyx_n_s_user_id __pyx_mstate_global->__pyx_n_s_user_id -#define __pyx_n_u_user_id __pyx_mstate_global->__pyx_n_u_user_id -#define __pyx_kp_u_user_id_amount __pyx_mstate_global->__pyx_kp_u_user_id_amount -#define __pyx_n_s_user_id_str __pyx_mstate_global->__pyx_n_s_user_id_str -#define __pyx_n_s_uuid __pyx_mstate_global->__pyx_n_s_uuid -#define __pyx_n_s_uuid4 __pyx_mstate_global->__pyx_n_s_uuid4 -#define __pyx_n_u_value __pyx_mstate_global->__pyx_n_u_value -#define __pyx_n_u_vat_code __pyx_mstate_global->__pyx_n_u_vat_code -#define __pyx_n_u_waiting_for_payment __pyx_mstate_global->__pyx_n_u_waiting_for_payment -#define __pyx_n_s_waiting_for_payment_confirmation __pyx_mstate_global->__pyx_n_s_waiting_for_payment_confirmation -#define __pyx_n_u_waiting_for_renewal_payment __pyx_mstate_global->__pyx_n_u_waiting_for_renewal_payment -#define __pyx_n_s_warning __pyx_mstate_global->__pyx_n_s_warning -#define __pyx_n_s_web __pyx_mstate_global->__pyx_n_s_web -#define __pyx_n_u_yookassa __pyx_mstate_global->__pyx_n_u_yookassa -#define __pyx_n_s_yookassa_2 __pyx_mstate_global->__pyx_n_s_yookassa_2 -#define __pyx_n_u_yookassa_2 __pyx_mstate_global->__pyx_n_u_yookassa_2 -#define __pyx_kp_u_yookassa_amount __pyx_mstate_global->__pyx_kp_u_yookassa_amount -#define __pyx_n_s_yookassa_webhook __pyx_mstate_global->__pyx_n_s_yookassa_webhook -#define __pyx_float_0_0 __pyx_mstate_global->__pyx_float_0_0 -#define __pyx_int_0 __pyx_mstate_global->__pyx_int_0 -#define __pyx_int_1 __pyx_mstate_global->__pyx_int_1 -#define __pyx_int_2 __pyx_mstate_global->__pyx_int_2 -#define __pyx_int_200 __pyx_mstate_global->__pyx_int_200 -#define __pyx_int_400 __pyx_mstate_global->__pyx_int_400 -#define __pyx_int_500 __pyx_mstate_global->__pyx_int_500 -#define __pyx_codeobj_ __pyx_mstate_global->__pyx_codeobj_ -#define __pyx_tuple__5 __pyx_mstate_global->__pyx_tuple__5 -#define __pyx_tuple__18 __pyx_mstate_global->__pyx_tuple__18 -#define __pyx_tuple__27 __pyx_mstate_global->__pyx_tuple__27 -#define __pyx_tuple__28 __pyx_mstate_global->__pyx_tuple__28 -#define __pyx_tuple__29 __pyx_mstate_global->__pyx_tuple__29 -#define __pyx_tuple__30 __pyx_mstate_global->__pyx_tuple__30 -#define __pyx_tuple__31 __pyx_mstate_global->__pyx_tuple__31 -#define __pyx_tuple__32 __pyx_mstate_global->__pyx_tuple__32 -#define __pyx_tuple__33 __pyx_mstate_global->__pyx_tuple__33 -#define __pyx_tuple__34 __pyx_mstate_global->__pyx_tuple__34 -#define __pyx_tuple__35 __pyx_mstate_global->__pyx_tuple__35 -#define __pyx_codeobj__3 __pyx_mstate_global->__pyx_codeobj__3 -#define __pyx_codeobj__9 __pyx_mstate_global->__pyx_codeobj__9 -#define __pyx_codeobj__12 __pyx_mstate_global->__pyx_codeobj__12 -#define __pyx_codeobj__15 __pyx_mstate_global->__pyx_codeobj__15 -#define __pyx_codeobj__16 __pyx_mstate_global->__pyx_codeobj__16 -#define __pyx_codeobj__24 __pyx_mstate_global->__pyx_codeobj__24 -/* #### Code section: module_code ### */ -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_1process_callback_pay_yookassa(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_12yookassa_pay_1process_callback_pay_yookassa = {"process_callback_pay_yookassa", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yookassa_pay_1process_callback_pay_yookassa, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_1process_callback_pay_yookassa(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_callback_pay_yookassa (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 56, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 56, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_callback_pay_yookassa", 1, 3, 3, 1); __PYX_ERR(0, 56, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[2]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 56, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_callback_pay_yookassa", 1, 3, 3, 2); __PYX_ERR(0, 56, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_callback_pay_yookassa") < 0)) __PYX_ERR(0, 56, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 3)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - __pyx_v_session = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_callback_pay_yookassa", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 56, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_callback_pay_yookassa", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_12yookassa_pay_process_callback_pay_yookassa(__pyx_self, __pyx_v_callback_query, __pyx_v_state, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_process_callback_pay_yookassa(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state, PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_callback_pay_yookassa", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 56, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_2generator, __pyx_codeobj_, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_callback_pay_yookassa, __pyx_n_s_process_callback_pay_yookassa, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_callback_pay_yookassa", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - int __pyx_t_2; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - unsigned int __pyx_t_5; - Py_ssize_t __pyx_t_6; - PyObject *(*__pyx_t_7)(PyObject *); - Py_ssize_t __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_callback_pay_yookassa", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L5_resume_from_await; - case 2: goto __pyx_L10_resume_from_await; - case 3: goto __pyx_L12_resume_from_await; - case 4: goto __pyx_L14_resume_from_await; - case 5: goto __pyx_L15_resume_from_await; - case 6: goto __pyx_L16_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 56, __pyx_L1_error) - - __Pyx_INCREF(__pyx_n_u_HASHHASHYOOKASSA); - __Pyx_GIVEREF(__pyx_n_u_HASHHASHYOOKASSA); - __pyx_cur_scope->__pyx_v_expected_hash = __pyx_n_u_HASHHASHYOOKASSA; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_YOOKASSA_HASH); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_cur_scope->__pyx_v_expected_hash, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 61, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_2) { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__2}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 63, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_target_message, __pyx_t_3) < 0) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_text, __pyx_kp_u_solonet_sup) < 0) __PYX_ERR(0, 64, __pyx_L1_error) - - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 63, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 63, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 63, __pyx_L1_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_chat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_tg_id = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_int_0); - __Pyx_GIVEREF(__pyx_int_0); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0)) __PYX_ERR(0, 72, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error); - __Pyx_INCREF(__pyx_int_2); - __Pyx_GIVEREF(__pyx_int_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_2)) __PYX_ERR(0, 72, __pyx_L1_error); - __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { - __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); - __pyx_t_6 = 0; - __pyx_t_7 = NULL; - } else { - __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 72, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - for (;;) { - if (likely(!__pyx_t_7)) { - if (likely(PyList_CheckExact(__pyx_t_4))) { - { - Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 72, __pyx_L1_error) - #endif - if (__pyx_t_6 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(0, 72, __pyx_L1_error) - #else - __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } else { - { - Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4); - #if !CYTHON_ASSUME_SAFE_MACROS - if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 72, __pyx_L1_error) - #endif - if (__pyx_t_6 >= __pyx_temp) break; - } - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(0, 72, __pyx_L1_error) - #else - __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - #endif - } - } else { - __pyx_t_3 = __pyx_t_7(__pyx_t_4); - if (unlikely(!__pyx_t_3)) { - PyObject* exc_type = PyErr_Occurred(); - if (exc_type) { - if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 72, __pyx_L1_error) - } - break; - } - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_i); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_i, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 73, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (__pyx_t_2) { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_text); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_n_u_yookassa, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 77, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_callback_data, __pyx_t_11) < 0) __PYX_ERR(0, 76, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 75, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_13 = __Pyx_PyObject_Dict_GetItem(__pyx_t_14, __pyx_n_u_text); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_13) < 0) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_cur_scope->__pyx_v_i, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_14, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyUnicode_Concat(__pyx_n_u_yookassa, __pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 81, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_t_14) < 0) __PYX_ERR(0, 80, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 79, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_11, __pyx_t_14}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 74, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - goto __pyx_L8; - } - - /*else*/ { - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - - __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_text); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_t_3) < 0) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_callback_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_n_u_yookassa, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_callback_data, __pyx_t_3) < 0) __PYX_ERR(0, 87, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 86, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_3}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 85, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_L8:; - - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_CUSTOM_AMOUNT); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_11) < 0) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_enter_custom_amount_yookassa) < 0) __PYX_ERR(0, 92, __pyx_L1_error) - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_11}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 92, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BACK); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_1) < 0) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 93, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_1}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 93, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_tg_id}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L10_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 95, __pyx_L1_error) - __pyx_t_4 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_4); - } else { - __pyx_t_4 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_4) < 0) __PYX_ERR(0, 95, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_key_count = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_2 = (__Pyx_PyInt_BoolEqObjC(__pyx_cur_scope->__pyx_v_key_count, __pyx_int_0, 0, 0)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 96, __pyx_L1_error) - if (__pyx_t_2) { - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_tg_id}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L12_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 97, __pyx_L1_error) - __pyx_t_4 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_4); - } else { - __pyx_t_4 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_4) < 0) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - } - __Pyx_GIVEREF(__pyx_t_4); - __pyx_cur_scope->__pyx_v_exists = __pyx_t_4; - __pyx_t_4 = 0; - - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_exists); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 98, __pyx_L1_error) - __pyx_t_15 = (!__pyx_t_2); - if (__pyx_t_15) { - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_tg_id); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_tg_id); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_cur_scope->__pyx_v_tg_id)) __PYX_ERR(0, 99, __pyx_L1_error); - __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_balance, __pyx_float_0_0) < 0) __PYX_ERR(0, 99, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_trial, __pyx_int_0) < 0) __PYX_ERR(0, 99, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_session, __pyx_cur_scope->__pyx_v_session) < 0) __PYX_ERR(0, 99, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 99, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L14_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 99, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 99, __pyx_L1_error) - } - } - - } - - } - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_target_message, __pyx_t_9) < 0) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_AMOUNT_TEXT); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 103, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_11)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_11); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 104, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_t_9) < 0) __PYX_ERR(0, 102, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 101, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L15_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 101, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 101, __pyx_L1_error) - } - } - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_choosing_amount_yookassa); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 107, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_9); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 6; - return __pyx_r; - __pyx_L16_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 107, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 107, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("process_callback_pay_yookassa", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_4process_amount_selection(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_12yookassa_pay_4process_amount_selection = {"process_amount_selection", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yookassa_pay_4process_amount_selection, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_4process_amount_selection(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_amount_selection (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 110, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 110, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, 1); __PYX_ERR(0, 110, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_amount_selection") < 0)) __PYX_ERR(0, 110, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_amount_selection", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 110, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_12yookassa_pay_3process_amount_selection(__pyx_self, __pyx_v_callback_query, __pyx_v_state); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_3process_amount_selection(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_amount_selection", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 110, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_5generator1, __pyx_codeobj__3, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_amount_selection, __pyx_n_s_process_amount_selection, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - Py_ssize_t __pyx_t_3; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - int __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - unsigned int __pyx_t_11; - Py_UCS4 __pyx_t_12; - PyObject *__pyx_t_13 = NULL; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_amount_selection", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L13_resume_from_await; - case 2: goto __pyx_L14_resume_from_await; - case 3: goto __pyx_L16_resume_from_await; - case 4: goto __pyx_L17_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 110, __pyx_L1_error) - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_data = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = PyObject_Length(__pyx_cur_scope->__pyx_v_data); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 113, __pyx_L1_error) - __pyx_t_4 = (__pyx_t_3 != 2); - if (__pyx_t_4) { - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L0; - - } - - __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_data, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_amount_str = __pyx_t_1; - __pyx_t_1 = 0; - - { - __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_XGOTREF(__pyx_t_7); - /*try:*/ { - - __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L5_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_amount = __pyx_t_1; - __pyx_t_1 = 0; - - } - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - goto __pyx_L10_try_end; - __pyx_L5_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError); - if (__pyx_t_8) { - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_9) < 0) __PYX_ERR(0, 119, __pyx_L7_except_error) - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_9); - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - goto __pyx_L8_except_return; - } - goto __pyx_L7_except_error; - - __pyx_L7_except_error:; - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); - goto __pyx_L1_error; - __pyx_L8_except_return:; - __Pyx_XGIVEREF(__pyx_t_5); - __Pyx_XGIVEREF(__pyx_t_6); - __Pyx_XGIVEREF(__pyx_t_7); - __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7); - goto __pyx_L0; - __pyx_L10_try_end:; - } - - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_update_data); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 122, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L13_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 122, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 122, __pyx_L1_error) - } - } - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_waiting_for_payment_confirmation); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_10}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L14_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 123, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 123, __pyx_L1_error) - } - } - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_chat); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_tg_id = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_full_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_customer_name = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = 0; - __pyx_t_12 = 127; - __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_12; - __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); - __pyx_t_1 = 0; - __Pyx_INCREF(__pyx_kp_u__6); - __pyx_t_3 += 1; - __Pyx_GIVEREF(__pyx_kp_u__6); - PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_u__6); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_EMAIL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_FormatSimple(__pyx_t_1, __pyx_empty_unicode); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_10) : __pyx_t_12; - __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_10); - PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_10); - __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_3, __pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 127, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_v_customer_email = ((PyObject*)__pyx_t_10); - __pyx_t_10 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Payment); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_create); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_value, __pyx_t_13) < 0) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 131, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_amount, __pyx_t_9) < 0) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_type, __pyx_n_u_redirect) < 0) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_REDIRECT_LINK); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_return_url, __pyx_t_13) < 0) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_confirmation, __pyx_t_9) < 0) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_capture, Py_True) < 0) __PYX_ERR(0, 131, __pyx_L1_error) - - __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_3 = 0; - __pyx_t_12 = 127; - __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_SERVICE_NAME); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_t_13, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_12; - __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_14); - __pyx_t_14 = 0; - __Pyx_INCREF(__pyx_kp_u__7); - __pyx_t_3 += 1; - __Pyx_GIVEREF(__pyx_kp_u__7); - PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_kp_u__7); - __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_12; - __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyUnicode_Join(__pyx_t_9, 3, __pyx_t_3, __pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 134, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_description, __pyx_t_14) < 0) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - __pyx_t_14 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - - __pyx_t_9 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 137, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_full_name, __pyx_cur_scope->__pyx_v_customer_name) < 0) __PYX_ERR(0, 137, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_email, __pyx_cur_scope->__pyx_v_customer_email) < 0) __PYX_ERR(0, 137, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_phone, __pyx_kp_u_79000000000) < 0) __PYX_ERR(0, 137, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_14, __pyx_n_u_customer, __pyx_t_9) < 0) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - __pyx_t_9 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_13 = PyTuple_New(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - __pyx_t_3 = 0; - __pyx_t_12 = 127; - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_SERVICE_NAME); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_t_15, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) : __pyx_t_12; - __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_16); - __pyx_t_16 = 0; - __Pyx_INCREF(__pyx_kp_u__7); - __pyx_t_3 += 1; - __Pyx_GIVEREF(__pyx_kp_u__7); - PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_kp_u__7); - __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_12 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) > __pyx_t_12) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) : __pyx_t_12; - __pyx_t_3 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_t_16); - __pyx_t_16 = 0; - __pyx_t_16 = __Pyx_PyUnicode_Join(__pyx_t_13, 3, __pyx_t_3, __pyx_t_12); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_description, __pyx_t_16) < 0) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_quantity, __pyx_kp_u_1_00) < 0) __PYX_ERR(0, 143, __pyx_L1_error) - - __pyx_t_16 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_13 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_13); - if (PyDict_SetItem(__pyx_t_16, __pyx_n_u_value, __pyx_t_13) < 0) __PYX_ERR(0, 145, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (PyDict_SetItem(__pyx_t_16, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 145, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_amount, __pyx_t_16) < 0) __PYX_ERR(0, 143, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_vat_code, __pyx_int_1) < 0) __PYX_ERR(0, 143, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_payment_subject, __pyx_n_u_payment) < 0) __PYX_ERR(0, 143, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_9, __pyx_n_u_payment_mode, __pyx_n_u_full_payment) < 0) __PYX_ERR(0, 143, __pyx_L1_error) - - __pyx_t_16 = PyList_New(1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 141, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_GIVEREF(__pyx_t_9); - if (__Pyx_PyList_SET_ITEM(__pyx_t_16, 0, __pyx_t_9)) __PYX_ERR(0, 141, __pyx_L1_error); - __pyx_t_9 = 0; - if (PyDict_SetItem(__pyx_t_14, __pyx_n_u_items, __pyx_t_16) < 0) __PYX_ERR(0, 136, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_receipt, __pyx_t_14) < 0) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 152, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - if (PyDict_SetItem(__pyx_t_14, __pyx_n_u_user_id, __pyx_cur_scope->__pyx_v_tg_id) < 0) __PYX_ERR(0, 152, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_metadata, __pyx_t_14) < 0) __PYX_ERR(0, 131, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_uuid); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_uuid4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __pyx_t_16 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_9))) { - __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_9); - if (likely(__pyx_t_16)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); - __Pyx_INCREF(__pyx_t_16); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_9, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_16, NULL}; - __pyx_t_14 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 154, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - __pyx_t_9 = NULL; - __pyx_t_11 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_9)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_9); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_11 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_t_2, __pyx_t_14}; - __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_11, 2+__pyx_t_11); - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 129, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_GIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_v_payment = __pyx_t_10; - __pyx_t_10 = 0; - - __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_status); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 157, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_10, __pyx_n_u_pending, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 157, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - if (__pyx_t_4) { - - __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_confirmation); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_confirmation_url); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 158, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_payment_url = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 160, __pyx_L1_error) - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 160, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_14); - __pyx_cur_scope->__pyx_v_payment_message = __pyx_t_14; - __pyx_t_14 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_PAY); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_9) < 0) __PYX_ERR(0, 166, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_url, __pyx_cur_scope->__pyx_v_payment_url) < 0) __PYX_ERR(0, 166, __pyx_L1_error) - - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 165, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 164, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_9); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_9)) __PYX_ERR(0, 164, __pyx_L1_error); - __pyx_t_9 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_BACK); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_text, __pyx_t_16) < 0) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_callback_data, __pyx_n_u_pay) < 0) __PYX_ERR(0, 171, __pyx_L1_error) - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 171, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - - __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 170, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_10); - __Pyx_GIVEREF(__pyx_t_16); - if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_16)) __PYX_ERR(0, 170, __pyx_L1_error); - __pyx_t_16 = 0; - - __pyx_t_16 = PyList_New(2); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyList_SET_ITEM(__pyx_t_16, 0, __pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error); - __Pyx_GIVEREF(__pyx_t_10); - if (__Pyx_PyList_SET_ITEM(__pyx_t_16, 1, __pyx_t_10)) __PYX_ERR(0, 163, __pyx_L1_error); - __pyx_t_2 = 0; - __pyx_t_10 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_inline_keyboard, __pyx_t_16) < 0) __PYX_ERR(0, 163, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 162, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_16); - __pyx_cur_scope->__pyx_v_confirm_keyboard = __pyx_t_16; - __pyx_t_16 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 177, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_target_message, __pyx_t_14) < 0) __PYX_ERR(0, 177, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_cur_scope->__pyx_v_payment_message) < 0) __PYX_ERR(0, 177, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_confirm_keyboard) < 0) __PYX_ERR(0, 177, __pyx_L1_error) - - __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 176, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_14); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L16_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 176, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 176, __pyx_L1_error) - } - } - - goto __pyx_L15; - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_14); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_target_message, __pyx_t_16) < 0) __PYX_ERR(0, 183, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_kp_u__8) < 0) __PYX_ERR(0, 183, __pyx_L1_error) - - __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 182, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_16); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L17_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 182, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 182, __pyx_L1_error) - } - } - } - __pyx_L15:; - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_13); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_AddTraceback("process_amount_selection", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_7yookassa_webhook(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_12yookassa_pay_6yookassa_webhook, "\n \320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260 \320\262\320\265\320\261\321\205\321\203\320\272\320\276\320\262 Yookassa \320\270 \320\277\321\200\320\276\320\262\320\265\321\200\320\272\320\260 \320\277\320\273\320\260\321\202\320\265\320\266\320\265\320\271.\n "); -static PyMethodDef __pyx_mdef_8handlers_8payments_12yookassa_pay_7yookassa_webhook = {"yookassa_webhook", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yookassa_pay_7yookassa_webhook, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_12yookassa_pay_6yookassa_webhook}; -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_7yookassa_webhook(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_request = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[1] = {0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("yookassa_webhook (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_request,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_request)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 190, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "yookassa_webhook") < 0)) __PYX_ERR(0, 190, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 1)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - } - __pyx_v_request = values[0]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("yookassa_webhook", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 190, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yookassa_pay.yookassa_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_12yookassa_pay_6yookassa_webhook(__pyx_self, __pyx_v_request); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_6yookassa_webhook(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_request) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("yookassa_webhook", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 190, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_request = __pyx_v_request; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_request); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_request); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_8generator2, __pyx_codeobj__9, (PyObject *) __pyx_cur_scope, __pyx_n_s_yookassa_webhook, __pyx_n_s_yookassa_webhook, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 190, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yookassa_pay.yookassa_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - PyObject *__pyx_t_13 = NULL; - double __pyx_t_14; - Py_ssize_t __pyx_t_15; - Py_UCS4 __pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - int __pyx_t_19; - PyObject *__pyx_t_20 = NULL; - int __pyx_t_21; - char const *__pyx_t_22; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - PyObject *__pyx_t_26 = NULL; - PyObject *__pyx_t_27 = NULL; - PyObject *__pyx_t_28 = NULL; - PyObject *__pyx_t_29 = NULL; - char const *__pyx_t_30; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("yookassa_webhook", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 190, __pyx_L1_error) - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_request, __pyx_n_s_json); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 194, __pyx_L1_error) - __pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1); - } else { - __pyx_t_1 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 194, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_event = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_event, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Webhook_event_received, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_event, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_n_u_object, __pyx_t_5}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_payment_object = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment_object, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_n_u_id}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 198, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_payment_id = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_payment_id); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 199, __pyx_L1_error) - __pyx_t_7 = (!__pyx_t_6); - if (__pyx_t_7) { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u_ID}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_web); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Response); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 201, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 201, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L0; - - } - - { - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Payment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_find_one); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 204, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_payment_id}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 204, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_payment = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 205, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 205, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_payment, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 205, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_API_Yookassa, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 205, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_2}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_status); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 207, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_succeeded, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 207, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - } else { - __pyx_t_7 = __pyx_t_6; - goto __pyx_L13_bool_binop_done; - } - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_paid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 207, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 207, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = __pyx_t_6; - __pyx_L13_bool_binop_done:; - if (__pyx_t_7) { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_metadata); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_n_u_user_id}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 208, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_user_id_str = __pyx_t_3; - __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_payment, __pyx_n_s_amount); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 209, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 209, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_amount_str = __pyx_t_2; - __pyx_t_2 = 0; - - { - __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - /*try:*/ { - - __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_user_id_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_user_id = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_14 = __Pyx_PyObject_AsDouble(__pyx_cur_scope->__pyx_v_amount_str); if (unlikely(__pyx_t_14 == ((double)((double)-1)) && PyErr_Occurred())) __PYX_ERR(0, 213, __pyx_L15_error) - __pyx_cur_scope->__pyx_v_amount = __pyx_t_14; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_info); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_15 = 0; - __pyx_t_16 = 127; - __Pyx_INCREF(__pyx_kp_u_Payment_succeeded_for_user_id); - __pyx_t_15 += 31; - __Pyx_GIVEREF(__pyx_kp_u_Payment_succeeded_for_user_id); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_u_Payment_succeeded_for_user_id); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 214, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_16 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_16) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_16; - __pyx_t_15 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); - __pyx_t_5 = 0; - __Pyx_INCREF(__pyx_kp_u_amount_2); - __pyx_t_15 += 10; - __Pyx_GIVEREF(__pyx_kp_u_amount_2); - PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_kp_u_amount_2); - __pyx_t_5 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 214, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_17 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 214, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_16 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17) > __pyx_t_16) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_17) : __pyx_t_16; - __pyx_t_15 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_17); - __Pyx_GIVEREF(__pyx_t_17); - PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_17); - __pyx_t_17 = 0; - __pyx_t_17 = __Pyx_PyUnicode_Join(__pyx_t_3, 4, __pyx_t_15, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 214, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_17}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 214, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_web); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 216, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Response); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 216, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 216, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_status, __pyx_int_200) < 0) __PYX_ERR(0, 216, __pyx_L15_error) - __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 216, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_17); - __pyx_cur_scope->__pyx_v_response = __pyx_t_17; - __pyx_t_17 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_create_task); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_process_successful_payment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyFloat_FromDouble(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 218, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_18 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_18)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_18); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_18, __pyx_cur_scope->__pyx_v_user_id, __pyx_t_5}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2}; - __pyx_t_17 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 218, __pyx_L15_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_cur_scope->__pyx_v_response); - goto __pyx_L19_try_return; - - } - __pyx_L15_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_19 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError); - if (__pyx_t_19) { - __Pyx_AddTraceback("handlers.payments.yookassa_pay.yookassa_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_17, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 221, __pyx_L17_except_error) - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_e = __pyx_t_1; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 222, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_error); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 222, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 222, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_20 = __Pyx_PyUnicode_Concat(__pyx_kp_u_user_id_amount, __pyx_t_5); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 222, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_18))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_18); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_18, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_20}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_18, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 222, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_web); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Response); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 223, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 223, __pyx_L26_error) - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 223, __pyx_L26_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - goto __pyx_L25_return; - } - - /*finally:*/ { - __pyx_L26_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_26, &__pyx_t_27, &__pyx_t_28); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25) < 0)) __Pyx_ErrFetch(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_26); - __Pyx_XGOTREF(__pyx_t_27); - __Pyx_XGOTREF(__pyx_t_28); - __pyx_t_19 = __pyx_lineno; __pyx_t_21 = __pyx_clineno; __pyx_t_22 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_XGIVEREF(__pyx_t_28); - __Pyx_ExceptionReset(__pyx_t_26, __pyx_t_27, __pyx_t_28); - } - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_ErrRestore(__pyx_t_23, __pyx_t_24, __pyx_t_25); - __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; - __pyx_lineno = __pyx_t_19; __pyx_clineno = __pyx_t_21; __pyx_filename = __pyx_t_22; - goto __pyx_L17_except_error; - } - __pyx_L25_return: { - __Pyx_PyThreadState_assign - __pyx_t_28 = 0; __pyx_t_27 = 0; __pyx_t_26 = 0; __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_25, &__pyx_t_24, &__pyx_t_23); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_28, &__pyx_t_27, &__pyx_t_26) < 0)) __Pyx_ErrFetch(&__pyx_t_28, &__pyx_t_27, &__pyx_t_26); - __Pyx_XGOTREF(__pyx_t_28); - __Pyx_XGOTREF(__pyx_t_27); - __Pyx_XGOTREF(__pyx_t_26); - __Pyx_XGOTREF(__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_29 = __pyx_r; - __pyx_r = 0; - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - __pyx_r = __pyx_t_29; - __pyx_t_29 = 0; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_24, __pyx_t_23); - } - __Pyx_XGIVEREF(__pyx_t_28); - __Pyx_XGIVEREF(__pyx_t_27); - __Pyx_XGIVEREF(__pyx_t_26); - __Pyx_ErrRestore(__pyx_t_28, __pyx_t_27, __pyx_t_26); - __pyx_t_28 = 0; __pyx_t_27 = 0; __pyx_t_26 = 0; __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; - goto __pyx_L18_except_return; - } - } - } - goto __pyx_L17_except_error; - - __pyx_L17_except_error:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L6_error; - __pyx_L19_try_return:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L10_try_return; - __pyx_L18_except_return:; - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - goto __pyx_L10_try_return; - } - - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_warning); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 225, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = 0; - __pyx_t_16 = 127; - __Pyx_INCREF(__pyx_kp_u_ID_2); - __pyx_t_16 = (65535 > __pyx_t_16) ? 65535 : __pyx_t_16; - __pyx_t_15 += 12; - __Pyx_GIVEREF(__pyx_kp_u_ID_2); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u_ID_2); - __pyx_t_20 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_payment_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 225, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_20); - __pyx_t_16 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_20) > __pyx_t_16) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_20) : __pyx_t_16; - __pyx_t_15 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_20); - __Pyx_GIVEREF(__pyx_t_20); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_20); - __pyx_t_20 = 0; - __Pyx_INCREF(__pyx_kp_u__10); - __pyx_t_16 = (65535 > __pyx_t_16) ? 65535 : __pyx_t_16; - __pyx_t_15 += 27; - __Pyx_GIVEREF(__pyx_kp_u__10); - PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u__10); - __pyx_t_20 = __Pyx_PyUnicode_Join(__pyx_t_1, 3, __pyx_t_15, __pyx_t_16); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 225, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_17))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_17); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_17, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_20}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_17, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 225, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - } - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_web); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 226, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Response); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 226, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_17); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 226, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_status, __pyx_int_400) < 0) __PYX_ERR(0, 226, __pyx_L6_error) - __pyx_t_20 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 226, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_20); - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_20); - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - goto __pyx_L10_try_return; - } - - } - __pyx_L6_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_21 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_21) { - __Pyx_AddTraceback("handlers.payments.yookassa_pay.yookassa_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_20, &__pyx_t_2, &__pyx_t_17) < 0) __PYX_ERR(0, 227, __pyx_L8_except_error) - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_INCREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_e, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 228, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u__11, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 228, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_18))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_18); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_18, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_18, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_web); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_Response); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 229, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_18); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_status, __pyx_int_500) < 0) __PYX_ERR(0, 229, __pyx_L37_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 229, __pyx_L37_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = NULL; __Pyx_ReturnWithStopIteration(__pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; - __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; - goto __pyx_L36_return; - } - - /*finally:*/ { - __pyx_L37_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_13 = 0; __pyx_t_12 = 0; __pyx_t_11 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11) < 0)) __Pyx_ErrFetch(&__pyx_t_13, &__pyx_t_12, &__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_13); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_25); - __pyx_t_21 = __pyx_lineno; __pyx_t_19 = __pyx_clineno; __pyx_t_30 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_24, __pyx_t_25); - } - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_ErrRestore(__pyx_t_13, __pyx_t_12, __pyx_t_11); - __pyx_t_13 = 0; __pyx_t_12 = 0; __pyx_t_11 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; - __pyx_lineno = __pyx_t_21; __pyx_clineno = __pyx_t_19; __pyx_filename = __pyx_t_30; - goto __pyx_L8_except_error; - } - __pyx_L36_return: { - __Pyx_PyThreadState_assign - __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_25, &__pyx_t_24, &__pyx_t_23) < 0)) __Pyx_ErrFetch(&__pyx_t_25, &__pyx_t_24, &__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_12); - __Pyx_XGOTREF(__pyx_t_13); - __pyx_t_26 = __pyx_r; - __pyx_r = 0; - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - __pyx_r = __pyx_t_26; - __pyx_t_26 = 0; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_11); - __Pyx_XGIVEREF(__pyx_t_12); - __Pyx_XGIVEREF(__pyx_t_13); - __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13); - } - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ErrRestore(__pyx_t_25, __pyx_t_24, __pyx_t_23); - __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; - goto __pyx_L9_except_return; - } - } - } - goto __pyx_L8_except_error; - - __pyx_L8_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L1_error; - __pyx_L10_try_return:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L0; - __pyx_L9_except_return:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L0; - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_17); - __Pyx_XDECREF(__pyx_t_18); - __Pyx_XDECREF(__pyx_t_20); - __Pyx_AddTraceback("yookassa_webhook", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_10process_successful_payment(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_12yookassa_pay_9process_successful_payment, "\n \320\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\276 \320\276\320\261\321\200\320\260\320\261\320\260\321\202\321\213\320\262\320\260\320\265\321\202 \321\203\321\201\320\277\320\265\321\210\320\275\321\213\320\271 \320\277\320\273\320\260\321\202\321\221\320\266 \320\261\320\265\320\267 \320\261\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270 \320\276\321\202\320\262\320\265\321\202\320\260 Yookassa.\n "); -static PyMethodDef __pyx_mdef_8handlers_8payments_12yookassa_pay_10process_successful_payment = {"process_successful_payment", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yookassa_pay_10process_successful_payment, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_12yookassa_pay_9process_successful_payment}; -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_10process_successful_payment(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_user_id = 0; - PyObject *__pyx_v_amount = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_successful_payment (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_user_id,&__pyx_n_s_amount,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_user_id)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 232, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_amount)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 232, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_successful_payment", 1, 2, 2, 1); __PYX_ERR(0, 232, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_successful_payment") < 0)) __PYX_ERR(0, 232, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_user_id = values[0]; - __pyx_v_amount = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_successful_payment", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 232, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_successful_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_12yookassa_pay_9process_successful_payment(__pyx_self, __pyx_v_user_id, __pyx_v_amount); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_9process_successful_payment(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_user_id, PyObject *__pyx_v_amount) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_successful_payment", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 232, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_user_id = __pyx_v_user_id; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_user_id); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_user_id); - __pyx_cur_scope->__pyx_v_amount = __pyx_v_amount; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_amount); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_amount); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_11generator3, __pyx_codeobj__12, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_successful_payment, __pyx_n_s_process_successful_payment, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 232, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_successful_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_11generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - unsigned int __pyx_t_7; - int __pyx_t_8; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - Py_ssize_t __pyx_t_12; - Py_UCS4 __pyx_t_13; - PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - char const *__pyx_t_16; - PyObject *__pyx_t_17 = NULL; - PyObject *__pyx_t_18 = NULL; - PyObject *__pyx_t_19 = NULL; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_successful_payment", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L10_resume_from_await; - case 2: goto __pyx_L11_resume_from_await; - case 3: goto __pyx_L12_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 232, __pyx_L1_error) - - { - __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_3); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[4] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_user_id, __pyx_cur_scope->__pyx_v_amount, __pyx_n_u_yookassa_2}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 3+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 237, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L10_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 237, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 237, __pyx_L4_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_user_id, __pyx_cur_scope->__pyx_v_amount}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L11_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 238, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 238, __pyx_L4_error) - } - } - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_6)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_6); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_cur_scope->__pyx_v_user_id, __pyx_cur_scope->__pyx_v_amount}; - __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 239, __pyx_L4_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_3; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L12_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_3 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_3); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 239, __pyx_L4_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 239, __pyx_L4_error) - } - } - - } - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - goto __pyx_L9_try_end; - __pyx_L4_error:; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_8 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_8) { - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_successful_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 240, __pyx_L6_except_error) - __Pyx_XGOTREF(__pyx_t_4); - __Pyx_XGOTREF(__pyx_t_5); - __Pyx_XGOTREF(__pyx_t_6); - __Pyx_INCREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_cur_scope->__pyx_v_e = __pyx_t_5; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_logger); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 241, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_error); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 241, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = PyTuple_New(4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 241, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_10); - __pyx_t_12 = 0; - __pyx_t_13 = 127; - __Pyx_INCREF(__pyx_kp_u__13); - __pyx_t_13 = (65535 > __pyx_t_13) ? 65535 : __pyx_t_13; - __pyx_t_12 += 43; - __Pyx_GIVEREF(__pyx_kp_u__13); - PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_kp_u__13); - __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_user_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 241, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13; - __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_14); - __pyx_t_14 = 0; - __Pyx_INCREF(__pyx_kp_u__14); - __pyx_t_12 += 2; - __Pyx_GIVEREF(__pyx_kp_u__14); - PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_kp_u__14); - __pyx_t_14 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 241, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_13 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) > __pyx_t_13) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_14) : __pyx_t_13; - __pyx_t_12 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - PyTuple_SET_ITEM(__pyx_t_10, 3, __pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = __Pyx_PyUnicode_Join(__pyx_t_10, 4, __pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 241, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = NULL; - __pyx_t_7 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_10)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_10); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_7 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_14}; - __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 241, __pyx_L18_error) - __Pyx_GOTREF(__pyx_t_9); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L19; - } - __pyx_L18_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19) < 0)) __Pyx_ErrFetch(&__pyx_t_17, &__pyx_t_18, &__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_17); - __Pyx_XGOTREF(__pyx_t_18); - __Pyx_XGOTREF(__pyx_t_19); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_8 = __pyx_lineno; __pyx_t_15 = __pyx_clineno; __pyx_t_16 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ExceptionReset(__pyx_t_20, __pyx_t_21, __pyx_t_22); - } - __Pyx_XGIVEREF(__pyx_t_17); - __Pyx_XGIVEREF(__pyx_t_18); - __Pyx_XGIVEREF(__pyx_t_19); - __Pyx_ErrRestore(__pyx_t_17, __pyx_t_18, __pyx_t_19); - __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; - __pyx_lineno = __pyx_t_8; __pyx_clineno = __pyx_t_15; __pyx_filename = __pyx_t_16; - goto __pyx_L6_except_error; - } - __pyx_L19:; - } - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - goto __pyx_L5_exception_handled; - } - goto __pyx_L6_except_error; - - __pyx_L6_except_error:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - goto __pyx_L1_error; - __pyx_L5_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_1); - __Pyx_XGIVEREF(__pyx_t_2); - __Pyx_XGIVEREF(__pyx_t_3); - __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); - __pyx_L9_try_end:; - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_9); - __Pyx_XDECREF(__pyx_t_10); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_AddTraceback("process_successful_payment", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_13process_enter_custom_amount(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_12yookassa_pay_13process_enter_custom_amount = {"process_enter_custom_amount", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yookassa_pay_13process_enter_custom_amount, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_13process_enter_custom_amount(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - PyObject *__pyx_v_state = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_enter_custom_amount (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_state,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 244, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_state)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 244, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, 1); __PYX_ERR(0, 244, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_enter_custom_amount") < 0)) __PYX_ERR(0, 244, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_state = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_enter_custom_amount", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 244, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_12yookassa_pay_12process_enter_custom_amount(__pyx_self, __pyx_v_callback_query, __pyx_v_state); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_12process_enter_custom_amount(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, PyObject *__pyx_v_state) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_enter_custom_amount", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 244, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_state = __pyx_v_state; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_state); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_14generator4, __pyx_codeobj__15, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_process_enter_custom_amount, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_14generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - unsigned int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_enter_custom_amount", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - case 2: goto __pyx_L5_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 244, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_builder = __pyx_t_1; - __pyx_t_1 = 0; - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_row); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_BACK); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_text, __pyx_t_6) < 0) __PYX_ERR(0, 249, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_callback_data, __pyx_n_u_pay_yookassa) < 0) __PYX_ERR(0, 249, __pyx_L1_error) - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_5)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_5); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 249, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 252, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_target_message, __pyx_t_6) < 0) __PYX_ERR(0, 252, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ENTER_SUM); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 253, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_6) < 0) __PYX_ERR(0, 252, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_builder, __pyx_n_s_as_markup); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 254, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_5))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_5, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 254, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - } - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_t_6) < 0) __PYX_ERR(0, 252, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 251, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 251, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 251, __pyx_L1_error) - } - } - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_state, __pyx_n_s_set_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_entering_custom_amount_yookassa); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 257, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_4 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_4 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5}; - __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 257, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 257, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 257, __pyx_L1_error) - } - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_AddTraceback("process_enter_custom_amount", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_17generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_16process_custom_amount_input(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -static PyMethodDef __pyx_mdef_8handlers_8payments_12yookassa_pay_16process_custom_amount_input = {"process_custom_amount_input", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yookassa_pay_16process_custom_amount_input, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_16process_custom_amount_input(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_callback_query = 0; - CYTHON_UNUSED PyObject *__pyx_v_session = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[2] = {0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_custom_amount_input (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_callback_query,&__pyx_n_s_session,0}; - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_callback_query)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 262, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_session)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 262, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, 1); __PYX_ERR(0, 262, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "process_custom_amount_input") < 0)) __PYX_ERR(0, 262, __pyx_L3_error) - } - } else if (unlikely(__pyx_nargs != 2)) { - goto __pyx_L5_argtuple_error; - } else { - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - } - __pyx_v_callback_query = values[0]; - __pyx_v_session = values[1]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("process_custom_amount_input", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 262, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_8handlers_8payments_12yookassa_pay_15process_custom_amount_input(__pyx_self, __pyx_v_callback_query, __pyx_v_session); - - /* function exit code */ - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_15process_custom_amount_input(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_callback_query, CYTHON_UNUSED PyObject *__pyx_v_session) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("process_custom_amount_input", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 262, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_callback_query = __pyx_v_callback_query; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - __pyx_cur_scope->__pyx_v_session = __pyx_v_session; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_session); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_session); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_17generator5, __pyx_codeobj__16, (PyObject *) __pyx_cur_scope, __pyx_n_s_process_custom_amount_input, __pyx_n_s_process_custom_amount_input, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 262, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_17generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - PyObject *__pyx_t_4 = NULL; - unsigned int __pyx_t_5; - int __pyx_t_6; - int __pyx_t_7; - PyObject *__pyx_t_8 = NULL; - PyObject *__pyx_t_9 = NULL; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; - Py_ssize_t __pyx_t_13; - Py_UCS4 __pyx_t_14; - PyObject *__pyx_t_15 = NULL; - PyObject *__pyx_t_16 = NULL; - int __pyx_t_17; - int __pyx_t_18; - char const *__pyx_t_19; - PyObject *__pyx_t_20 = NULL; - PyObject *__pyx_t_21 = NULL; - PyObject *__pyx_t_22 = NULL; - PyObject *__pyx_t_23 = NULL; - PyObject *__pyx_t_24 = NULL; - PyObject *__pyx_t_25 = NULL; - char const *__pyx_t_26; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("process_custom_amount_input", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L4_resume_from_await; - case 2: goto __pyx_L9_resume_from_await; - case 3: goto __pyx_L11_resume_from_await; - case 4: goto __pyx_L15_resume_from_await; - case 5: goto __pyx_L17_resume_from_await; - case 6: goto __pyx_L18_resume_from_await; - case 7: goto __pyx_L20_resume_from_await; - case 8: goto __pyx_L28_resume_from_await; - case 9: goto __pyx_L29_resume_from_await; - case 10: goto __pyx_L37_resume_from_await; - case 11: goto __pyx_L42_resume_from_await; - case 12: goto __pyx_L45_resume_from_await; - case 13: goto __pyx_L46_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 262, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_asyncpg); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_connect); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_DATABASE_URL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L4_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 264, __pyx_L1_error) - __pyx_t_1 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_1); - } else { - __pyx_t_1 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_1) < 0) __PYX_ERR(0, 264, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - } - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_conn = __pyx_t_1; - __pyx_t_1 = 0; - - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 266, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CallbackQuery); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 266, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_6 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v_callback_query, __pyx_t_3); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 266, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_chat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_tg_id = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_get_temporary_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_cur_scope->__pyx_v_conn, __pyx_cur_scope->__pyx_v_tg_id}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L9_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 269, __pyx_L6_error) - __pyx_t_3 = __pyx_sent_value; __Pyx_INCREF(__pyx_t_3); - } else { - __pyx_t_3 = NULL; - if (__Pyx_PyGen_FetchStopIterationValue(&__pyx_t_3) < 0) __PYX_ERR(0, 269, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - } - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_user_data = __pyx_t_3; - __pyx_t_3 = 0; - - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_user_data); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 270, __pyx_L6_error) - __pyx_t_7 = (!__pyx_t_6); - if (__pyx_t_7) { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 271, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_answer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 271, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_kp_u__17}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 271, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 3; - return __pyx_r; - __pyx_L11_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 271, __pyx_L6_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 271, __pyx_L6_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L5_return; - - } - - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_user_data, __pyx_n_u_state); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 274, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_state_type = __pyx_t_3; - __pyx_t_3 = 0; - - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_state_type); - __pyx_t_3 = __pyx_cur_scope->__pyx_v_state_type; - __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_waiting_for_payment, Py_NE)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 276, __pyx_L6_error) - if (__pyx_t_6) { - } else { - __pyx_t_7 = __pyx_t_6; - goto __pyx_L13_bool_binop_done; - } - __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_waiting_for_renewal_payment, Py_NE)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 276, __pyx_L6_error) - __pyx_t_7 = __pyx_t_6; - __pyx_L13_bool_binop_done:; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __pyx_t_7; - if (__pyx_t_6) { - - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__17}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 277, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_3); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 4; - return __pyx_r; - __pyx_L15_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 277, __pyx_L6_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 277, __pyx_L6_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L5_return; - - } - - __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_user_data, __pyx_n_u_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 280, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_amount = __pyx_t_3; - __pyx_t_3 = 0; - - goto __pyx_L8; - } - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_Message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 282, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v_callback_query, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 282, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_6) { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_chat); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 283, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 283, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_3); - __pyx_cur_scope->__pyx_v_tg_id = __pyx_t_3; - __pyx_t_3 = 0; - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 285, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_isdigit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 285, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_2))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_2, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL}; - __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 285, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - } - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 285, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_6) { - - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_text); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 286, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 286, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_amount = __pyx_t_2; - __pyx_t_2 = 0; - - goto __pyx_L16; - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 288, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_callback_query, __pyx_kp_u__19}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 288, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 5; - return __pyx_r; - __pyx_L17_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 288, __pyx_L6_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 288, __pyx_L6_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L5_return; - } - __pyx_L16:; - - goto __pyx_L8; - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 291, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_callback_query, __pyx_kp_u__20}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 291, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 6; - return __pyx_r; - __pyx_L18_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 291, __pyx_L6_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 291, __pyx_L6_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L5_return; - } - __pyx_L8:; - - __pyx_t_2 = PyObject_RichCompare(__pyx_cur_scope->__pyx_v_amount, __pyx_int_0, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 294, __pyx_L6_error) - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 294, __pyx_L6_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_6) { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_3))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_3, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_callback_query, __pyx_kp_u__21}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 295, __pyx_L6_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 7; - return __pyx_r; - __pyx_L20_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 295, __pyx_L6_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 295, __pyx_L6_error) - } - } - - __Pyx_XDECREF(__pyx_r); - __pyx_r = NULL; - goto __pyx_L5_return; - - } - - { - __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Payment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 299, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_create); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 299, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 301, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 301, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_value, __pyx_t_11) < 0) __PYX_ERR(0, 301, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 301, __pyx_L21_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_amount, __pyx_t_4) < 0) __PYX_ERR(0, 301, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 303, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_type, __pyx_n_u_redirect) < 0) __PYX_ERR(0, 303, __pyx_L21_error) - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_REDIRECT_LINK); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 304, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_11, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 304, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_return_url, __pyx_t_12) < 0) __PYX_ERR(0, 303, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_confirmation, __pyx_t_4) < 0) __PYX_ERR(0, 301, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_capture, Py_True) < 0) __PYX_ERR(0, 301, __pyx_L21_error) - - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 307, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_13 = 0; - __pyx_t_14 = 127; - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_SERVICE_NAME); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 307, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_t_12, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 307, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_14 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) > __pyx_t_14) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) : __pyx_t_14; - __pyx_t_13 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_11); - __pyx_t_11 = 0; - __Pyx_INCREF(__pyx_kp_u__7); - __pyx_t_13 += 1; - __Pyx_GIVEREF(__pyx_kp_u__7); - PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_kp_u__7); - __pyx_t_11 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 307, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_14 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) > __pyx_t_14) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11) : __pyx_t_14; - __pyx_t_13 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_11); - __pyx_t_11 = 0; - __pyx_t_11 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, __pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 307, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_description, __pyx_t_11) < 0) __PYX_ERR(0, 301, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 309, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - - __pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 310, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_callback_query, __pyx_n_s_from_user); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 310, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_full_name); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 310, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_full_name, __pyx_t_15) < 0) __PYX_ERR(0, 310, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - - __pyx_t_15 = PyTuple_New(3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 311, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_13 = 0; - __pyx_t_14 = 127; - __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 311, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_14) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_14; - __pyx_t_13 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_12); - __pyx_t_12 = 0; - __Pyx_INCREF(__pyx_kp_u__6); - __pyx_t_13 += 1; - __Pyx_GIVEREF(__pyx_kp_u__6); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_kp_u__6); - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_EMAIL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 311, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_16 = __Pyx_PyObject_FormatSimple(__pyx_t_12, __pyx_empty_unicode); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 311, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_14 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) > __pyx_t_14) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_16) : __pyx_t_14; - __pyx_t_13 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_16); - __Pyx_GIVEREF(__pyx_t_16); - PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_t_16); - __pyx_t_16 = 0; - __pyx_t_16 = __Pyx_PyUnicode_Join(__pyx_t_15, 3, __pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 311, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_email, __pyx_t_16) < 0) __PYX_ERR(0, 310, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_phone, __pyx_kp_u_79000000000) < 0) __PYX_ERR(0, 310, __pyx_L21_error) - if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_customer, __pyx_t_4) < 0) __PYX_ERR(0, 309, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_4 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 316, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_16 = PyTuple_New(3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 316, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_16); - __pyx_t_13 = 0; - __pyx_t_14 = 127; - __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_SERVICE_NAME); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 316, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_t_15, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 316, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __pyx_t_14 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_14) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_14; - __pyx_t_13 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_12); - __pyx_t_12 = 0; - __Pyx_INCREF(__pyx_kp_u__7); - __pyx_t_13 += 1; - __Pyx_GIVEREF(__pyx_kp_u__7); - PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_kp_u__7); - __pyx_t_12 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_tg_id, __pyx_empty_unicode); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 316, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_14 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) > __pyx_t_14) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_12) : __pyx_t_14; - __pyx_t_13 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_12); - __Pyx_GIVEREF(__pyx_t_12); - PyTuple_SET_ITEM(__pyx_t_16, 2, __pyx_t_12); - __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_16, 3, __pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 316, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_description, __pyx_t_12) < 0) __PYX_ERR(0, 316, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_quantity, __pyx_kp_u_1_00) < 0) __PYX_ERR(0, 316, __pyx_L21_error) - - __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 319, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_16 = __Pyx_PyObject_Unicode(__pyx_cur_scope->__pyx_v_amount); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 319, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_16); - if (PyDict_SetItem(__pyx_t_12, __pyx_n_u_value, __pyx_t_16) < 0) __PYX_ERR(0, 319, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (PyDict_SetItem(__pyx_t_12, __pyx_n_u_currency, __pyx_n_u_RUB) < 0) __PYX_ERR(0, 319, __pyx_L21_error) - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_amount, __pyx_t_12) < 0) __PYX_ERR(0, 316, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_vat_code, __pyx_int_1) < 0) __PYX_ERR(0, 316, __pyx_L21_error) - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_payment_subject, __pyx_n_u_payment) < 0) __PYX_ERR(0, 316, __pyx_L21_error) - if (PyDict_SetItem(__pyx_t_4, __pyx_n_u_payment_mode, __pyx_n_u_full_payment) < 0) __PYX_ERR(0, 316, __pyx_L21_error) - - __pyx_t_12 = PyList_New(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 314, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_t_4)) __PYX_ERR(0, 314, __pyx_L21_error); - __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_items, __pyx_t_12) < 0) __PYX_ERR(0, 309, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_receipt, __pyx_t_11) < 0) __PYX_ERR(0, 301, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 328, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_u_user_id, __pyx_cur_scope->__pyx_v_tg_id) < 0) __PYX_ERR(0, 328, __pyx_L21_error) - if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_metadata, __pyx_t_11) < 0) __PYX_ERR(0, 301, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_uuid); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 330, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_uuid4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 330, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_12)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_12); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL}; - __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 330, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_t_4 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_1))) { - __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); - if (likely(__pyx_t_4)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); - __Pyx_INCREF(__pyx_t_4); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_1, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_3, __pyx_t_11}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 299, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - } - __Pyx_GIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_v_payment = __pyx_t_2; - __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_status); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 333, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_n_u_pending, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 333, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_6) { - - __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_cur_scope->__pyx_v_payment, __pyx_n_u_confirmation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 334, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_confirmation_url); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 334, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_v_payment_url = __pyx_t_1; - __pyx_t_1 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 336, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 336, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 336, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_amount, __pyx_cur_scope->__pyx_v_amount) < 0) __PYX_ERR(0, 336, __pyx_L21_error) - __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 336, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_v_payment_message = __pyx_t_11; - __pyx_t_11 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 337, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_1); - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 339, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 339, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_PAY_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 339, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_text, __pyx_t_4) < 0) __PYX_ERR(0, 339, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_url, __pyx_cur_scope->__pyx_v_payment_url) < 0) __PYX_ERR(0, 339, __pyx_L21_error) - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 339, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 339, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GIVEREF(__pyx_t_4); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_4)) __PYX_ERR(0, 339, __pyx_L21_error); - __pyx_t_4 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 340, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 340, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_MAIN_MENU); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 340, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_t_12) < 0) __PYX_ERR(0, 340, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_data, __pyx_n_u_profile) < 0) __PYX_ERR(0, 340, __pyx_L21_error) - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 340, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 340, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GIVEREF(__pyx_t_12); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_12)) __PYX_ERR(0, 340, __pyx_L21_error); - __pyx_t_12 = 0; - - __pyx_t_12 = PyList_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 338, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_GIVEREF(__pyx_t_3); - if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 0, __pyx_t_3)) __PYX_ERR(0, 338, __pyx_L21_error); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyList_SET_ITEM(__pyx_t_12, 1, __pyx_t_2)) __PYX_ERR(0, 338, __pyx_L21_error); - __pyx_t_3 = 0; - __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_inline_keyboard, __pyx_t_12) < 0) __PYX_ERR(0, 338, __pyx_L21_error) - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 337, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_t_12); - __pyx_cur_scope->__pyx_v_confirm_keyboard = __pyx_t_12; - __pyx_t_12 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_send_message); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 344, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_12); - - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 344, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_callback_query); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_callback_query); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_cur_scope->__pyx_v_callback_query)) __PYX_ERR(0, 344, __pyx_L21_error); - - __pyx_t_11 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 346, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_text, __pyx_cur_scope->__pyx_v_payment_message) < 0) __PYX_ERR(0, 346, __pyx_L21_error) - - if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_confirm_keyboard) < 0) __PYX_ERR(0, 346, __pyx_L21_error) - - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_1, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 344, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 8; - return __pyx_r; - __pyx_L28_resume_from_await:; - __pyx_t_8 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_10); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 344, __pyx_L21_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 344, __pyx_L21_error) - } - } - - goto __pyx_L27; - } - - /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_send_message); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 350, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_1 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_1)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_1); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_cur_scope->__pyx_v_callback_query, __pyx_kp_u__8}; - __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L21_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 9; - return __pyx_r; - __pyx_L29_resume_from_await:; - __pyx_t_8 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_10); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 350, __pyx_L21_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 350, __pyx_L21_error) - } - } - } - __pyx_L27:; - - } - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - goto __pyx_L26_try_end; - __pyx_L21_error:; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - - __pyx_t_17 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - if (__pyx_t_17) { - __Pyx_AddTraceback("handlers.payments.yookassa_pay.process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_11, &__pyx_t_1) < 0) __PYX_ERR(0, 351, __pyx_L23_except_error) - __Pyx_XGOTREF(__pyx_t_2); - __Pyx_XGOTREF(__pyx_t_11); - __Pyx_XGOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_t_11); - __Pyx_GIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_v_e = __pyx_t_11; - /*try:*/ { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 352, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_error); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 352, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_FormatSimple(__pyx_cur_scope->__pyx_v_e, __pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 352, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_16 = __Pyx_PyUnicode_Concat(__pyx_kp_u__22, __pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 352, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_16); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_3)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_3); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_16}; - __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 352, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_send_message); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 353, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_16 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_4))) { - __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_4); - if (likely(__pyx_t_16)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); - __Pyx_INCREF(__pyx_t_16); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_4, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[3] = {__pyx_t_16, __pyx_cur_scope->__pyx_v_callback_query, __pyx_kp_u__23}; - __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 2+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 353, __pyx_L35_error) - __Pyx_GOTREF(__pyx_t_12); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_12); - __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_1); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_1; - __Pyx_XGIVEREF(__pyx_t_2); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_2; - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_11); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_11; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_SwapException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 10; - return __pyx_r; - __pyx_L37_resume_from_await:; - __pyx_t_1 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_1); - __pyx_t_2 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_2); - __pyx_t_8 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_11 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_11); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 353, __pyx_L35_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 353, __pyx_L35_error) - } - } - } - - /*finally:*/ { - /*normal exit:*/{ - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - goto __pyx_L36; - } - __pyx_L35_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22) < 0)) __Pyx_ErrFetch(&__pyx_t_20, &__pyx_t_21, &__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_20); - __Pyx_XGOTREF(__pyx_t_21); - __Pyx_XGOTREF(__pyx_t_22); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_25); - __pyx_t_17 = __pyx_lineno; __pyx_t_18 = __pyx_clineno; __pyx_t_19 = __pyx_filename; - { - __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_e); - __Pyx_DECREF(__pyx_cur_scope->__pyx_v_e); __pyx_cur_scope->__pyx_v_e = 0; - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_ExceptionReset(__pyx_t_23, __pyx_t_24, __pyx_t_25); - } - __Pyx_XGIVEREF(__pyx_t_20); - __Pyx_XGIVEREF(__pyx_t_21); - __Pyx_XGIVEREF(__pyx_t_22); - __Pyx_ErrRestore(__pyx_t_20, __pyx_t_21, __pyx_t_22); - __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; - __pyx_lineno = __pyx_t_17; __pyx_clineno = __pyx_t_18; __pyx_filename = __pyx_t_19; - goto __pyx_L23_except_error; - } - __pyx_L36:; - } - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - goto __pyx_L22_exception_handled; - } - goto __pyx_L23_except_error; - - __pyx_L23_except_error:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - goto __pyx_L6_error; - __pyx_L22_exception_handled:; - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - __pyx_L26_try_end:; - } - } - - /*finally:*/ { - /*normal exit:*/{ - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_conn, __pyx_n_s_close); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 11; - return __pyx_r; - __pyx_L42_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 355, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 355, __pyx_L1_error) - } - } - goto __pyx_L7; - } - __pyx_L6_error:; - /*exception exit:*/{ - __Pyx_PyThreadState_assign - __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; - __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; - __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_25, &__pyx_t_24, &__pyx_t_23); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8) < 0)) __Pyx_ErrFetch(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_10); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_18 = __pyx_lineno; __pyx_t_17 = __pyx_clineno; __pyx_t_26 = __pyx_filename; - { - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_conn, __pyx_n_s_close); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 355, __pyx_L44_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 355, __pyx_L44_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_10; - __pyx_cur_scope->__pyx_t_6 = __pyx_t_17; - __pyx_cur_scope->__pyx_t_7 = __pyx_t_18; - __Pyx_XGIVEREF(__pyx_t_23); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_23; - __Pyx_XGIVEREF(__pyx_t_24); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_24; - __Pyx_XGIVEREF(__pyx_t_25); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_25; - __pyx_cur_scope->__pyx_t_8 = __pyx_t_26; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 12; - return __pyx_r; - __pyx_L45_resume_from_await:; - __pyx_t_8 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_17 = __pyx_cur_scope->__pyx_t_6; - __pyx_t_18 = __pyx_cur_scope->__pyx_t_7; - __pyx_t_23 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_24 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_24); - __pyx_t_25 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_25); - __pyx_t_26 = __pyx_cur_scope->__pyx_t_8; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 355, __pyx_L44_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 355, __pyx_L44_error) - } - } - } - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_24, __pyx_t_23); - } - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_ErrRestore(__pyx_t_10, __pyx_t_9, __pyx_t_8); - __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; - __pyx_lineno = __pyx_t_18; __pyx_clineno = __pyx_t_17; __pyx_filename = __pyx_t_26; - goto __pyx_L1_error; - __pyx_L44_error:; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_24, __pyx_t_23); - } - __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; - __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; - goto __pyx_L1_error; - } - __pyx_L5_return: { - __Pyx_PyThreadState_assign - __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; - if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); - if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25) < 0)) __Pyx_ErrFetch(&__pyx_t_23, &__pyx_t_24, &__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_23); - __Pyx_XGOTREF(__pyx_t_24); - __Pyx_XGOTREF(__pyx_t_25); - __Pyx_XGOTREF(__pyx_t_8); - __Pyx_XGOTREF(__pyx_t_9); - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_22 = __pyx_r; - __pyx_r = 0; - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_conn, __pyx_n_s_close); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_2 = NULL; - __pyx_t_5 = 0; - #if CYTHON_UNPACK_METHODS - if (likely(PyMethod_Check(__pyx_t_11))) { - __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_11); - if (likely(__pyx_t_2)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); - __Pyx_INCREF(__pyx_t_2); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_11, function); - __pyx_t_5 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL}; - __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5); - __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 355, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - } - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_1); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_t_8); - __pyx_cur_scope->__pyx_t_0 = __pyx_t_8; - __Pyx_XGIVEREF(__pyx_t_9); - __pyx_cur_scope->__pyx_t_1 = __pyx_t_9; - __Pyx_XGIVEREF(__pyx_t_10); - __pyx_cur_scope->__pyx_t_2 = __pyx_t_10; - __Pyx_XGIVEREF(__pyx_t_22); - __pyx_cur_scope->__pyx_t_3 = __pyx_t_22; - __Pyx_XGIVEREF(__pyx_t_23); - __pyx_cur_scope->__pyx_t_4 = __pyx_t_23; - __Pyx_XGIVEREF(__pyx_t_24); - __pyx_cur_scope->__pyx_t_5 = __pyx_t_24; - __Pyx_XGIVEREF(__pyx_t_25); - __pyx_cur_scope->__pyx_t_9 = __pyx_t_25; - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 13; - return __pyx_r; - __pyx_L46_resume_from_await:; - __pyx_t_8 = __pyx_cur_scope->__pyx_t_0; - __pyx_cur_scope->__pyx_t_0 = 0; - __Pyx_XGOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_cur_scope->__pyx_t_1; - __pyx_cur_scope->__pyx_t_1 = 0; - __Pyx_XGOTREF(__pyx_t_9); - __pyx_t_10 = __pyx_cur_scope->__pyx_t_2; - __pyx_cur_scope->__pyx_t_2 = 0; - __Pyx_XGOTREF(__pyx_t_10); - __pyx_t_22 = __pyx_cur_scope->__pyx_t_3; - __pyx_cur_scope->__pyx_t_3 = 0; - __Pyx_XGOTREF(__pyx_t_22); - __pyx_t_23 = __pyx_cur_scope->__pyx_t_4; - __pyx_cur_scope->__pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_t_23); - __pyx_t_24 = __pyx_cur_scope->__pyx_t_5; - __pyx_cur_scope->__pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_t_24); - __pyx_t_25 = __pyx_cur_scope->__pyx_t_9; - __pyx_cur_scope->__pyx_t_9 = 0; - __Pyx_XGOTREF(__pyx_t_25); - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 355, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 355, __pyx_L1_error) - } - } - __pyx_r = __pyx_t_22; - __pyx_t_22 = 0; - if (PY_MAJOR_VERSION >= 3) { - __Pyx_XGIVEREF(__pyx_t_8); - __Pyx_XGIVEREF(__pyx_t_9); - __Pyx_XGIVEREF(__pyx_t_10); - __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); - } - __Pyx_XGIVEREF(__pyx_t_23); - __Pyx_XGIVEREF(__pyx_t_24); - __Pyx_XGIVEREF(__pyx_t_25); - __Pyx_ErrRestore(__pyx_t_23, __pyx_t_24, __pyx_t_25); - __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; - goto __pyx_L0; - } - __pyx_L7:; - } - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_11); - __Pyx_XDECREF(__pyx_t_12); - __Pyx_XDECREF(__pyx_t_15); - __Pyx_XDECREF(__pyx_t_16); - __Pyx_AddTraceback("process_custom_amount_input", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_20generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ - - -/* Python wrapper */ -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_19_send_message(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -); /*proto*/ -PyDoc_STRVAR(__pyx_doc_8handlers_8payments_12yookassa_pay_18_send_message, "\320\243\320\275\320\270\320\262\320\265\321\200\321\201\320\260\320\273\321\214\320\275\320\260\321\217 \321\204\321\203\320\275\320\272\321\206\320\270\321\217 \320\276\321\202\320\277\321\200\320\260\320\262\320\272\320\270 \320\270\320\273\320\270 \321\200\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217 \321\201\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217."); -static PyMethodDef __pyx_mdef_8handlers_8payments_12yookassa_pay_19_send_message = {"_send_message", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_8handlers_8payments_12yookassa_pay_19_send_message, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_8handlers_8payments_12yookassa_pay_18_send_message}; -static PyObject *__pyx_pw_8handlers_8payments_12yookassa_pay_19_send_message(PyObject *__pyx_self, -#if CYTHON_METH_FASTCALL -PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds -#else -PyObject *__pyx_args, PyObject *__pyx_kwds -#endif -) { - PyObject *__pyx_v_target = 0; - PyObject *__pyx_v_text = 0; - PyObject *__pyx_v_reply_markup = 0; - #if !CYTHON_METH_FASTCALL - CYTHON_UNUSED Py_ssize_t __pyx_nargs; - #endif - CYTHON_UNUSED PyObject *const *__pyx_kwvalues; - PyObject* values[3] = {0,0,0}; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - PyObject *__pyx_r = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_send_message (wrapper)", 0); - #if !CYTHON_METH_FASTCALL - #if CYTHON_ASSUME_SAFE_MACROS - __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); - #else - __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; - #endif - #endif - __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); - { - PyObject **__pyx_pyargnames[] = {&__pyx_n_s_target,&__pyx_n_s_text,&__pyx_n_s_reply_markup,0}; - values[2] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)Py_None)); - if (__pyx_kwds) { - Py_ssize_t kw_args; - switch (__pyx_nargs) { - case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - CYTHON_FALLTHROUGH; - case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - CYTHON_FALLTHROUGH; - case 0: break; - default: goto __pyx_L5_argtuple_error; - } - kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); - switch (__pyx_nargs) { - case 0: - if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_target)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[0]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 358, __pyx_L3_error) - else goto __pyx_L5_argtuple_error; - CYTHON_FALLTHROUGH; - case 1: - if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_text)) != 0)) { - (void)__Pyx_Arg_NewRef_FASTCALL(values[1]); - kw_args--; - } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 358, __pyx_L3_error) - else { - __Pyx_RaiseArgtupleInvalid("_send_message", 0, 2, 3, 1); __PYX_ERR(0, 358, __pyx_L3_error) - } - CYTHON_FALLTHROUGH; - case 2: - if (kw_args > 0) { - PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_reply_markup); - if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; } - else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 358, __pyx_L3_error) - } - } - if (unlikely(kw_args > 0)) { - const Py_ssize_t kwd_pos_args = __pyx_nargs; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_send_message") < 0)) __PYX_ERR(0, 358, __pyx_L3_error) - } - } else { - switch (__pyx_nargs) { - case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); - CYTHON_FALLTHROUGH; - case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); - values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); - break; - default: goto __pyx_L5_argtuple_error; - } - } - __pyx_v_target = values[0]; - __pyx_v_text = ((PyObject*)values[1]); - __pyx_v_reply_markup = values[2]; - } - goto __pyx_L6_skip; - __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("_send_message", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 358, __pyx_L3_error) - __pyx_L6_skip:; - goto __pyx_L4_argument_unpacking_done; - __pyx_L3_error:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_AddTraceback("handlers.payments.yookassa_pay._send_message", __pyx_clineno, __pyx_lineno, __pyx_filename); - __Pyx_RefNannyFinishContext(); - return NULL; - __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_text), (&PyUnicode_Type), 0, "text", 1))) __PYX_ERR(0, 358, __pyx_L1_error) - __pyx_r = __pyx_pf_8handlers_8payments_12yookassa_pay_18_send_message(__pyx_self, __pyx_v_target, __pyx_v_text, __pyx_v_reply_markup); - - /* function exit code */ - goto __pyx_L0; - __pyx_L1_error:; - __pyx_r = NULL; - __pyx_L0:; - { - Py_ssize_t __pyx_temp; - for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { - __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]); - } - } - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_pf_8handlers_8payments_12yookassa_pay_18_send_message(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_text, PyObject *__pyx_v_reply_markup) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message *__pyx_cur_scope; - PyObject *__pyx_r = NULL; - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("_send_message", 0); - __pyx_cur_scope = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message, __pyx_empty_tuple, NULL); - if (unlikely(!__pyx_cur_scope)) { - __pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message *)Py_None); - __Pyx_INCREF(Py_None); - __PYX_ERR(0, 358, __pyx_L1_error) - } else { - __Pyx_GOTREF((PyObject *)__pyx_cur_scope); - } - __pyx_cur_scope->__pyx_v_target = __pyx_v_target; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_target); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_target); - __pyx_cur_scope->__pyx_v_text = __pyx_v_text; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_text); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_text); - __pyx_cur_scope->__pyx_v_reply_markup = __pyx_v_reply_markup; - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_reply_markup); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_reply_markup); - { - __pyx_CoroutineObject *gen = __Pyx_Coroutine_New((__pyx_coroutine_body_t) __pyx_gb_8handlers_8payments_12yookassa_pay_20generator6, __pyx_codeobj__24, (PyObject *) __pyx_cur_scope, __pyx_n_s_send_message, __pyx_n_s_send_message, __pyx_n_s_handlers_payments_yookassa_pay); if (unlikely(!gen)) __PYX_ERR(0, 358, __pyx_L1_error) - __Pyx_DECREF(__pyx_cur_scope); - __Pyx_RefNannyFinishContext(); - return (PyObject *) gen; - } - - /* function exit code */ - __pyx_L1_error:; - __Pyx_AddTraceback("handlers.payments.yookassa_pay._send_message", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_r = NULL; - __Pyx_DECREF((PyObject *)__pyx_cur_scope); - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -static PyObject *__pyx_gb_8handlers_8payments_12yookassa_pay_20generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */ -{ - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message *__pyx_cur_scope = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message *)__pyx_generator->closure); - PyObject *__pyx_r = NULL; - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - int __pyx_t_3; - PyObject *__pyx_t_4 = NULL; - PyObject *__pyx_t_5 = NULL; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("_send_message", 0); - switch (__pyx_generator->resume_label) { - case 0: goto __pyx_L3_first_run; - case 1: goto __pyx_L5_resume_from_await; - case 2: goto __pyx_L6_resume_from_await; - default: /* CPython raises the right error here */ - __Pyx_RefNannyFinishContext(); - return NULL; - } - __pyx_L3_first_run:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 358, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_types); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_CallbackQuery); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 360, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v_target, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 360, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_t_3) { - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - - __pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 362, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_target, __pyx_n_s_message); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 362, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_target_message, __pyx_t_4) < 0) __PYX_ERR(0, 362, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_text, __pyx_cur_scope->__pyx_v_text) < 0) __PYX_ERR(0, 362, __pyx_L1_error) - - if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_reply_markup) < 0) __PYX_ERR(0, 362, __pyx_L1_error) - - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 361, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_4); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 1; - return __pyx_r; - __pyx_L5_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 361, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 361, __pyx_L1_error) - } - } - - goto __pyx_L4; - } - - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_types); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_Message); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 366, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_3 = PyObject_IsInstance(__pyx_cur_scope->__pyx_v_target, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 366, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_3) { - - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_target, __pyx_n_s_answer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_INCREF(__pyx_cur_scope->__pyx_v_text); - __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_text); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_cur_scope->__pyx_v_text)) __PYX_ERR(0, 367, __pyx_L1_error); - __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_reply_markup, __pyx_cur_scope->__pyx_v_reply_markup) < 0) __PYX_ERR(0, 367, __pyx_L1_error) - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 367, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __Pyx_Coroutine_Yield_From(__pyx_generator, __pyx_t_5); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_XGOTREF(__pyx_r); - if (likely(__pyx_r)) { - __Pyx_XGIVEREF(__pyx_r); - __Pyx_RefNannyFinishContext(); - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - /* return from generator, awaiting value */ - __pyx_generator->resume_label = 2; - return __pyx_r; - __pyx_L6_resume_from_await:; - if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 367, __pyx_L1_error) - } else { - PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); - if (exc_type) { - if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear(); - else __PYX_ERR(0, 367, __pyx_L1_error) - } - } - - } - __pyx_L4:; - CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); - - - /* function exit code */ - PyErr_SetNone(PyExc_StopIteration); - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_Generator_Replace_StopIteration(0); - __Pyx_XDECREF(__pyx_t_1); - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_4); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_AddTraceback("_send_message", __pyx_clineno, __pyx_lineno, __pyx_filename); - __pyx_L0:; - __Pyx_XDECREF(__pyx_r); __pyx_r = 0; - #if !CYTHON_USE_EXC_INFO_STACK - __Pyx_Coroutine_ResetAndClearException(__pyx_generator); - #endif - __pyx_generator->resume_label = -1; - __Pyx_Coroutine_clear((PyObject*)__pyx_generator); - __Pyx_RefNannyFinishContext(); - return __pyx_r; -} - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa[8]; -static int __pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa[--__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_exists); - Py_CLEAR(p->__pyx_v_expected_hash); - Py_CLEAR(p->__pyx_v_i); - Py_CLEAR(p->__pyx_v_key_count); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_v_state); - Py_CLEAR(p->__pyx_v_tg_id); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa)))) { - __pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa[__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa++] = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_exists) { - e = (*v)(p->__pyx_v_exists, a); if (e) return e; - } - if (p->__pyx_v_i) { - e = (*v)(p->__pyx_v_i, a); if (e) return e; - } - if (p->__pyx_v_key_count) { - e = (*v)(p->__pyx_v_key_count, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - if (p->__pyx_v_tg_id) { - e = (*v)(p->__pyx_v_tg_id, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa_spec = { - "handlers.payments.yookassa_pay.__pyx_scope_struct__process_callback_pay_yookassa", - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yookassa_pay.""__pyx_scope_struct__process_callback_pay_yookassa", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection[8]; -static int __pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection[--__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_amount); - Py_CLEAR(p->__pyx_v_amount_str); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_confirm_keyboard); - Py_CLEAR(p->__pyx_v_customer_email); - Py_CLEAR(p->__pyx_v_customer_name); - Py_CLEAR(p->__pyx_v_data); - Py_CLEAR(p->__pyx_v_payment); - Py_CLEAR(p->__pyx_v_payment_message); - Py_CLEAR(p->__pyx_v_payment_url); - Py_CLEAR(p->__pyx_v_state); - Py_CLEAR(p->__pyx_v_tg_id); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection)))) { - __pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection[__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection++] = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection *)o; - if (p->__pyx_v_amount) { - e = (*v)(p->__pyx_v_amount, a); if (e) return e; - } - if (p->__pyx_v_amount_str) { - e = (*v)(p->__pyx_v_amount_str, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_confirm_keyboard) { - e = (*v)(p->__pyx_v_confirm_keyboard, a); if (e) return e; - } - if (p->__pyx_v_customer_name) { - e = (*v)(p->__pyx_v_customer_name, a); if (e) return e; - } - if (p->__pyx_v_data) { - e = (*v)(p->__pyx_v_data, a); if (e) return e; - } - if (p->__pyx_v_payment) { - e = (*v)(p->__pyx_v_payment, a); if (e) return e; - } - if (p->__pyx_v_payment_message) { - e = (*v)(p->__pyx_v_payment_message, a); if (e) return e; - } - if (p->__pyx_v_payment_url) { - e = (*v)(p->__pyx_v_payment_url, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - if (p->__pyx_v_tg_id) { - e = (*v)(p->__pyx_v_tg_id, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection_spec = { - "handlers.payments.yookassa_pay.__pyx_scope_struct_1_process_amount_selection", - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yookassa_pay.""__pyx_scope_struct_1_process_amount_selection", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook[8]; -static int __pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook[--__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_amount_str); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_event); - Py_CLEAR(p->__pyx_v_payment); - Py_CLEAR(p->__pyx_v_payment_id); - Py_CLEAR(p->__pyx_v_payment_object); - Py_CLEAR(p->__pyx_v_request); - Py_CLEAR(p->__pyx_v_response); - Py_CLEAR(p->__pyx_v_user_id); - Py_CLEAR(p->__pyx_v_user_id_str); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook)))) { - __pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook[__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook++] = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook *)o; - if (p->__pyx_v_amount_str) { - e = (*v)(p->__pyx_v_amount_str, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_event) { - e = (*v)(p->__pyx_v_event, a); if (e) return e; - } - if (p->__pyx_v_payment) { - e = (*v)(p->__pyx_v_payment, a); if (e) return e; - } - if (p->__pyx_v_payment_id) { - e = (*v)(p->__pyx_v_payment_id, a); if (e) return e; - } - if (p->__pyx_v_payment_object) { - e = (*v)(p->__pyx_v_payment_object, a); if (e) return e; - } - if (p->__pyx_v_request) { - e = (*v)(p->__pyx_v_request, a); if (e) return e; - } - if (p->__pyx_v_response) { - e = (*v)(p->__pyx_v_response, a); if (e) return e; - } - if (p->__pyx_v_user_id) { - e = (*v)(p->__pyx_v_user_id, a); if (e) return e; - } - if (p->__pyx_v_user_id_str) { - e = (*v)(p->__pyx_v_user_id_str, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook_spec = { - "handlers.payments.yookassa_pay.__pyx_scope_struct_2_yookassa_webhook", - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yookassa_pay.""__pyx_scope_struct_2_yookassa_webhook", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment *__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment[8]; -static int __pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment[--__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_amount); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_user_id); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment)))) { - __pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment[__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment++] = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment *)o; - if (p->__pyx_v_amount) { - e = (*v)(p->__pyx_v_amount, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_user_id) { - e = (*v)(p->__pyx_v_user_id, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment_spec = { - "handlers.payments.yookassa_pay.__pyx_scope_struct_3_process_successful_payment", - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yookassa_pay.""__pyx_scope_struct_3_process_successful_payment", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount *__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount[8]; -static int __pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount[--__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_builder); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_state); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount)))) { - __pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount[__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount++] = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount *)o; - if (p->__pyx_v_builder) { - e = (*v)(p->__pyx_v_builder, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_state) { - e = (*v)(p->__pyx_v_state, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount_spec = { - "handlers.payments.yookassa_pay.__pyx_scope_struct_4_process_enter_custom_amount", - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yookassa_pay.""__pyx_scope_struct_4_process_enter_custom_amount", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input *__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input[8]; -static int __pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input[--__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_amount); - Py_CLEAR(p->__pyx_v_callback_query); - Py_CLEAR(p->__pyx_v_confirm_keyboard); - Py_CLEAR(p->__pyx_v_conn); - Py_CLEAR(p->__pyx_v_e); - Py_CLEAR(p->__pyx_v_payment); - Py_CLEAR(p->__pyx_v_payment_message); - Py_CLEAR(p->__pyx_v_payment_url); - Py_CLEAR(p->__pyx_v_session); - Py_CLEAR(p->__pyx_v_state_type); - Py_CLEAR(p->__pyx_v_tg_id); - Py_CLEAR(p->__pyx_v_user_data); - Py_CLEAR(p->__pyx_t_0); - Py_CLEAR(p->__pyx_t_1); - Py_CLEAR(p->__pyx_t_2); - Py_CLEAR(p->__pyx_t_3); - Py_CLEAR(p->__pyx_t_4); - Py_CLEAR(p->__pyx_t_5); - Py_CLEAR(p->__pyx_t_9); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input)))) { - __pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input[__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input++] = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input *)o; - if (p->__pyx_v_amount) { - e = (*v)(p->__pyx_v_amount, a); if (e) return e; - } - if (p->__pyx_v_callback_query) { - e = (*v)(p->__pyx_v_callback_query, a); if (e) return e; - } - if (p->__pyx_v_confirm_keyboard) { - e = (*v)(p->__pyx_v_confirm_keyboard, a); if (e) return e; - } - if (p->__pyx_v_conn) { - e = (*v)(p->__pyx_v_conn, a); if (e) return e; - } - if (p->__pyx_v_e) { - e = (*v)(p->__pyx_v_e, a); if (e) return e; - } - if (p->__pyx_v_payment) { - e = (*v)(p->__pyx_v_payment, a); if (e) return e; - } - if (p->__pyx_v_payment_message) { - e = (*v)(p->__pyx_v_payment_message, a); if (e) return e; - } - if (p->__pyx_v_payment_url) { - e = (*v)(p->__pyx_v_payment_url, a); if (e) return e; - } - if (p->__pyx_v_session) { - e = (*v)(p->__pyx_v_session, a); if (e) return e; - } - if (p->__pyx_v_state_type) { - e = (*v)(p->__pyx_v_state_type, a); if (e) return e; - } - if (p->__pyx_v_tg_id) { - e = (*v)(p->__pyx_v_tg_id, a); if (e) return e; - } - if (p->__pyx_v_user_data) { - e = (*v)(p->__pyx_v_user_data, a); if (e) return e; - } - if (p->__pyx_t_0) { - e = (*v)(p->__pyx_t_0, a); if (e) return e; - } - if (p->__pyx_t_1) { - e = (*v)(p->__pyx_t_1, a); if (e) return e; - } - if (p->__pyx_t_2) { - e = (*v)(p->__pyx_t_2, a); if (e) return e; - } - if (p->__pyx_t_3) { - e = (*v)(p->__pyx_t_3, a); if (e) return e; - } - if (p->__pyx_t_4) { - e = (*v)(p->__pyx_t_4, a); if (e) return e; - } - if (p->__pyx_t_5) { - e = (*v)(p->__pyx_t_5, a); if (e) return e; - } - if (p->__pyx_t_9) { - e = (*v)(p->__pyx_t_9, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input_spec = { - "handlers.payments.yookassa_pay.__pyx_scope_struct_5_process_custom_amount_input", - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yookassa_pay.""__pyx_scope_struct_5_process_custom_amount_input", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -#if CYTHON_USE_FREELISTS -static struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message *__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message[8]; -static int __pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message = 0; -#endif - -static PyObject *__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { - PyObject *o; - #if CYTHON_COMPILING_IN_LIMITED_API - allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc); - o = alloc_func(t, 0); - #else - #if CYTHON_USE_FREELISTS - if (likely((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message)))) { - o = (PyObject*)__pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message[--__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message]; - memset(o, 0, sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message)); - (void) PyObject_INIT(o, t); - PyObject_GC_Track(o); - } else - #endif - { - o = (*t->tp_alloc)(t, 0); - if (unlikely(!o)) return 0; - } - #endif - return o; -} - -static void __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message(PyObject *o) { - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message *)o; - #if CYTHON_USE_TP_FINALIZE - if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) { - if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message) { - if (PyObject_CallFinalizerFromDealloc(o)) return; - } - } - #endif - PyObject_GC_UnTrack(o); - Py_CLEAR(p->__pyx_v_reply_markup); - Py_CLEAR(p->__pyx_v_target); - Py_CLEAR(p->__pyx_v_text); - #if CYTHON_USE_FREELISTS - if (((int)(__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message)))) { - __pyx_freelist_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message[__pyx_freecount_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message++] = ((struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message *)o); - } else - #endif - { - #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - (*Py_TYPE(o)->tp_free)(o); - #else - { - freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free); - if (tp_free) tp_free(o); - } - #endif - } -} - -static int __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message(PyObject *o, visitproc v, void *a) { - int e; - struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message *p = (struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message *)o; - if (p->__pyx_v_reply_markup) { - e = (*v)(p->__pyx_v_reply_markup, a); if (e) return e; - } - if (p->__pyx_v_target) { - e = (*v)(p->__pyx_v_target, a); if (e) return e; - } - return 0; -} -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message_slots[] = { - {Py_tp_dealloc, (void *)__pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message}, - {Py_tp_traverse, (void *)__pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message}, - {Py_tp_new, (void *)__pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message}, - {0, 0}, -}; -static PyType_Spec __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message_spec = { - "handlers.payments.yookassa_pay.__pyx_scope_struct_6__send_message", - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message), - 0, - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, - __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message_slots, -}; -#else - -static PyTypeObject __pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message = { - PyVarObject_HEAD_INIT(0, 0) - "handlers.payments.yookassa_pay.""__pyx_scope_struct_6__send_message", /*tp_name*/ - sizeof(struct __pyx_obj_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - __pyx_tp_dealloc_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message, /*tp_dealloc*/ - #if PY_VERSION_HEX < 0x030800b4 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030800b4 - 0, /*tp_vectorcall_offset*/ - #endif - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - #if PY_MAJOR_VERSION < 3 - 0, /*tp_compare*/ - #endif - #if PY_MAJOR_VERSION >= 3 - 0, /*tp_as_async*/ - #endif - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash*/ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/ - 0, /*tp_doc*/ - __pyx_tp_traverse_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message, /*tp_traverse*/ - 0, /*tp_clear*/ - 0, /*tp_richcompare*/ - 0, /*tp_weaklistoffset*/ - 0, /*tp_iter*/ - 0, /*tp_iternext*/ - 0, /*tp_methods*/ - 0, /*tp_members*/ - 0, /*tp_getset*/ - 0, /*tp_base*/ - 0, /*tp_dict*/ - 0, /*tp_descr_get*/ - 0, /*tp_descr_set*/ - #if !CYTHON_USE_TYPE_SPECS - 0, /*tp_dictoffset*/ - #endif - 0, /*tp_init*/ - 0, /*tp_alloc*/ - __pyx_tp_new_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message, /*tp_new*/ - 0, /*tp_free*/ - 0, /*tp_is_gc*/ - 0, /*tp_bases*/ - 0, /*tp_mro*/ - 0, /*tp_cache*/ - 0, /*tp_subclasses*/ - 0, /*tp_weaklist*/ - 0, /*tp_del*/ - 0, /*tp_version_tag*/ - #if PY_VERSION_HEX >= 0x030400a1 - #if CYTHON_USE_TP_FINALIZE - 0, /*tp_finalize*/ - #else - NULL, /*tp_finalize*/ - #endif - #endif - #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, /*tp_vectorcall*/ - #endif - #if __PYX_NEED_TP_PRINT_SLOT == 1 - 0, /*tp_print*/ - #endif - #if PY_VERSION_HEX >= 0x030C0000 - 0, /*tp_watched*/ - #endif - #if PY_VERSION_HEX >= 0x030d00A4 - 0, /*tp_versions_used*/ - #endif - #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, /*tp_pypy_flags*/ - #endif -}; -#endif - -static PyMethodDef __pyx_methods[] = { - {0, 0, 0, 0} -}; -#ifndef CYTHON_SMALL_CODE -#if defined(__clang__) - #define CYTHON_SMALL_CODE -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) - #define CYTHON_SMALL_CODE __attribute__((cold)) -#else - #define CYTHON_SMALL_CODE -#endif -#endif -/* #### Code section: pystring_table ### */ - -static int __Pyx_CreateStringTabAndInitStrings(void) { - __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_u_1_00, __pyx_k_1_00, sizeof(__pyx_k_1_00), 0, 1, 0, 0}, - {&__pyx_kp_u_79000000000, __pyx_k_79000000000, sizeof(__pyx_k_79000000000), 0, 1, 0, 0}, - {&__pyx_n_s_AMOUNT_TEXT, __pyx_k_AMOUNT_TEXT, sizeof(__pyx_k_AMOUNT_TEXT), 0, 0, 1, 1}, - {&__pyx_kp_u_API_Yookassa, __pyx_k_API_Yookassa, sizeof(__pyx_k_API_Yookassa), 0, 1, 0, 0}, - {&__pyx_kp_u_Account_ID, __pyx_k_Account_ID, sizeof(__pyx_k_Account_ID), 0, 1, 0, 0}, - {&__pyx_n_s_Any, __pyx_k_Any, sizeof(__pyx_k_Any), 0, 0, 1, 1}, - {&__pyx_n_s_BACK, __pyx_k_BACK, sizeof(__pyx_k_BACK), 0, 0, 1, 1}, - {&__pyx_n_s_CUSTOM_AMOUNT, __pyx_k_CUSTOM_AMOUNT, sizeof(__pyx_k_CUSTOM_AMOUNT), 0, 0, 1, 1}, - {&__pyx_n_s_CallbackQuery, __pyx_k_CallbackQuery, sizeof(__pyx_k_CallbackQuery), 0, 0, 1, 1}, - {&__pyx_n_s_Configuration, __pyx_k_Configuration, sizeof(__pyx_k_Configuration), 0, 0, 1, 1}, - {&__pyx_n_s_DATABASE_URL, __pyx_k_DATABASE_URL, sizeof(__pyx_k_DATABASE_URL), 0, 0, 1, 1}, - {&__pyx_n_s_DEFAULT_PAYMENT_MESSAGE, __pyx_k_DEFAULT_PAYMENT_MESSAGE, sizeof(__pyx_k_DEFAULT_PAYMENT_MESSAGE), 0, 0, 1, 1}, - {&__pyx_n_s_EMAIL, __pyx_k_EMAIL, sizeof(__pyx_k_EMAIL), 0, 0, 1, 1}, - {&__pyx_n_s_ENTER_SUM, __pyx_k_ENTER_SUM, sizeof(__pyx_k_ENTER_SUM), 0, 0, 1, 1}, - {&__pyx_n_s_F, __pyx_k_F, sizeof(__pyx_k_F), 0, 0, 1, 1}, - {&__pyx_n_s_FSMContext, __pyx_k_FSMContext, sizeof(__pyx_k_FSMContext), 0, 0, 1, 1}, - {&__pyx_n_u_HASHHASHYOOKASSA, __pyx_k_HASHHASHYOOKASSA, sizeof(__pyx_k_HASHHASHYOOKASSA), 0, 1, 0, 1}, - {&__pyx_kp_u_ID, __pyx_k_ID, sizeof(__pyx_k_ID), 0, 1, 0, 0}, - {&__pyx_kp_u_ID_2, __pyx_k_ID_2, sizeof(__pyx_k_ID_2), 0, 1, 0, 0}, - {&__pyx_n_s_InlineKeyboardBuilder, __pyx_k_InlineKeyboardBuilder, sizeof(__pyx_k_InlineKeyboardBuilder), 0, 0, 1, 1}, - {&__pyx_n_s_InlineKeyboardButton, __pyx_k_InlineKeyboardButton, sizeof(__pyx_k_InlineKeyboardButton), 0, 0, 1, 1}, - {&__pyx_n_s_InlineKeyboardMarkup, __pyx_k_InlineKeyboardMarkup, sizeof(__pyx_k_InlineKeyboardMarkup), 0, 0, 1, 1}, - {&__pyx_n_s_MAIN_MENU, __pyx_k_MAIN_MENU, sizeof(__pyx_k_MAIN_MENU), 0, 0, 1, 1}, - {&__pyx_n_s_MAIN_SECRET, __pyx_k_MAIN_SECRET, sizeof(__pyx_k_MAIN_SECRET), 0, 0, 1, 1}, - {&__pyx_n_s_Message, __pyx_k_Message, sizeof(__pyx_k_Message), 0, 0, 1, 1}, - {&__pyx_n_s_PAY, __pyx_k_PAY, sizeof(__pyx_k_PAY), 0, 0, 1, 1}, - {&__pyx_n_s_PAYMENT_OPTIONS, __pyx_k_PAYMENT_OPTIONS, sizeof(__pyx_k_PAYMENT_OPTIONS), 0, 0, 1, 1}, - {&__pyx_n_s_PAY_2, __pyx_k_PAY_2, sizeof(__pyx_k_PAY_2), 0, 0, 1, 1}, - {&__pyx_kp_u_PROJECT_06_01_09_LICENSION, __pyx_k_PROJECT_06_01_09_LICENSION, sizeof(__pyx_k_PROJECT_06_01_09_LICENSION), 0, 1, 0, 0}, - {&__pyx_n_s_Payment, __pyx_k_Payment, sizeof(__pyx_k_Payment), 0, 0, 1, 1}, - {&__pyx_kp_u_Payment_succeeded_for_user_id, __pyx_k_Payment_succeeded_for_user_id, sizeof(__pyx_k_Payment_succeeded_for_user_id), 0, 1, 0, 0}, - {&__pyx_n_s_REDIRECT_LINK, __pyx_k_REDIRECT_LINK, sizeof(__pyx_k_REDIRECT_LINK), 0, 0, 1, 1}, - {&__pyx_n_u_RUB, __pyx_k_RUB, sizeof(__pyx_k_RUB), 0, 1, 0, 1}, - {&__pyx_n_s_ReplenishBalanceState, __pyx_k_ReplenishBalanceState, sizeof(__pyx_k_ReplenishBalanceState), 0, 0, 1, 1}, - {&__pyx_n_s_Response, __pyx_k_Response, sizeof(__pyx_k_Response), 0, 0, 1, 1}, - {&__pyx_n_s_Router, __pyx_k_Router, sizeof(__pyx_k_Router), 0, 0, 1, 1}, - {&__pyx_n_s_SERVICE_NAME, __pyx_k_SERVICE_NAME, sizeof(__pyx_k_SERVICE_NAME), 0, 0, 1, 1}, - {&__pyx_kp_u_Secret_Key, __pyx_k_Secret_Key, sizeof(__pyx_k_Secret_Key), 0, 1, 0, 0}, - {&__pyx_n_s_State, __pyx_k_State, sizeof(__pyx_k_State), 0, 0, 1, 1}, - {&__pyx_n_s_StatesGroup, __pyx_k_StatesGroup, sizeof(__pyx_k_StatesGroup), 0, 0, 1, 1}, - {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, - {&__pyx_kp_u_Webhook_event_received, __pyx_k_Webhook_event_received, sizeof(__pyx_k_Webhook_event_received), 0, 1, 0, 0}, - {&__pyx_n_s_YOOKASSA_ENABLE, __pyx_k_YOOKASSA_ENABLE, sizeof(__pyx_k_YOOKASSA_ENABLE), 0, 0, 1, 1}, - {&__pyx_n_s_YOOKASSA_HASH, __pyx_k_YOOKASSA_HASH, sizeof(__pyx_k_YOOKASSA_HASH), 0, 0, 1, 1}, - {&__pyx_n_s_YOOKASSA_SECRET_KEY, __pyx_k_YOOKASSA_SECRET_KEY, sizeof(__pyx_k_YOOKASSA_SECRET_KEY), 0, 0, 1, 1}, - {&__pyx_n_s_YOOKASSA_SHOP_ID, __pyx_k_YOOKASSA_SHOP_ID, sizeof(__pyx_k_YOOKASSA_SHOP_ID), 0, 0, 1, 1}, - {&__pyx_kp_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0}, - {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0}, - {&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0}, - {&__pyx_kp_u__14, __pyx_k__14, sizeof(__pyx_k__14), 0, 1, 0, 0}, - {&__pyx_kp_u__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 1, 0, 0}, - {&__pyx_kp_u__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 1, 0, 0}, - {&__pyx_kp_u__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0, 0}, - {&__pyx_kp_u__20, __pyx_k__20, sizeof(__pyx_k__20), 0, 1, 0, 0}, - {&__pyx_kp_u__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 1, 0, 0}, - {&__pyx_kp_u__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 1, 0, 0}, - {&__pyx_kp_u__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 1, 0, 0}, - {&__pyx_n_s__25, __pyx_k__25, sizeof(__pyx_k__25), 0, 0, 1, 1}, - {&__pyx_kp_u__26, __pyx_k__26, sizeof(__pyx_k__26), 0, 1, 0, 0}, - {&__pyx_n_s__36, __pyx_k__36, sizeof(__pyx_k__36), 0, 0, 1, 1}, - {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0}, - {&__pyx_kp_u__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 1, 0, 0}, - {&__pyx_kp_u__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 1, 0, 0}, - {&__pyx_kp_u__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 1, 0, 0}, - {&__pyx_n_s_account_id, __pyx_k_account_id, sizeof(__pyx_k_account_id), 0, 0, 1, 1}, - {&__pyx_n_s_add_connection, __pyx_k_add_connection, sizeof(__pyx_k_add_connection), 0, 0, 1, 1}, - {&__pyx_n_s_add_payment, __pyx_k_add_payment, sizeof(__pyx_k_add_payment), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram, __pyx_k_aiogram, sizeof(__pyx_k_aiogram), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_fsm_context, __pyx_k_aiogram_fsm_context, sizeof(__pyx_k_aiogram_fsm_context), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_fsm_state, __pyx_k_aiogram_fsm_state, sizeof(__pyx_k_aiogram_fsm_state), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_types, __pyx_k_aiogram_types, sizeof(__pyx_k_aiogram_types), 0, 0, 1, 1}, - {&__pyx_n_s_aiogram_utils_keyboard, __pyx_k_aiogram_utils_keyboard, sizeof(__pyx_k_aiogram_utils_keyboard), 0, 0, 1, 1}, - {&__pyx_n_s_aiohttp, __pyx_k_aiohttp, sizeof(__pyx_k_aiohttp), 0, 0, 1, 1}, - {&__pyx_n_s_amount, __pyx_k_amount, sizeof(__pyx_k_amount), 0, 0, 1, 1}, - {&__pyx_n_u_amount, __pyx_k_amount, sizeof(__pyx_k_amount), 0, 1, 0, 1}, - {&__pyx_kp_u_amount_2, __pyx_k_amount_2, sizeof(__pyx_k_amount_2), 0, 1, 0, 0}, - {&__pyx_n_s_amount_str, __pyx_k_amount_str, sizeof(__pyx_k_amount_str), 0, 0, 1, 1}, - {&__pyx_n_s_answer, __pyx_k_answer, sizeof(__pyx_k_answer), 0, 0, 1, 1}, - {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1}, - {&__pyx_n_s_as_markup, __pyx_k_as_markup, sizeof(__pyx_k_as_markup), 0, 0, 1, 1}, - {&__pyx_n_s_asyncio, __pyx_k_asyncio, sizeof(__pyx_k_asyncio), 0, 0, 1, 1}, - {&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1}, - {&__pyx_n_s_asyncio_tasks, __pyx_k_asyncio_tasks, sizeof(__pyx_k_asyncio_tasks), 0, 0, 1, 1}, - {&__pyx_n_s_asyncpg, __pyx_k_asyncpg, sizeof(__pyx_k_asyncpg), 0, 0, 1, 1}, - {&__pyx_n_s_await, __pyx_k_await, sizeof(__pyx_k_await), 0, 0, 1, 1}, - {&__pyx_n_s_balance, __pyx_k_balance, sizeof(__pyx_k_balance), 0, 0, 1, 1}, - {&__pyx_n_s_builder, __pyx_k_builder, sizeof(__pyx_k_builder), 0, 0, 1, 1}, - {&__pyx_n_s_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 0, 1, 1}, - {&__pyx_n_u_callback_data, __pyx_k_callback_data, sizeof(__pyx_k_callback_data), 0, 1, 0, 1}, - {&__pyx_n_s_callback_query, __pyx_k_callback_query, sizeof(__pyx_k_callback_query), 0, 0, 1, 1}, - {&__pyx_n_u_capture, __pyx_k_capture, sizeof(__pyx_k_capture), 0, 1, 0, 1}, - {&__pyx_n_s_chat, __pyx_k_chat, sizeof(__pyx_k_chat), 0, 0, 1, 1}, - {&__pyx_n_s_check_connection_exists, __pyx_k_check_connection_exists, sizeof(__pyx_k_check_connection_exists), 0, 0, 1, 1}, - {&__pyx_n_s_choosing_amount_yookassa, __pyx_k_choosing_amount_yookassa, sizeof(__pyx_k_choosing_amount_yookassa), 0, 0, 1, 1}, - {&__pyx_n_s_class_getitem, __pyx_k_class_getitem, sizeof(__pyx_k_class_getitem), 0, 0, 1, 1}, - {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, - {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1}, - {&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1}, - {&__pyx_n_s_confirm_keyboard, __pyx_k_confirm_keyboard, sizeof(__pyx_k_confirm_keyboard), 0, 0, 1, 1}, - {&__pyx_n_u_confirmation, __pyx_k_confirmation, sizeof(__pyx_k_confirmation), 0, 1, 0, 1}, - {&__pyx_n_u_confirmation_url, __pyx_k_confirmation_url, sizeof(__pyx_k_confirmation_url), 0, 1, 0, 1}, - {&__pyx_n_s_conn, __pyx_k_conn, sizeof(__pyx_k_conn), 0, 0, 1, 1}, - {&__pyx_n_s_connect, __pyx_k_connect, sizeof(__pyx_k_connect), 0, 0, 1, 1}, - {&__pyx_n_s_create, __pyx_k_create, sizeof(__pyx_k_create), 0, 0, 1, 1}, - {&__pyx_n_s_create_task, __pyx_k_create_task, sizeof(__pyx_k_create_task), 0, 0, 1, 1}, - {&__pyx_n_u_currency, __pyx_k_currency, sizeof(__pyx_k_currency), 0, 1, 0, 1}, - {&__pyx_n_u_customer, __pyx_k_customer, sizeof(__pyx_k_customer), 0, 1, 0, 1}, - {&__pyx_n_s_customer_email, __pyx_k_customer_email, sizeof(__pyx_k_customer_email), 0, 0, 1, 1}, - {&__pyx_n_s_customer_name, __pyx_k_customer_name, sizeof(__pyx_k_customer_name), 0, 0, 1, 1}, - {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, - {&__pyx_n_u_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 1, 0, 1}, - {&__pyx_n_s_database, __pyx_k_database, sizeof(__pyx_k_database), 0, 0, 1, 1}, - {&__pyx_n_s_debug, __pyx_k_debug, sizeof(__pyx_k_debug), 0, 0, 1, 1}, - {&__pyx_n_u_description, __pyx_k_description, sizeof(__pyx_k_description), 0, 1, 0, 1}, - {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, - {&__pyx_kp_u_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0, 0}, - {&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1}, - {&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1}, - {&__pyx_n_s_edit_or_send_message, __pyx_k_edit_or_send_message, sizeof(__pyx_k_edit_or_send_message), 0, 0, 1, 1}, - {&__pyx_n_u_email, __pyx_k_email, sizeof(__pyx_k_email), 0, 1, 0, 1}, - {&__pyx_kp_u_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0, 0}, - {&__pyx_n_u_enter_custom_amount_yookassa, __pyx_k_enter_custom_amount_yookassa, sizeof(__pyx_k_enter_custom_amount_yookassa), 0, 1, 0, 1}, - {&__pyx_n_s_entering_custom_amount_yookassa, __pyx_k_entering_custom_amount_yookassa, sizeof(__pyx_k_entering_custom_amount_yookassa), 0, 0, 1, 1}, - {&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1}, - {&__pyx_n_s_event, __pyx_k_event, sizeof(__pyx_k_event), 0, 0, 1, 1}, - {&__pyx_n_s_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 0, 0, 1, 1}, - {&__pyx_n_s_expected_hash, __pyx_k_expected_hash, sizeof(__pyx_k_expected_hash), 0, 0, 1, 1}, - {&__pyx_n_s_find_one, __pyx_k_find_one, sizeof(__pyx_k_find_one), 0, 0, 1, 1}, - {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1}, - {&__pyx_n_s_from_user, __pyx_k_from_user, sizeof(__pyx_k_from_user), 0, 0, 1, 1}, - {&__pyx_n_s_full_name, __pyx_k_full_name, sizeof(__pyx_k_full_name), 0, 0, 1, 1}, - {&__pyx_n_u_full_name, __pyx_k_full_name, sizeof(__pyx_k_full_name), 0, 1, 0, 1}, - {&__pyx_n_u_full_payment, __pyx_k_full_payment, sizeof(__pyx_k_full_payment), 0, 1, 0, 1}, - {&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0}, - {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1}, - {&__pyx_n_s_get_key_count, __pyx_k_get_key_count, sizeof(__pyx_k_get_key_count), 0, 0, 1, 1}, - {&__pyx_n_s_get_temporary_data, __pyx_k_get_temporary_data, sizeof(__pyx_k_get_temporary_data), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_buttons, __pyx_k_handlers_buttons, sizeof(__pyx_k_handlers_buttons), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_gift, __pyx_k_handlers_payments_gift, sizeof(__pyx_k_handlers_payments_gift), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_utils, __pyx_k_handlers_payments_utils, sizeof(__pyx_k_handlers_payments_utils), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_payments_yookassa_pay, __pyx_k_handlers_payments_yookassa_pay, sizeof(__pyx_k_handlers_payments_yookassa_pay), 0, 0, 1, 1}, - {&__pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_k_handlers_payments_yookassa_pay_p, sizeof(__pyx_k_handlers_payments_yookassa_pay_p), 0, 0, 1, 0}, - {&__pyx_n_s_handlers_texts, __pyx_k_handlers_texts, sizeof(__pyx_k_handlers_texts), 0, 0, 1, 1}, - {&__pyx_n_s_handlers_utils, __pyx_k_handlers_utils, sizeof(__pyx_k_handlers_utils), 0, 0, 1, 1}, - {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, - {&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1}, - {&__pyx_n_u_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 1, 0, 1}, - {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, - {&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1}, - {&__pyx_n_s_init_subclass, __pyx_k_init_subclass, sizeof(__pyx_k_init_subclass), 0, 0, 1, 1}, - {&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1}, - {&__pyx_n_s_inline_keyboard, __pyx_k_inline_keyboard, sizeof(__pyx_k_inline_keyboard), 0, 0, 1, 1}, - {&__pyx_n_s_inspect, __pyx_k_inspect, sizeof(__pyx_k_inspect), 0, 0, 1, 1}, - {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1}, - {&__pyx_n_s_isdigit, __pyx_k_isdigit, sizeof(__pyx_k_isdigit), 0, 0, 1, 1}, - {&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0}, - {&__pyx_n_u_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 1, 0, 1}, - {&__pyx_n_s_json, __pyx_k_json, sizeof(__pyx_k_json), 0, 0, 1, 1}, - {&__pyx_n_s_key_count, __pyx_k_key_count, sizeof(__pyx_k_key_count), 0, 0, 1, 1}, - {&__pyx_n_s_logger, __pyx_k_logger, sizeof(__pyx_k_logger), 0, 0, 1, 1}, - {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, - {&__pyx_n_s_message, __pyx_k_message, sizeof(__pyx_k_message), 0, 0, 1, 1}, - {&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1}, - {&__pyx_n_s_metadata, __pyx_k_metadata, sizeof(__pyx_k_metadata), 0, 0, 1, 1}, - {&__pyx_n_u_metadata, __pyx_k_metadata, sizeof(__pyx_k_metadata), 0, 1, 0, 1}, - {&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1}, - {&__pyx_n_s_mro_entries, __pyx_k_mro_entries, sizeof(__pyx_k_mro_entries), 0, 0, 1, 1}, - {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, - {&__pyx_n_u_object, __pyx_k_object, sizeof(__pyx_k_object), 0, 1, 0, 1}, - {&__pyx_n_s_paid, __pyx_k_paid, sizeof(__pyx_k_paid), 0, 0, 1, 1}, - {&__pyx_n_u_pay, __pyx_k_pay, sizeof(__pyx_k_pay), 0, 1, 0, 1}, - {&__pyx_n_u_pay_yookassa, __pyx_k_pay_yookassa, sizeof(__pyx_k_pay_yookassa), 0, 1, 0, 1}, - {&__pyx_n_s_payment, __pyx_k_payment, sizeof(__pyx_k_payment), 0, 0, 1, 1}, - {&__pyx_n_u_payment, __pyx_k_payment, sizeof(__pyx_k_payment), 0, 1, 0, 1}, - {&__pyx_n_s_payment_id, __pyx_k_payment_id, sizeof(__pyx_k_payment_id), 0, 0, 1, 1}, - {&__pyx_n_s_payment_message, __pyx_k_payment_message, sizeof(__pyx_k_payment_message), 0, 0, 1, 1}, - {&__pyx_n_u_payment_mode, __pyx_k_payment_mode, sizeof(__pyx_k_payment_mode), 0, 1, 0, 1}, - {&__pyx_n_s_payment_object, __pyx_k_payment_object, sizeof(__pyx_k_payment_object), 0, 0, 1, 1}, - {&__pyx_n_u_payment_subject, __pyx_k_payment_subject, sizeof(__pyx_k_payment_subject), 0, 1, 0, 1}, - {&__pyx_n_s_payment_url, __pyx_k_payment_url, sizeof(__pyx_k_payment_url), 0, 0, 1, 1}, - {&__pyx_n_u_pending, __pyx_k_pending, sizeof(__pyx_k_pending), 0, 1, 0, 1}, - {&__pyx_n_u_phone, __pyx_k_phone, sizeof(__pyx_k_phone), 0, 1, 0, 1}, - {&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1}, - {&__pyx_n_s_process_amount_selection, __pyx_k_process_amount_selection, sizeof(__pyx_k_process_amount_selection), 0, 0, 1, 1}, - {&__pyx_n_s_process_callback_pay_yookassa, __pyx_k_process_callback_pay_yookassa, sizeof(__pyx_k_process_callback_pay_yookassa), 0, 0, 1, 1}, - {&__pyx_n_s_process_custom_amount_input, __pyx_k_process_custom_amount_input, sizeof(__pyx_k_process_custom_amount_input), 0, 0, 1, 1}, - {&__pyx_n_s_process_enter_custom_amount, __pyx_k_process_enter_custom_amount, sizeof(__pyx_k_process_enter_custom_amount), 0, 0, 1, 1}, - {&__pyx_n_s_process_successful_payment, __pyx_k_process_successful_payment, sizeof(__pyx_k_process_successful_payment), 0, 0, 1, 1}, - {&__pyx_n_u_profile, __pyx_k_profile, sizeof(__pyx_k_profile), 0, 1, 0, 1}, - {&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1}, - {&__pyx_n_u_quantity, __pyx_k_quantity, sizeof(__pyx_k_quantity), 0, 1, 0, 1}, - {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, - {&__pyx_n_u_receipt, __pyx_k_receipt, sizeof(__pyx_k_receipt), 0, 1, 0, 1}, - {&__pyx_n_u_redirect, __pyx_k_redirect, sizeof(__pyx_k_redirect), 0, 1, 0, 1}, - {&__pyx_n_s_reply_markup, __pyx_k_reply_markup, sizeof(__pyx_k_reply_markup), 0, 0, 1, 1}, - {&__pyx_n_s_request, __pyx_k_request, sizeof(__pyx_k_request), 0, 0, 1, 1}, - {&__pyx_n_u_required_amount, __pyx_k_required_amount, sizeof(__pyx_k_required_amount), 0, 1, 0, 1}, - {&__pyx_n_s_response, __pyx_k_response, sizeof(__pyx_k_response), 0, 0, 1, 1}, - {&__pyx_n_u_return_url, __pyx_k_return_url, sizeof(__pyx_k_return_url), 0, 1, 0, 1}, - {&__pyx_n_s_router, __pyx_k_router, sizeof(__pyx_k_router), 0, 0, 1, 1}, - {&__pyx_n_s_row, __pyx_k_row, sizeof(__pyx_k_row), 0, 0, 1, 1}, - {&__pyx_n_s_secret_key, __pyx_k_secret_key, sizeof(__pyx_k_secret_key), 0, 0, 1, 1}, - {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1}, - {&__pyx_n_s_send_message, __pyx_k_send_message, sizeof(__pyx_k_send_message), 0, 0, 1, 1}, - {&__pyx_n_s_send_payment_success_notificatio, __pyx_k_send_payment_success_notificatio, sizeof(__pyx_k_send_payment_success_notificatio), 0, 0, 1, 1}, - {&__pyx_n_s_session, __pyx_k_session, sizeof(__pyx_k_session), 0, 0, 1, 1}, - {&__pyx_n_s_set_name, __pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 0, 1, 1}, - {&__pyx_n_s_set_state, __pyx_k_set_state, sizeof(__pyx_k_set_state), 0, 0, 1, 1}, - {&__pyx_kp_u_solonet_sup, __pyx_k_solonet_sup, sizeof(__pyx_k_solonet_sup), 0, 1, 0, 0}, - {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1}, - {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1}, - {&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1}, - {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1}, - {&__pyx_n_u_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 1, 0, 1}, - {&__pyx_n_s_state_type, __pyx_k_state_type, sizeof(__pyx_k_state_type), 0, 0, 1, 1}, - {&__pyx_n_s_status, __pyx_k_status, sizeof(__pyx_k_status), 0, 0, 1, 1}, - {&__pyx_n_u_status, __pyx_k_status, sizeof(__pyx_k_status), 0, 1, 0, 1}, - {&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1}, - {&__pyx_n_u_succeeded, __pyx_k_succeeded, sizeof(__pyx_k_succeeded), 0, 1, 0, 1}, - {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1}, - {&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1}, - {&__pyx_n_s_target_message, __pyx_k_target_message, sizeof(__pyx_k_target_message), 0, 0, 1, 1}, - {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, - {&__pyx_n_s_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 0, 1, 1}, - {&__pyx_n_u_text, __pyx_k_text, sizeof(__pyx_k_text), 0, 1, 0, 1}, - {&__pyx_n_s_tg_id, __pyx_k_tg_id, sizeof(__pyx_k_tg_id), 0, 0, 1, 1}, - {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1}, - {&__pyx_n_s_trial, __pyx_k_trial, sizeof(__pyx_k_trial), 0, 0, 1, 1}, - {&__pyx_n_u_type, __pyx_k_type, sizeof(__pyx_k_type), 0, 1, 0, 1}, - {&__pyx_n_s_types, __pyx_k_types, sizeof(__pyx_k_types), 0, 0, 1, 1}, - {&__pyx_kp_s_types_CallbackQuery, __pyx_k_types_CallbackQuery, sizeof(__pyx_k_types_CallbackQuery), 0, 0, 1, 0}, - {&__pyx_kp_s_types_CallbackQuery_types_Messag, __pyx_k_types_CallbackQuery_types_Messag, sizeof(__pyx_k_types_CallbackQuery_types_Messag), 0, 0, 1, 0}, - {&__pyx_n_s_typing, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1}, - {&__pyx_n_s_update_balance, __pyx_k_update_balance, sizeof(__pyx_k_update_balance), 0, 0, 1, 1}, - {&__pyx_n_s_update_data, __pyx_k_update_data, sizeof(__pyx_k_update_data), 0, 0, 1, 1}, - {&__pyx_n_s_url, __pyx_k_url, sizeof(__pyx_k_url), 0, 0, 1, 1}, - {&__pyx_n_s_user_data, __pyx_k_user_data, sizeof(__pyx_k_user_data), 0, 0, 1, 1}, - {&__pyx_n_s_user_id, __pyx_k_user_id, sizeof(__pyx_k_user_id), 0, 0, 1, 1}, - {&__pyx_n_u_user_id, __pyx_k_user_id, sizeof(__pyx_k_user_id), 0, 1, 0, 1}, - {&__pyx_kp_u_user_id_amount, __pyx_k_user_id_amount, sizeof(__pyx_k_user_id_amount), 0, 1, 0, 0}, - {&__pyx_n_s_user_id_str, __pyx_k_user_id_str, sizeof(__pyx_k_user_id_str), 0, 0, 1, 1}, - {&__pyx_n_s_uuid, __pyx_k_uuid, sizeof(__pyx_k_uuid), 0, 0, 1, 1}, - {&__pyx_n_s_uuid4, __pyx_k_uuid4, sizeof(__pyx_k_uuid4), 0, 0, 1, 1}, - {&__pyx_n_u_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 1, 0, 1}, - {&__pyx_n_u_vat_code, __pyx_k_vat_code, sizeof(__pyx_k_vat_code), 0, 1, 0, 1}, - {&__pyx_n_u_waiting_for_payment, __pyx_k_waiting_for_payment, sizeof(__pyx_k_waiting_for_payment), 0, 1, 0, 1}, - {&__pyx_n_s_waiting_for_payment_confirmation, __pyx_k_waiting_for_payment_confirmation, sizeof(__pyx_k_waiting_for_payment_confirmation), 0, 0, 1, 1}, - {&__pyx_n_u_waiting_for_renewal_payment, __pyx_k_waiting_for_renewal_payment, sizeof(__pyx_k_waiting_for_renewal_payment), 0, 1, 0, 1}, - {&__pyx_n_s_warning, __pyx_k_warning, sizeof(__pyx_k_warning), 0, 0, 1, 1}, - {&__pyx_n_s_web, __pyx_k_web, sizeof(__pyx_k_web), 0, 0, 1, 1}, - {&__pyx_n_u_yookassa, __pyx_k_yookassa, sizeof(__pyx_k_yookassa), 0, 1, 0, 1}, - {&__pyx_n_s_yookassa_2, __pyx_k_yookassa_2, sizeof(__pyx_k_yookassa_2), 0, 0, 1, 1}, - {&__pyx_n_u_yookassa_2, __pyx_k_yookassa_2, sizeof(__pyx_k_yookassa_2), 0, 1, 0, 1}, - {&__pyx_kp_u_yookassa_amount, __pyx_k_yookassa_amount, sizeof(__pyx_k_yookassa_amount), 0, 1, 0, 0}, - {&__pyx_n_s_yookassa_webhook, __pyx_k_yookassa_webhook, sizeof(__pyx_k_yookassa_webhook), 0, 0, 1, 1}, - {0, 0, 0, 0, 0, 0, 0} - }; - return __Pyx_InitStrings(__pyx_string_tab); -} -/* #### Code section: cached_builtins ### */ -static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 72, __pyx_L1_error) - __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 119, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: cached_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - - __pyx_tuple__5 = PyTuple_Pack(2, __pyx_kp_u__4, __pyx_int_1); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 112, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__5); - __Pyx_GIVEREF(__pyx_tuple__5); - - __pyx_tuple__18 = PyTuple_Pack(2, __pyx_n_u_required_amount, __pyx_int_0); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__18); - __Pyx_GIVEREF(__pyx_tuple__18); - - __pyx_tuple__27 = PyTuple_Pack(9, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_session, __pyx_n_s_expected_hash, __pyx_n_s_tg_id, __pyx_n_s_builder, __pyx_n_s_i, __pyx_n_s_key_count, __pyx_n_s_exists); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__27); - __Pyx_GIVEREF(__pyx_tuple__27); - __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_callback_pay_yookassa, 56, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 56, __pyx_L1_error) - - __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_u_yookassa_amount); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__28); - __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_tuple__29 = PyTuple_Pack(12, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_data, __pyx_n_s_amount_str, __pyx_n_s_amount, __pyx_n_s_tg_id, __pyx_n_s_customer_name, __pyx_n_s_customer_email, __pyx_n_s_payment, __pyx_n_s_payment_url, __pyx_n_s_payment_message, __pyx_n_s_confirm_keyboard); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__29); - __Pyx_GIVEREF(__pyx_tuple__29); - __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_amount_selection, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 110, __pyx_L1_error) - - __pyx_tuple__30 = PyTuple_Pack(11, __pyx_n_s_request, __pyx_n_s_event, __pyx_n_s_payment_object, __pyx_n_s_payment_id, __pyx_n_s_payment, __pyx_n_s_user_id_str, __pyx_n_s_amount_str, __pyx_n_s_user_id, __pyx_n_s_amount, __pyx_n_s_response, __pyx_n_s_e); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 190, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__30); - __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_yookassa_webhook, 190, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 190, __pyx_L1_error) - - __pyx_tuple__31 = PyTuple_Pack(3, __pyx_n_s_user_id, __pyx_n_s_amount, __pyx_n_s_e); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__31); - __Pyx_GIVEREF(__pyx_tuple__31); - __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_successful_payment, 232, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 232, __pyx_L1_error) - - __pyx_tuple__32 = PyTuple_Pack(3, __pyx_n_s_callback_query, __pyx_n_s_state, __pyx_n_s_builder); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__32); - __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_enter_custom_amount, 244, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 244, __pyx_L1_error) - - __pyx_tuple__33 = PyTuple_Pack(12, __pyx_n_s_callback_query, __pyx_n_s_session, __pyx_n_s_conn, __pyx_n_s_tg_id, __pyx_n_s_user_data, __pyx_n_s_state_type, __pyx_n_s_amount, __pyx_n_s_payment, __pyx_n_s_payment_url, __pyx_n_s_payment_message, __pyx_n_s_confirm_keyboard, __pyx_n_s_e); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__33); - __Pyx_GIVEREF(__pyx_tuple__33); - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_process_custom_amount_input, 262, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 262, __pyx_L1_error) - - __pyx_tuple__34 = PyTuple_Pack(3, __pyx_n_s_target, __pyx_n_s_text, __pyx_n_s_reply_markup); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__34); - __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_COROUTINE, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_handlers_payments_yookassa_pay_p, __pyx_n_s_send_message, 358, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 358, __pyx_L1_error) - __pyx_tuple__35 = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__35); - __Pyx_GIVEREF(__pyx_tuple__35); - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} -/* #### Code section: init_constants ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) { - if (__Pyx_CreateStringTabAndInitStrings() < 0) __PYX_ERR(0, 1, __pyx_L1_error); - __pyx_float_0_0 = PyFloat_FromDouble(0.0); if (unlikely(!__pyx_float_0_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_200 = PyInt_FromLong(200); if (unlikely(!__pyx_int_200)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_400 = PyInt_FromLong(400); if (unlikely(!__pyx_int_400)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_int_500 = PyInt_FromLong(500); if (unlikely(!__pyx_int_500)) __PYX_ERR(0, 1, __pyx_L1_error) - return 0; - __pyx_L1_error:; - return -1; -} -/* #### Code section: init_globals ### */ - -static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { - return 0; -} -/* #### Code section: init_module ### */ - -static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ -static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ - -static int __Pyx_modinit_global_init_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); - /*--- Global init code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); - /*--- Variable export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_export_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); - /*--- Function export code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_type_init_code(void) { - __Pyx_RefNannyDeclarations - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); - /*--- Type init code ---*/ - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa)) __PYX_ERR(0, 56, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa) < 0) __PYX_ERR(0, 56, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa) < 0) __PYX_ERR(0, 56, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct__process_callback_pay_yookassa->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection)) __PYX_ERR(0, 110, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 110, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection) < 0) __PYX_ERR(0, 110, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_1_process_amount_selection->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook)) __PYX_ERR(0, 190, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook) < 0) __PYX_ERR(0, 190, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook) < 0) __PYX_ERR(0, 190, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_2_yookassa_webhook->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment)) __PYX_ERR(0, 232, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment) < 0) __PYX_ERR(0, 232, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment) < 0) __PYX_ERR(0, 232, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_3_process_successful_payment->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount)) __PYX_ERR(0, 244, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount) < 0) __PYX_ERR(0, 244, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount) < 0) __PYX_ERR(0, 244, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_4_process_enter_custom_amount->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input)) __PYX_ERR(0, 262, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input) < 0) __PYX_ERR(0, 262, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input) < 0) __PYX_ERR(0, 262, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_5_process_custom_amount_input->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - #if CYTHON_USE_TYPE_SPECS - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message_spec, NULL); if (unlikely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message)) __PYX_ERR(0, 358, __pyx_L1_error) - if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message_spec, __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message) < 0) __PYX_ERR(0, 358, __pyx_L1_error) - #else - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message = &__pyx_type_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - #endif - #if !CYTHON_USE_TYPE_SPECS - if (__Pyx_PyType_Ready(__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message) < 0) __PYX_ERR(0, 358, __pyx_L1_error) - #endif - #if PY_MAJOR_VERSION < 3 - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message->tp_print = 0; - #endif - #if !CYTHON_COMPILING_IN_LIMITED_API - if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message->tp_dictoffset && __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message->tp_getattro == PyObject_GenericGetAttr)) { - __pyx_ptype_8handlers_8payments_12yookassa_pay___pyx_scope_struct_6__send_message->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - } - #endif - __Pyx_RefNannyFinishContext(); - return 0; - __pyx_L1_error:; - __Pyx_RefNannyFinishContext(); - return -1; -} - -static int __Pyx_modinit_type_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); - /*--- Type import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_variable_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); - /*--- Variable import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - -static int __Pyx_modinit_function_import_code(void) { - __Pyx_RefNannyDeclarations - __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); - /*--- Function import code ---*/ - __Pyx_RefNannyFinishContext(); - return 0; -} - - -#if PY_MAJOR_VERSION >= 3 -#if CYTHON_PEP489_MULTI_PHASE_INIT -static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ -static int __pyx_pymod_exec_yookassa_pay(PyObject* module); /*proto*/ -static PyModuleDef_Slot __pyx_moduledef_slots[] = { - {Py_mod_create, (void*)__pyx_pymod_create}, - {Py_mod_exec, (void*)__pyx_pymod_exec_yookassa_pay}, - {0, NULL} -}; -#endif - -#ifdef __cplusplus -namespace { - struct PyModuleDef __pyx_moduledef = - #else - static struct PyModuleDef __pyx_moduledef = - #endif - { - PyModuleDef_HEAD_INIT, - "yookassa_pay", - 0, /* m_doc */ - #if CYTHON_PEP489_MULTI_PHASE_INIT - 0, /* m_size */ - #elif CYTHON_USE_MODULE_STATE - sizeof(__pyx_mstate), /* m_size */ - #else - -1, /* m_size */ - #endif - __pyx_methods /* m_methods */, - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_moduledef_slots, /* m_slots */ - #else - NULL, /* m_reload */ - #endif - #if CYTHON_USE_MODULE_STATE - __pyx_m_traverse, /* m_traverse */ - __pyx_m_clear, /* m_clear */ - NULL /* m_free */ - #else - NULL, /* m_traverse */ - NULL, /* m_clear */ - NULL /* m_free */ - #endif - }; - #ifdef __cplusplus -} /* anonymous namespace */ -#endif -#endif - -#ifndef CYTHON_NO_PYINIT_EXPORT -#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC -#elif PY_MAJOR_VERSION < 3 -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" void -#else -#define __Pyx_PyMODINIT_FUNC void -#endif -#else -#ifdef __cplusplus -#define __Pyx_PyMODINIT_FUNC extern "C" PyObject * -#else -#define __Pyx_PyMODINIT_FUNC PyObject * -#endif -#endif - - -#if PY_MAJOR_VERSION < 3 -__Pyx_PyMODINIT_FUNC inityookassa_pay(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC inityookassa_pay(void) -#else -__Pyx_PyMODINIT_FUNC PyInit_yookassa_pay(void) CYTHON_SMALL_CODE; /*proto*/ -__Pyx_PyMODINIT_FUNC PyInit_yookassa_pay(void) -#if CYTHON_PEP489_MULTI_PHASE_INIT -{ - return PyModuleDef_Init(&__pyx_moduledef); -} -static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { - #if PY_VERSION_HEX >= 0x030700A1 - static PY_INT64_T main_interpreter_id = -1; - PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); - if (main_interpreter_id == -1) { - main_interpreter_id = current_id; - return (unlikely(current_id == -1)) ? -1 : 0; - } else if (unlikely(main_interpreter_id != current_id)) - #else - static PyInterpreterState *main_interpreter = NULL; - PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; - if (!main_interpreter) { - main_interpreter = current_interpreter; - } else if (unlikely(main_interpreter != current_interpreter)) - #endif - { - PyErr_SetString( - PyExc_ImportError, - "Interpreter change detected - this module can only be loaded into one interpreter per process."); - return -1; - } - return 0; -} -#if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *module, const char* from_name, const char* to_name, int allow_none) -#else -static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) -#endif -{ - PyObject *value = PyObject_GetAttrString(spec, from_name); - int result = 0; - if (likely(value)) { - if (allow_none || value != Py_None) { -#if CYTHON_COMPILING_IN_LIMITED_API - result = PyModule_AddObject(module, to_name, value); -#else - result = PyDict_SetItemString(moddict, to_name, value); -#endif - } - Py_DECREF(value); - } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { - PyErr_Clear(); - } else { - result = -1; - } - return result; -} -static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) { - PyObject *module = NULL, *moddict, *modname; - CYTHON_UNUSED_VAR(def); - if (__Pyx_check_single_interpreter()) - return NULL; - if (__pyx_m) - return __Pyx_NewRef(__pyx_m); - modname = PyObject_GetAttrString(spec, "name"); - if (unlikely(!modname)) goto bad; - module = PyModule_NewObject(modname); - Py_DECREF(modname); - if (unlikely(!module)) goto bad; -#if CYTHON_COMPILING_IN_LIMITED_API - moddict = module; -#else - moddict = PyModule_GetDict(module); - if (unlikely(!moddict)) goto bad; -#endif - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; - if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; - return module; -bad: - Py_XDECREF(module); - return NULL; -} - - -static CYTHON_SMALL_CODE int __pyx_pymod_exec_yookassa_pay(PyObject *__pyx_pyinit_module) -#endif -#endif -{ - int stringtab_initialized = 0; - #if CYTHON_USE_MODULE_STATE - int pystate_addmodule_run = 0; - #endif - PyObject *__pyx_t_1 = NULL; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - PyObject *__pyx_t_5 = NULL; - PyObject *__pyx_t_6 = NULL; - PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - unsigned int __pyx_t_9; - int __pyx_lineno = 0; - const char *__pyx_filename = NULL; - int __pyx_clineno = 0; - __Pyx_RefNannyDeclarations - #if CYTHON_PEP489_MULTI_PHASE_INIT - if (__pyx_m) { - if (__pyx_m == __pyx_pyinit_module) return 0; - PyErr_SetString(PyExc_RuntimeError, "Module 'yookassa_pay' has already been imported. Re-initialisation is not supported."); - return -1; - } - #elif PY_MAJOR_VERSION >= 3 - if (__pyx_m) return __Pyx_NewRef(__pyx_m); - #endif - /*--- Module creation code ---*/ - #if CYTHON_PEP489_MULTI_PHASE_INIT - __pyx_m = __pyx_pyinit_module; - Py_INCREF(__pyx_m); - #else - #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4("yookassa_pay", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #elif CYTHON_USE_MODULE_STATE - __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) - { - int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef); - __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "yookassa_pay" pseudovariable */ - if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - pystate_addmodule_run = 1; - } - #else - __pyx_m = PyModule_Create(&__pyx_moduledef); - if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #endif - CYTHON_UNUSED_VAR(__pyx_t_1); - __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) - Py_INCREF(__pyx_d); - __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) - if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if CYTHON_REFNANNY -__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); -if (!__Pyx_RefNanny) { - PyErr_Clear(); - __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); - if (!__Pyx_RefNanny) - Py_FatalError("failed to import 'refnanny' module"); -} -#endif - __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_yookassa_pay(void)", 0); - if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pxy_PyFrame_Initialize_Offsets - __Pxy_PyFrame_Initialize_Offsets(); - #endif - __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) - __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) - #ifdef __Pyx_CyFunction_USED - if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_FusedFunction_USED - if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Coroutine_USED - if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_Generator_USED - if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - #ifdef __Pyx_StopAsyncIteration_USED - if (__pyx_StopAsyncIteration_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - /*--- Library function declarations ---*/ - /*--- Threads initialization code ---*/ - #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS - PyEval_InitThreads(); - #endif - /*--- Initialize various global constants etc. ---*/ - if (__Pyx_InitConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - stringtab_initialized = 1; - if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) - if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - if (__pyx_module_is_main_handlers__payments__yookassa_pay) { - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - } - #if PY_MAJOR_VERSION >= 3 - { - PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) - if (!PyDict_GetItemString(modules, "handlers.payments.yookassa_pay")) { - if (unlikely((PyDict_SetItemString(modules, "handlers.payments.yookassa_pay", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - } - } - #endif - /*--- Builtin init code ---*/ - if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Constants init code ---*/ - if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - /*--- Global type/function init code ---*/ - (void)__Pyx_modinit_global_init_code(); - (void)__Pyx_modinit_variable_export_code(); - (void)__Pyx_modinit_function_export_code(); - if (unlikely((__Pyx_modinit_type_init_code() < 0))) __PYX_ERR(0, 1, __pyx_L1_error) - (void)__Pyx_modinit_type_import_code(); - (void)__Pyx_modinit_variable_import_code(); - (void)__Pyx_modinit_function_import_code(); - /*--- Execution code ---*/ - #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) - #endif - - __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_uuid, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_uuid, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_Any); - __Pyx_GIVEREF(__pyx_n_s_Any); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Any)) __PYX_ERR(0, 2, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Any); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Any, __pyx_t_2) < 0) __PYX_ERR(0, 2, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_ImportDottedModule(__pyx_n_s_asyncpg, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_asyncpg, __pyx_t_3) < 0) __PYX_ERR(0, 4, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_F); - __Pyx_GIVEREF(__pyx_n_s_F); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_F)) __PYX_ERR(0, 5, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_Router); - __Pyx_GIVEREF(__pyx_n_s_Router); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_Router)) __PYX_ERR(0, 5, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_types); - __Pyx_GIVEREF(__pyx_n_s_types); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_types)) __PYX_ERR(0, 5, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_F, __pyx_t_3) < 0) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Router); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Router, __pyx_t_3) < 0) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_types, __pyx_t_3) < 0) __PYX_ERR(0, 5, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_FSMContext); - __Pyx_GIVEREF(__pyx_n_s_FSMContext); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_FSMContext)) __PYX_ERR(0, 6, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_fsm_context, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_FSMContext); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_FSMContext, __pyx_t_2) < 0) __PYX_ERR(0, 6, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_State); - __Pyx_GIVEREF(__pyx_n_s_State); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_State)) __PYX_ERR(0, 7, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_StatesGroup); - __Pyx_GIVEREF(__pyx_n_s_StatesGroup); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_StatesGroup)) __PYX_ERR(0, 7, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_fsm_state, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_State); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_State, __pyx_t_3) < 0) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_StatesGroup, __pyx_t_3) < 0) __PYX_ERR(0, 7, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardButton); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardButton); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_InlineKeyboardButton)) __PYX_ERR(0, 8, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardMarkup); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardMarkup); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_InlineKeyboardMarkup)) __PYX_ERR(0, 8, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiogram_types, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardButton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardButton, __pyx_t_2) < 0) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_InlineKeyboardMarkup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardMarkup, __pyx_t_2) < 0) __PYX_ERR(0, 8, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_InlineKeyboardBuilder); - __Pyx_GIVEREF(__pyx_n_s_InlineKeyboardBuilder); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_InlineKeyboardBuilder)) __PYX_ERR(0, 9, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_aiogram_utils_keyboard, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_InlineKeyboardBuilder); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InlineKeyboardBuilder, __pyx_t_3) < 0) __PYX_ERR(0, 9, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_web); - __Pyx_GIVEREF(__pyx_n_s_web); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_web)) __PYX_ERR(0, 10, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_aiohttp, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_web); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_web, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_Configuration); - __Pyx_GIVEREF(__pyx_n_s_Configuration); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_Configuration)) __PYX_ERR(0, 11, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_Payment); - __Pyx_GIVEREF(__pyx_n_s_Payment); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_Payment)) __PYX_ERR(0, 11, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_yookassa_2, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Configuration); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Configuration, __pyx_t_3) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Payment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Payment, __pyx_t_3) < 0) __PYX_ERR(0, 11, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_patch_asyncio(__Pyx_ImportDottedModule(__pyx_n_s_asyncio, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_asyncio, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_DATABASE_URL); - __Pyx_GIVEREF(__pyx_n_s_DATABASE_URL); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_DATABASE_URL)) __PYX_ERR(0, 15, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_EMAIL); - __Pyx_GIVEREF(__pyx_n_s_EMAIL); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_EMAIL)) __PYX_ERR(0, 15, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_REDIRECT_LINK); - __Pyx_GIVEREF(__pyx_n_s_REDIRECT_LINK); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_REDIRECT_LINK)) __PYX_ERR(0, 15, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_YOOKASSA_ENABLE); - __Pyx_GIVEREF(__pyx_n_s_YOOKASSA_ENABLE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_YOOKASSA_ENABLE)) __PYX_ERR(0, 15, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_YOOKASSA_SECRET_KEY); - __Pyx_GIVEREF(__pyx_n_s_YOOKASSA_SECRET_KEY); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_s_YOOKASSA_SECRET_KEY)) __PYX_ERR(0, 15, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_YOOKASSA_SHOP_ID); - __Pyx_GIVEREF(__pyx_n_s_YOOKASSA_SHOP_ID); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 5, __pyx_n_s_YOOKASSA_SHOP_ID)) __PYX_ERR(0, 15, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_SERVICE_NAME); - __Pyx_GIVEREF(__pyx_n_s_SERVICE_NAME); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 6, __pyx_n_s_SERVICE_NAME)) __PYX_ERR(0, 15, __pyx_L1_error); - - __pyx_t_3 = __Pyx_Import(__pyx_n_s_config, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_DATABASE_URL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_DATABASE_URL, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_EMAIL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_EMAIL, __pyx_t_2) < 0) __PYX_ERR(0, 16, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_REDIRECT_LINK); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_REDIRECT_LINK, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_YOOKASSA_ENABLE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_YOOKASSA_ENABLE, __pyx_t_2) < 0) __PYX_ERR(0, 18, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_YOOKASSA_SECRET_KEY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_YOOKASSA_SECRET_KEY, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_YOOKASSA_SHOP_ID); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_YOOKASSA_SHOP_ID, __pyx_t_2) < 0) __PYX_ERR(0, 20, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_SERVICE_NAME); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_SERVICE_NAME, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_add_connection); - __Pyx_GIVEREF(__pyx_n_s_add_connection); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_add_connection)) __PYX_ERR(0, 24, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_add_payment); - __Pyx_GIVEREF(__pyx_n_s_add_payment); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_add_payment)) __PYX_ERR(0, 24, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_check_connection_exists); - __Pyx_GIVEREF(__pyx_n_s_check_connection_exists); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_check_connection_exists)) __PYX_ERR(0, 24, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_get_key_count); - __Pyx_GIVEREF(__pyx_n_s_get_key_count); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_get_key_count)) __PYX_ERR(0, 24, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_get_temporary_data); - __Pyx_GIVEREF(__pyx_n_s_get_temporary_data); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 4, __pyx_n_s_get_temporary_data)) __PYX_ERR(0, 24, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_update_balance); - __Pyx_GIVEREF(__pyx_n_s_update_balance); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 5, __pyx_n_s_update_balance)) __PYX_ERR(0, 24, __pyx_L1_error); - - __pyx_t_2 = __Pyx_Import(__pyx_n_s_database, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_add_connection); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_connection, __pyx_t_3) < 0) __PYX_ERR(0, 24, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_add_payment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_add_payment, __pyx_t_3) < 0) __PYX_ERR(0, 25, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_check_connection_exists); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_check_connection_exists, __pyx_t_3) < 0) __PYX_ERR(0, 26, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_key_count); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_key_count, __pyx_t_3) < 0) __PYX_ERR(0, 27, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_get_temporary_data); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_temporary_data, __pyx_t_3) < 0) __PYX_ERR(0, 28, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_update_balance, __pyx_t_3) < 0) __PYX_ERR(0, 29, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_MAIN_MENU); - __Pyx_GIVEREF(__pyx_n_s_MAIN_MENU); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_MAIN_MENU)) __PYX_ERR(0, 31, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_BACK); - __Pyx_GIVEREF(__pyx_n_s_BACK); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_BACK)) __PYX_ERR(0, 31, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_CUSTOM_AMOUNT); - __Pyx_GIVEREF(__pyx_n_s_CUSTOM_AMOUNT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_CUSTOM_AMOUNT)) __PYX_ERR(0, 31, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_PAY); - __Pyx_GIVEREF(__pyx_n_s_PAY); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_PAY)) __PYX_ERR(0, 31, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_PAY_2); - __Pyx_GIVEREF(__pyx_n_s_PAY_2); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_s_PAY_2)) __PYX_ERR(0, 31, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_buttons, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_MAIN_MENU); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAIN_MENU, __pyx_t_2) < 0) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_BACK); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_BACK, __pyx_t_2) < 0) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_CUSTOM_AMOUNT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_CUSTOM_AMOUNT, __pyx_t_2) < 0) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PAY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAY, __pyx_t_2) < 0) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PAY_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAY_2, __pyx_t_2) < 0) __PYX_ERR(0, 31, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_YOOKASSA_HASH); - __Pyx_GIVEREF(__pyx_n_s_YOOKASSA_HASH); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_YOOKASSA_HASH)) __PYX_ERR(0, 32, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_payments_gift, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_YOOKASSA_HASH); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_YOOKASSA_HASH, __pyx_t_3) < 0) __PYX_ERR(0, 32, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_send_payment_success_notificatio); - __Pyx_GIVEREF(__pyx_n_s_send_payment_success_notificatio); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_send_payment_success_notificatio)) __PYX_ERR(0, 33, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_handlers_payments_utils, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_send_payment_success_notificatio); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_send_payment_success_notificatio, __pyx_t_2) < 0) __PYX_ERR(0, 33, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_PAYMENT_OPTIONS); - __Pyx_GIVEREF(__pyx_n_s_PAYMENT_OPTIONS); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_PAYMENT_OPTIONS)) __PYX_ERR(0, 34, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_AMOUNT_TEXT); - __Pyx_GIVEREF(__pyx_n_s_AMOUNT_TEXT); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_AMOUNT_TEXT)) __PYX_ERR(0, 34, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - __Pyx_GIVEREF(__pyx_n_s_DEFAULT_PAYMENT_MESSAGE); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE)) __PYX_ERR(0, 34, __pyx_L1_error); - __Pyx_INCREF(__pyx_n_s_ENTER_SUM); - __Pyx_GIVEREF(__pyx_n_s_ENTER_SUM); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_ENTER_SUM)) __PYX_ERR(0, 34, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_texts, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_PAYMENT_OPTIONS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_PAYMENT_OPTIONS, __pyx_t_3) < 0) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_AMOUNT_TEXT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_AMOUNT_TEXT, __pyx_t_3) < 0) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_DEFAULT_PAYMENT_MESSAGE, __pyx_t_3) < 0) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ENTER_SUM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ENTER_SUM, __pyx_t_3) < 0) __PYX_ERR(0, 34, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_INCREF(__pyx_n_s_logger); - __Pyx_GIVEREF(__pyx_n_s_logger); - if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_logger)) __PYX_ERR(0, 35, __pyx_L1_error); - __pyx_t_3 = __Pyx_Import(__pyx_n_s_logger, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_logger, __pyx_t_2) < 0) __PYX_ERR(0, 35, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_INCREF(__pyx_n_s_edit_or_send_message); - __Pyx_GIVEREF(__pyx_n_s_edit_or_send_message); - if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_edit_or_send_message)) __PYX_ERR(0, 36, __pyx_L1_error); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_handlers_utils, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_edit_or_send_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_edit_or_send_message, __pyx_t_3) < 0) __PYX_ERR(0, 36, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_router, __pyx_t_3) < 0) __PYX_ERR(0, 38, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - if (PyDict_SetItem(__pyx_d, __pyx_n_s_MAIN_SECRET, __pyx_kp_u_PROJECT_06_01_09_LICENSION) < 0) __PYX_ERR(0, 41, __pyx_L1_error) - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_YOOKASSA_ENABLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 43, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (__pyx_t_4) { - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_YOOKASSA_SHOP_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Configuration); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_account_id, __pyx_t_3) < 0) __PYX_ERR(0, 44, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_YOOKASSA_SECRET_KEY); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Configuration); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_secret_key, __pyx_t_2) < 0) __PYX_ERR(0, 45, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_YOOKASSA_SHOP_ID); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_t_3, __pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Account_ID, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_YOOKASSA_SECRET_KEY); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_PyObject_FormatSimple(__pyx_t_5, __pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Secret_Key, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - } - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_StatesGroup); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_2); - if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error); - __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_n_s_ReplenishBalanceState, __pyx_n_s_ReplenishBalanceState, (PyObject *) NULL, __pyx_n_s_handlers_payments_yookassa_pay, (PyObject *) NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (__pyx_t_2 != __pyx_t_5) { - if (unlikely((PyDict_SetItemString(__pyx_t_6, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(0, 50, __pyx_L1_error) - } - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_choosing_amount_yookassa, __pyx_t_5) < 0) __PYX_ERR(0, 51, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_waiting_for_payment_confirmation, __pyx_t_5) < 0) __PYX_ERR(0, 52, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_State); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 53, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = NULL; - __pyx_t_9 = 0; - #if CYTHON_UNPACK_METHODS - if (unlikely(PyMethod_Check(__pyx_t_7))) { - __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); - if (likely(__pyx_t_8)) { - PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); - __Pyx_INCREF(__pyx_t_8); - __Pyx_INCREF(function); - __Pyx_DECREF_SET(__pyx_t_7, function); - __pyx_t_9 = 1; - } - } - #endif - { - PyObject *__pyx_callargs[2] = {__pyx_t_8, NULL}; - __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 0+__pyx_t_9); - __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 53, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - } - if (__Pyx_SetNameInClass(__pyx_t_6, __pyx_n_s_entering_custom_amount_yookassa, __pyx_t_5) < 0) __PYX_ERR(0, 53, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - - __pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_n_s_ReplenishBalanceState, __pyx_t_2, __pyx_t_6, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_ReplenishBalanceState, __pyx_t_5) < 0) __PYX_ERR(0, 50, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_data); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_RichCompare(__pyx_t_6, __pyx_n_u_pay_yookassa, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 56, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 56, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 56, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_1process_callback_pay_yookassa, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_callback_pay_yookassa, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_callback_pay_yookassa, __pyx_t_2) < 0) __PYX_ERR(0, 56, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_router); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_F); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_data); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_startswith); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 110, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 110, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_4process_amount_selection, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_amount_selection, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_amount_selection, __pyx_t_6) < 0) __PYX_ERR(0, 110, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_7yookassa_webhook, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_yookassa_webhook, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 190, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_yookassa_webhook, __pyx_t_6) < 0) __PYX_ERR(0, 190, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_10process_successful_payment, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_successful_payment, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__12)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 232, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_successful_payment, __pyx_t_6) < 0) __PYX_ERR(0, 232, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_router); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_callback_query); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_F); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyObject_RichCompare(__pyx_t_2, __pyx_n_u_enter_custom_amount_yookassa, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery) < 0) __PYX_ERR(0, 244, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_state, __pyx_n_s_FSMContext) < 0) __PYX_ERR(0, 244, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_13process_enter_custom_amount, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_enter_custom_amount, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_6); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_enter_custom_amount, __pyx_t_6) < 0) __PYX_ERR(0, 244, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_router); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_message); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_ReplenishBalanceState); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_entering_custom_amount_yookassa); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_callback_query, __pyx_kp_s_types_CallbackQuery_types_Messag) < 0) __PYX_ERR(0, 262, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_session, __pyx_n_s_Any) < 0) __PYX_ERR(0, 262, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_16process_custom_amount_input, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_process_custom_amount_input, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_process_custom_amount_input, __pyx_t_2) < 0) __PYX_ERR(0, 262, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - - __pyx_t_2 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_target, __pyx_kp_s_types_CallbackQuery_types_Messag) < 0) __PYX_ERR(0, 358, __pyx_L1_error) - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_text, __pyx_n_s_str) < 0) __PYX_ERR(0, 358, __pyx_L1_error) - __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_8handlers_8payments_12yookassa_pay_19_send_message, __Pyx_CYFUNCTION_COROUTINE, __pyx_n_s_send_message, NULL, __pyx_n_s_handlers_payments_yookassa_pay, __pyx_d, ((PyObject *)__pyx_codeobj__24)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 358, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_tuple__35); - __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_send_message, __pyx_t_3) < 0) __PYX_ERR(0, 358, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /*--- Wrapped vars code ---*/ - - goto __pyx_L0; - __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); - __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_7); - __Pyx_XDECREF(__pyx_t_8); - if (__pyx_m) { - if (__pyx_d && stringtab_initialized) { - __Pyx_AddTraceback("init handlers.payments.yookassa_pay", __pyx_clineno, __pyx_lineno, __pyx_filename); - } - #if !CYTHON_USE_MODULE_STATE - Py_CLEAR(__pyx_m); - #else - Py_DECREF(__pyx_m); - if (pystate_addmodule_run) { - PyObject *tp, *value, *tb; - PyErr_Fetch(&tp, &value, &tb); - PyState_RemoveModule(&__pyx_moduledef); - PyErr_Restore(tp, value, tb); - } - #endif - } else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_ImportError, "init handlers.payments.yookassa_pay"); - } - __pyx_L0:; - __Pyx_RefNannyFinishContext(); - #if CYTHON_PEP489_MULTI_PHASE_INIT - return (__pyx_m != NULL) ? 0 : -1; - #elif PY_MAJOR_VERSION >= 3 - return __pyx_m; - #else - return; - #endif -} -/* #### Code section: cleanup_globals ### */ -/* #### Code section: cleanup_module ### */ -/* #### Code section: main_method ### */ -/* #### Code section: utility_code_pragmas ### */ -#ifdef _MSC_VER -#pragma warning( push ) -/* Warning 4127: conditional expression is constant - * Cython uses constant conditional expressions to allow in inline functions to be optimized at - * compile-time, so this warning is not useful - */ -#pragma warning( disable : 4127 ) -#endif - - - -/* #### Code section: utility_code_def ### */ - -/* --- Runtime support code --- */ -/* Refnanny */ -#if CYTHON_REFNANNY -static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { - PyObject *m = NULL, *p = NULL; - void *r = NULL; - m = PyImport_ImportModule(modname); - if (!m) goto end; - p = PyObject_GetAttrString(m, "RefNannyAPI"); - if (!p) goto end; - r = PyLong_AsVoidPtr(p); -end: - Py_XDECREF(p); - Py_XDECREF(m); - return (__Pyx_RefNannyAPIStruct *)r; -} -#endif - -/* PyErrExceptionMatches */ -#if CYTHON_FAST_THREAD_STATE -static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i= 0x030C00A6 - PyObject *current_exception = tstate->current_exception; - if (unlikely(!current_exception)) return 0; - exc_type = (PyObject*) Py_TYPE(current_exception); - if (exc_type == err) return 1; -#else - exc_type = tstate->curexc_type; - if (exc_type == err) return 1; - if (unlikely(!exc_type)) return 0; -#endif - #if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(exc_type); - #endif - if (unlikely(PyTuple_Check(err))) { - result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); - } else { - result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err); - } - #if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(exc_type); - #endif - return result; -} -#endif - -/* PyErrFetchRestore */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject *tmp_value; - assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value))); - if (value) { - #if CYTHON_COMPILING_IN_CPYTHON - if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb)) - #endif - PyException_SetTraceback(value, tb); - } - tmp_value = tstate->current_exception; - tstate->current_exception = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - tmp_type = tstate->curexc_type; - tmp_value = tstate->curexc_value; - tmp_tb = tstate->curexc_traceback; - tstate->curexc_type = type; - tstate->curexc_value = value; - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#endif -} -static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { -#if PY_VERSION_HEX >= 0x030C00A6 - PyObject* exc_value; - exc_value = tstate->current_exception; - tstate->current_exception = 0; - *value = exc_value; - *type = NULL; - *tb = NULL; - if (exc_value) { - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - #if CYTHON_COMPILING_IN_CPYTHON - *tb = ((PyBaseExceptionObject*) exc_value)->traceback; - Py_XINCREF(*tb); - #else - *tb = PyException_GetTraceback(exc_value); - #endif - } -#else - *type = tstate->curexc_type; - *value = tstate->curexc_value; - *tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; -#endif -} -#endif - -/* PyObjectGetAttrStr */ -#if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro)) - return tp->tp_getattro(obj, attr_name); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_getattr)) - return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); -#endif - return PyObject_GetAttr(obj, attr_name); -} -#endif - -/* PyObjectGetAttrStrNoError */ -#if __PYX_LIMITED_VERSION_HEX < 0x030d00A1 -static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) - __Pyx_PyErr_Clear(); -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { - PyObject *result; -#if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1 - (void) PyObject_GetOptionalAttr(obj, attr_name, &result); - return result; -#else -#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1 - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { - return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); - } -#endif - result = __Pyx_PyObject_GetAttrStr(obj, attr_name); - if (unlikely(!result)) { - __Pyx_PyObject_GetAttrStr_ClearAttributeError(); - } - return result; -#endif -} - -/* GetBuiltinName */ -static PyObject *__Pyx_GetBuiltinName(PyObject *name) { - PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_b, name); - if (unlikely(!result) && !PyErr_Occurred()) { - PyErr_Format(PyExc_NameError, -#if PY_MAJOR_VERSION >= 3 - "name '%U' is not defined", name); -#else - "name '%.200s' is not defined", PyString_AS_STRING(name)); -#endif - } - return result; -} - -/* TupleAndListFromArray */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) { - PyObject *v; - Py_ssize_t i; - for (i = 0; i < length; i++) { - v = dest[i] = src[i]; - Py_INCREF(v); - } -} -static CYTHON_INLINE PyObject * -__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - Py_INCREF(__pyx_empty_tuple); - return __pyx_empty_tuple; - } - res = PyTuple_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n); - return res; -} -static CYTHON_INLINE PyObject * -__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n) -{ - PyObject *res; - if (n <= 0) { - return PyList_New(0); - } - res = PyList_New(n); - if (unlikely(res == NULL)) return NULL; - __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n); - return res; -} -#endif - -/* BytesEquals */ -static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else - if (s1 == s2) { - return (equals == Py_EQ); - } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { - const char *ps1, *ps2; - Py_ssize_t length = PyBytes_GET_SIZE(s1); - if (length != PyBytes_GET_SIZE(s2)) - return (equals == Py_NE); - ps1 = PyBytes_AS_STRING(s1); - ps2 = PyBytes_AS_STRING(s2); - if (ps1[0] != ps2[0]) { - return (equals == Py_NE); - } else if (length == 1) { - return (equals == Py_EQ); - } else { - int result; -#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000) - Py_hash_t hash1, hash2; - hash1 = ((PyBytesObject*)s1)->ob_shash; - hash2 = ((PyBytesObject*)s2)->ob_shash; - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - return (equals == Py_NE); - } -#endif - result = memcmp(ps1, ps2, (size_t)length); - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { - return (equals == Py_NE); - } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { - return (equals == Py_NE); - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -#endif -} - -/* UnicodeEquals */ -static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { -#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API - return PyObject_RichCompareBool(s1, s2, equals); -#else -#if PY_MAJOR_VERSION < 3 - PyObject* owned_ref = NULL; -#endif - int s1_is_unicode, s2_is_unicode; - if (s1 == s2) { - goto return_eq; - } - s1_is_unicode = PyUnicode_CheckExact(s1); - s2_is_unicode = PyUnicode_CheckExact(s2); -#if PY_MAJOR_VERSION < 3 - if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { - owned_ref = PyUnicode_FromObject(s2); - if (unlikely(!owned_ref)) - return -1; - s2 = owned_ref; - s2_is_unicode = 1; - } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { - owned_ref = PyUnicode_FromObject(s1); - if (unlikely(!owned_ref)) - return -1; - s1 = owned_ref; - s1_is_unicode = 1; - } else if (((!s2_is_unicode) & (!s1_is_unicode))) { - return __Pyx_PyBytes_Equals(s1, s2, equals); - } -#endif - if (s1_is_unicode & s2_is_unicode) { - Py_ssize_t length; - int kind; - void *data1, *data2; - if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) - return -1; - length = __Pyx_PyUnicode_GET_LENGTH(s1); - if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { - goto return_ne; - } -#if CYTHON_USE_UNICODE_INTERNALS - { - Py_hash_t hash1, hash2; - #if CYTHON_PEP393_ENABLED - hash1 = ((PyASCIIObject*)s1)->hash; - hash2 = ((PyASCIIObject*)s2)->hash; - #else - hash1 = ((PyUnicodeObject*)s1)->hash; - hash2 = ((PyUnicodeObject*)s2)->hash; - #endif - if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { - goto return_ne; - } - } -#endif - kind = __Pyx_PyUnicode_KIND(s1); - if (kind != __Pyx_PyUnicode_KIND(s2)) { - goto return_ne; - } - data1 = __Pyx_PyUnicode_DATA(s1); - data2 = __Pyx_PyUnicode_DATA(s2); - if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { - goto return_ne; - } else if (length == 1) { - goto return_eq; - } else { - int result = memcmp(data1, data2, (size_t)(length * kind)); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ) ? (result == 0) : (result != 0); - } - } else if ((s1 == Py_None) & s2_is_unicode) { - goto return_ne; - } else if ((s2 == Py_None) & s1_is_unicode) { - goto return_ne; - } else { - int result; - PyObject* py_result = PyObject_RichCompare(s1, s2, equals); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - if (!py_result) - return -1; - result = __Pyx_PyObject_IsTrue(py_result); - Py_DECREF(py_result); - return result; - } -return_eq: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_EQ); -return_ne: - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(owned_ref); - #endif - return (equals == Py_NE); -#endif -} - -/* fastcall */ -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s) -{ - Py_ssize_t i, n = PyTuple_GET_SIZE(kwnames); - for (i = 0; i < n; i++) - { - if (s == PyTuple_GET_ITEM(kwnames, i)) return kwvalues[i]; - } - for (i = 0; i < n; i++) - { - int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ); - if (unlikely(eq != 0)) { - if (unlikely(eq < 0)) return NULL; - return kwvalues[i]; - } - } - return NULL; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 -CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) { - Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames); - PyObject *dict; - dict = PyDict_New(); - if (unlikely(!dict)) - return NULL; - for (i=0; i= 3 - "%s() got multiple values for keyword argument '%U'", func_name, kw_name); - #else - "%s() got multiple values for keyword argument '%s'", func_name, - PyString_AsString(kw_name)); - #endif -} - -/* ParseKeywords */ -static int __Pyx_ParseOptionalKeywords( - PyObject *kwds, - PyObject *const *kwvalues, - PyObject **argnames[], - PyObject *kwds2, - PyObject *values[], - Py_ssize_t num_pos_args, - const char* function_name) -{ - PyObject *key = 0, *value = 0; - Py_ssize_t pos = 0; - PyObject*** name; - PyObject*** first_kw_arg = argnames + num_pos_args; - int kwds_is_tuple = CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds)); - while (1) { - Py_XDECREF(key); key = NULL; - Py_XDECREF(value); value = NULL; - if (kwds_is_tuple) { - Py_ssize_t size; -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(kwds); -#else - size = PyTuple_Size(kwds); - if (size < 0) goto bad; -#endif - if (pos >= size) break; -#if CYTHON_AVOID_BORROWED_REFS - key = __Pyx_PySequence_ITEM(kwds, pos); - if (!key) goto bad; -#elif CYTHON_ASSUME_SAFE_MACROS - key = PyTuple_GET_ITEM(kwds, pos); -#else - key = PyTuple_GetItem(kwds, pos); - if (!key) goto bad; -#endif - value = kwvalues[pos]; - pos++; - } - else - { - if (!PyDict_Next(kwds, &pos, &key, &value)) break; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - } - name = first_kw_arg; - while (*name && (**name != key)) name++; - if (*name) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - Py_INCREF(value); - Py_DECREF(key); -#endif - key = NULL; - value = NULL; - continue; - } -#if !CYTHON_AVOID_BORROWED_REFS - Py_INCREF(key); -#endif - Py_INCREF(value); - name = first_kw_arg; - #if PY_MAJOR_VERSION < 3 - if (likely(PyString_Check(key))) { - while (*name) { - if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) - && _PyString_Eq(**name, key)) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - if ((**argname == key) || ( - (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) - && _PyString_Eq(**argname, key))) { - goto arg_passed_twice; - } - argname++; - } - } - } else - #endif - if (likely(PyUnicode_Check(key))) { - while (*name) { - int cmp = ( - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**name, key) - ); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) { - values[name-argnames] = value; -#if CYTHON_AVOID_BORROWED_REFS - value = NULL; -#endif - break; - } - name++; - } - if (*name) continue; - else { - PyObject*** argname = argnames; - while (argname != first_kw_arg) { - int cmp = (**argname == key) ? 0 : - #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3 - (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : - #endif - PyUnicode_Compare(**argname, key); - if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; - if (cmp == 0) goto arg_passed_twice; - argname++; - } - } - } else - goto invalid_keyword_type; - if (kwds2) { - if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; - } else { - goto invalid_keyword; - } - } - Py_XDECREF(key); - Py_XDECREF(value); - return 0; -arg_passed_twice: - __Pyx_RaiseDoubleKeywordsError(function_name, key); - goto bad; -invalid_keyword_type: - PyErr_Format(PyExc_TypeError, - "%.200s() keywords must be strings", function_name); - goto bad; -invalid_keyword: - #if PY_MAJOR_VERSION < 3 - PyErr_Format(PyExc_TypeError, - "%.200s() got an unexpected keyword argument '%.200s'", - function_name, PyString_AsString(key)); - #else - PyErr_Format(PyExc_TypeError, - "%s() got an unexpected keyword argument '%U'", - function_name, key); - #endif -bad: - Py_XDECREF(key); - Py_XDECREF(value); - return -1; -} - -/* PyDictVersioning */ -#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; -} -static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { - PyObject **dictptr = NULL; - Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; - if (offset) { -#if CYTHON_COMPILING_IN_CPYTHON - dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); -#else - dictptr = _PyObject_GetDictPtr(obj); -#endif - } - return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; -} -static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { - PyObject *dict = Py_TYPE(obj)->tp_dict; - if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) - return 0; - return obj_dict_version == __Pyx_get_object_dict_version(obj); -} -#endif - -/* GetModuleGlobalName */ -#if CYTHON_USE_DICT_VERSIONS -static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) -#else -static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) -#endif -{ - PyObject *result; -#if !CYTHON_AVOID_BORROWED_REFS -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000 - result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } else if (unlikely(PyErr_Occurred())) { - return NULL; - } -#elif CYTHON_COMPILING_IN_LIMITED_API - if (unlikely(!__pyx_m)) { - return NULL; - } - result = PyObject_GetAttr(__pyx_m, name); - if (likely(result)) { - return result; - } -#else - result = PyDict_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } -#endif -#else - result = PyObject_GetItem(__pyx_d, name); - __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) - if (likely(result)) { - return __Pyx_NewRef(result); - } - PyErr_Clear(); -#endif - return __Pyx_GetBuiltinName(name); -} - -/* PyFunctionFastCall */ -#if CYTHON_FAST_PYCALL && !CYTHON_VECTORCALL -static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, - PyObject *globals) { - PyFrameObject *f; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject **fastlocals; - Py_ssize_t i; - PyObject *result; - assert(globals != NULL); - /* XXX Perhaps we should create a specialized - PyFrame_New() that doesn't take locals, but does - take builtins without sanity checking them. - */ - assert(tstate != NULL); - f = PyFrame_New(tstate, co, globals, NULL); - if (f == NULL) { - return NULL; - } - fastlocals = __Pyx_PyFrame_GetLocalsplus(f); - for (i = 0; i < na; i++) { - Py_INCREF(*args); - fastlocals[i] = *args++; - } - result = PyEval_EvalFrameEx(f,0); - ++tstate->recursion_depth; - Py_DECREF(f); - --tstate->recursion_depth; - return result; -} -static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { - PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); - PyObject *globals = PyFunction_GET_GLOBALS(func); - PyObject *argdefs = PyFunction_GET_DEFAULTS(func); - PyObject *closure; -#if PY_MAJOR_VERSION >= 3 - PyObject *kwdefs; -#endif - PyObject *kwtuple, **k; - PyObject **d; - Py_ssize_t nd; - Py_ssize_t nk; - PyObject *result; - assert(kwargs == NULL || PyDict_Check(kwargs)); - nk = kwargs ? PyDict_Size(kwargs) : 0; - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) { - return NULL; - } - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) { - return NULL; - } - #endif - if ( -#if PY_MAJOR_VERSION >= 3 - co->co_kwonlyargcount == 0 && -#endif - likely(kwargs == NULL || nk == 0) && - co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { - if (argdefs == NULL && co->co_argcount == nargs) { - result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); - goto done; - } - else if (nargs == 0 && argdefs != NULL - && co->co_argcount == Py_SIZE(argdefs)) { - /* function called with no arguments, but all parameters have - a default value: use default values as arguments .*/ - args = &PyTuple_GET_ITEM(argdefs, 0); - result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); - goto done; - } - } - if (kwargs != NULL) { - Py_ssize_t pos, i; - kwtuple = PyTuple_New(2 * nk); - if (kwtuple == NULL) { - result = NULL; - goto done; - } - k = &PyTuple_GET_ITEM(kwtuple, 0); - pos = i = 0; - while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { - Py_INCREF(k[i]); - Py_INCREF(k[i+1]); - i += 2; - } - nk = i / 2; - } - else { - kwtuple = NULL; - k = NULL; - } - closure = PyFunction_GET_CLOSURE(func); -#if PY_MAJOR_VERSION >= 3 - kwdefs = PyFunction_GET_KW_DEFAULTS(func); -#endif - if (argdefs != NULL) { - d = &PyTuple_GET_ITEM(argdefs, 0); - nd = Py_SIZE(argdefs); - } - else { - d = NULL; - nd = 0; - } -#if PY_MAJOR_VERSION >= 3 - result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, kwdefs, closure); -#else - result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, - args, (int)nargs, - k, (int)nk, - d, (int)nd, closure); -#endif - Py_XDECREF(kwtuple); -done: - Py_LeaveRecursiveCall(); - return result; -} -#endif - -/* PyObjectCall */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *result; - ternaryfunc call = Py_TYPE(func)->tp_call; - if (unlikely(!call)) - return PyObject_Call(func, arg, kw); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = (*call)(func, arg, kw); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectCallMethO */ -#if CYTHON_COMPILING_IN_CPYTHON -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { - PyObject *self, *result; - PyCFunction cfunc; - cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func); - self = __Pyx_CyOrPyCFunction_GET_SELF(func); - #if PY_MAJOR_VERSION < 3 - if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) - return NULL; - #else - if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) - return NULL; - #endif - result = cfunc(self, arg); - Py_LeaveRecursiveCall(); - if (unlikely(!result) && unlikely(!PyErr_Occurred())) { - PyErr_SetString( - PyExc_SystemError, - "NULL result without error in PyObject_Call"); - } - return result; -} -#endif - -/* PyObjectFastCall */ -#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API -static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) { - PyObject *argstuple; - PyObject *result = 0; - size_t i; - argstuple = PyTuple_New((Py_ssize_t)nargs); - if (unlikely(!argstuple)) return NULL; - for (i = 0; i < nargs; i++) { - Py_INCREF(args[i]); - if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad; - } - result = __Pyx_PyObject_Call(func, argstuple, kwargs); - bad: - Py_DECREF(argstuple); - return result; -} -#endif -static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) { - Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs); -#if CYTHON_COMPILING_IN_CPYTHON - if (nargs == 0 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS)) - return __Pyx_PyObject_CallMethO(func, NULL); - } - else if (nargs == 1 && kwargs == NULL) { - if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O)) - return __Pyx_PyObject_CallMethO(func, args[0]); - } -#endif - #if PY_VERSION_HEX < 0x030800B1 - #if CYTHON_FAST_PYCCALL - if (PyCFunction_Check(func)) { - if (kwargs) { - return _PyCFunction_FastCallDict(func, args, nargs, kwargs); - } else { - return _PyCFunction_FastCallKeywords(func, args, nargs, NULL); - } - } - #if PY_VERSION_HEX >= 0x030700A1 - if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) { - return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL); - } - #endif - #endif - #if CYTHON_FAST_PYCALL - if (PyFunction_Check(func)) { - return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs); - } - #endif - #endif - if (kwargs == NULL) { - #if CYTHON_VECTORCALL - #if PY_VERSION_HEX < 0x03090000 - vectorcallfunc f = _PyVectorcall_Function(func); - #else - vectorcallfunc f = PyVectorcall_Function(func); - #endif - if (f) { - return f(func, args, (size_t)nargs, NULL); - } - #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL - if (__Pyx_CyFunction_CheckExact(func)) { - __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func); - if (f) return f(func, args, (size_t)nargs, NULL); - } - #endif - } - if (nargs == 0) { - return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs); - } - #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API - return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs); - #else - return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs); - #endif -} - -/* FixUpExtensionType */ -#if CYTHON_USE_TYPE_SPECS -static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) { -#if PY_VERSION_HEX > 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - CYTHON_UNUSED_VAR(spec); - CYTHON_UNUSED_VAR(type); -#else - const PyType_Slot *slot = spec->slots; - while (slot && slot->slot && slot->slot != Py_tp_members) - slot++; - if (slot && slot->slot == Py_tp_members) { - int changed = 0; -#if !(PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON) - const -#endif - PyMemberDef *memb = (PyMemberDef*) slot->pfunc; - while (memb && memb->name) { - if (memb->name[0] == '_' && memb->name[1] == '_') { -#if PY_VERSION_HEX < 0x030900b1 - if (strcmp(memb->name, "__weaklistoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_weaklistoffset = memb->offset; - changed = 1; - } - else if (strcmp(memb->name, "__dictoffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); - type->tp_dictoffset = memb->offset; - changed = 1; - } -#if CYTHON_METH_FASTCALL - else if (strcmp(memb->name, "__vectorcalloffset__") == 0) { - assert(memb->type == T_PYSSIZET); - assert(memb->flags == READONLY); -#if PY_VERSION_HEX >= 0x030800b4 - type->tp_vectorcall_offset = memb->offset; -#else - type->tp_print = (printfunc) memb->offset; -#endif - changed = 1; - } -#endif -#else - if ((0)); -#endif -#if PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON - else if (strcmp(memb->name, "__module__") == 0) { - PyObject *descr; - assert(memb->type == T_OBJECT); - assert(memb->flags == 0 || memb->flags == READONLY); - descr = PyDescr_NewMember(type, memb); - if (unlikely(!descr)) - return -1; - if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) { - Py_DECREF(descr); - return -1; - } - Py_DECREF(descr); - changed = 1; - } -#endif - } - memb++; - } - if (changed) - PyType_Modified(type); - } -#endif - return 0; -} -#endif - -/* FetchSharedCythonModule */ -static PyObject *__Pyx_FetchSharedCythonABIModule(void) { - return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME); -} - -/* FetchCommonType */ -static int __Pyx_VerifyCachedType(PyObject *cached_type, - const char *name, - Py_ssize_t basicsize, - Py_ssize_t expected_basicsize) { - if (!PyType_Check(cached_type)) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s is not a type object", name); - return -1; - } - if (basicsize != expected_basicsize) { - PyErr_Format(PyExc_TypeError, - "Shared Cython type %.200s has the wrong size, try recompiling", - name); - return -1; - } - return 0; -} -#if !CYTHON_USE_TYPE_SPECS -static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { - PyObject* abi_module; - const char* object_name; - PyTypeObject *cached_type = NULL; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - object_name = strrchr(type->tp_name, '.'); - object_name = object_name ? object_name+1 : type->tp_name; - cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - if (__Pyx_VerifyCachedType( - (PyObject *)cached_type, - object_name, - cached_type->tp_basicsize, - type->tp_basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - if (PyType_Ready(type) < 0) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0) - goto bad; - Py_INCREF(type); - cached_type = type; -done: - Py_DECREF(abi_module); - return cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#else -static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) { - PyObject *abi_module, *cached_type = NULL; - const char* object_name = strrchr(spec->name, '.'); - object_name = object_name ? object_name+1 : spec->name; - abi_module = __Pyx_FetchSharedCythonABIModule(); - if (!abi_module) return NULL; - cached_type = PyObject_GetAttrString(abi_module, object_name); - if (cached_type) { - Py_ssize_t basicsize; -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *py_basicsize; - py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__"); - if (unlikely(!py_basicsize)) goto bad; - basicsize = PyLong_AsSsize_t(py_basicsize); - Py_DECREF(py_basicsize); - py_basicsize = 0; - if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; -#else - basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1; -#endif - if (__Pyx_VerifyCachedType( - cached_type, - object_name, - basicsize, - spec->basicsize) < 0) { - goto bad; - } - goto done; - } - if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; - PyErr_Clear(); - CYTHON_UNUSED_VAR(module); - cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases); - if (unlikely(!cached_type)) goto bad; - if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad; - if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad; -done: - Py_DECREF(abi_module); - assert(cached_type == NULL || PyType_Check(cached_type)); - return (PyTypeObject *) cached_type; -bad: - Py_XDECREF(cached_type); - cached_type = NULL; - goto done; -} -#endif - -/* RaiseException */ -#if PY_MAJOR_VERSION < 3 -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - __Pyx_PyThreadState_declare - CYTHON_UNUSED_VAR(cause); - Py_XINCREF(type); - if (!value || value == Py_None) - value = NULL; - else - Py_INCREF(value); - if (!tb || tb == Py_None) - tb = NULL; - else { - Py_INCREF(tb); - if (!PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto raise_error; - } - } - if (PyType_Check(type)) { -#if CYTHON_COMPILING_IN_PYPY - if (!value) { - Py_INCREF(Py_None); - value = Py_None; - } -#endif - PyErr_NormalizeException(&type, &value, &tb); - } else { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto raise_error; - } - value = type; - type = (PyObject*) Py_TYPE(type); - Py_INCREF(type); - if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto raise_error; - } - } - __Pyx_PyThreadState_assign - __Pyx_ErrRestore(type, value, tb); - return; -raise_error: - Py_XDECREF(value); - Py_XDECREF(type); - Py_XDECREF(tb); - return; -} -#else -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { - PyObject* owned_instance = NULL; - if (tb == Py_None) { - tb = 0; - } else if (tb && !PyTraceBack_Check(tb)) { - PyErr_SetString(PyExc_TypeError, - "raise: arg 3 must be a traceback or None"); - goto bad; - } - if (value == Py_None) - value = 0; - if (PyExceptionInstance_Check(type)) { - if (value) { - PyErr_SetString(PyExc_TypeError, - "instance exception may not have a separate value"); - goto bad; - } - value = type; - type = (PyObject*) Py_TYPE(value); - } else if (PyExceptionClass_Check(type)) { - PyObject *instance_class = NULL; - if (value && PyExceptionInstance_Check(value)) { - instance_class = (PyObject*) Py_TYPE(value); - if (instance_class != type) { - int is_subclass = PyObject_IsSubclass(instance_class, type); - if (!is_subclass) { - instance_class = NULL; - } else if (unlikely(is_subclass == -1)) { - goto bad; - } else { - type = instance_class; - } - } - } - if (!instance_class) { - PyObject *args; - if (!value) - args = PyTuple_New(0); - else if (PyTuple_Check(value)) { - Py_INCREF(value); - args = value; - } else - args = PyTuple_Pack(1, value); - if (!args) - goto bad; - owned_instance = PyObject_Call(type, args, NULL); - Py_DECREF(args); - if (!owned_instance) - goto bad; - value = owned_instance; - if (!PyExceptionInstance_Check(value)) { - PyErr_Format(PyExc_TypeError, - "calling %R should have returned an instance of " - "BaseException, not %R", - type, Py_TYPE(value)); - goto bad; - } - } - } else { - PyErr_SetString(PyExc_TypeError, - "raise: exception class must be a subclass of BaseException"); - goto bad; - } - if (cause) { - PyObject *fixed_cause; - if (cause == Py_None) { - fixed_cause = NULL; - } else if (PyExceptionClass_Check(cause)) { - fixed_cause = PyObject_CallObject(cause, NULL); - if (fixed_cause == NULL) - goto bad; - } else if (PyExceptionInstance_Check(cause)) { - fixed_cause = cause; - Py_INCREF(fixed_cause); - } else { - PyErr_SetString(PyExc_TypeError, - "exception causes must derive from " - "BaseException"); - goto bad; - } - PyException_SetCause(value, fixed_cause); - } - PyErr_SetObject(type, value); - if (tb) { - #if PY_VERSION_HEX >= 0x030C00A6 - PyException_SetTraceback(value, tb); - #elif CYTHON_FAST_THREAD_STATE - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject* tmp_tb = tstate->curexc_traceback; - if (tb != tmp_tb) { - Py_INCREF(tb); - tstate->curexc_traceback = tb; - Py_XDECREF(tmp_tb); - } -#else - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); - Py_INCREF(tb); - PyErr_Restore(tmp_type, tmp_value, tb); - Py_XDECREF(tmp_tb); -#endif - } -bad: - Py_XDECREF(owned_instance); - return; -} -#endif - -/* GetTopmostException */ -#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE -static _PyErr_StackItem * -__Pyx_PyErr_GetTopmostException(PyThreadState *tstate) -{ - _PyErr_StackItem *exc_info = tstate->exc_info; - while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) && - exc_info->previous_item != NULL) - { - exc_info = exc_info->previous_item; - } - return exc_info; -} -#endif - -/* SaveResetException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - PyObject *exc_value = exc_info->exc_value; - if (exc_value == NULL || exc_value == Py_None) { - *value = NULL; - *type = NULL; - *tb = NULL; - } else { - *value = exc_value; - Py_INCREF(*value); - *type = (PyObject*) Py_TYPE(exc_value); - Py_INCREF(*type); - *tb = PyException_GetTraceback(exc_value); - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); - *type = exc_info->exc_type; - *value = exc_info->exc_value; - *tb = exc_info->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #else - *type = tstate->exc_type; - *value = tstate->exc_value; - *tb = tstate->exc_traceback; - Py_XINCREF(*type); - Py_XINCREF(*value); - Py_XINCREF(*tb); - #endif -} -static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - PyObject *tmp_value = exc_info->exc_value; - exc_info->exc_value = value; - Py_XDECREF(tmp_value); - Py_XDECREF(type); - Py_XDECREF(tb); - #else - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = type; - exc_info->exc_value = value; - exc_info->exc_traceback = tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = type; - tstate->exc_value = value; - tstate->exc_traceback = tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); - #endif -} -#endif - -/* SwapException */ -#if CYTHON_FAST_THREAD_STATE -static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4 - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_value = exc_info->exc_value; - exc_info->exc_value = *value; - if (tmp_value == NULL || tmp_value == Py_None) { - Py_XDECREF(tmp_value); - tmp_value = NULL; - tmp_type = NULL; - tmp_tb = NULL; - } else { - tmp_type = (PyObject*) Py_TYPE(tmp_value); - Py_INCREF(tmp_type); - #if CYTHON_COMPILING_IN_CPYTHON - tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback; - Py_XINCREF(tmp_tb); - #else - tmp_tb = PyException_GetTraceback(tmp_value); - #endif - } - #elif CYTHON_USE_EXC_INFO_STACK - _PyErr_StackItem *exc_info = tstate->exc_info; - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = *type; - exc_info->exc_value = *value; - exc_info->exc_traceback = *tb; - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = *type; - tstate->exc_value = *value; - tstate->exc_traceback = *tb; - #endif - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#else -static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb); - PyErr_SetExcInfo(*type, *value, *tb); - *type = tmp_type; - *value = tmp_value; - *tb = tmp_tb; -} -#endif - -/* PyObjectCall2Args */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) { - PyObject *args[3] = {NULL, arg1, arg2}; - return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectCallOneArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { - PyObject *args[2] = {NULL, arg}; - return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* PyObjectGetMethod */ -static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { - PyObject *attr; -#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP - __Pyx_TypeName type_name; - PyTypeObject *tp = Py_TYPE(obj); - PyObject *descr; - descrgetfunc f = NULL; - PyObject **dictptr, *dict; - int meth_found = 0; - assert (*method == NULL); - if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; - } - if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { - return 0; - } - descr = _PyType_Lookup(tp, name); - if (likely(descr != NULL)) { - Py_INCREF(descr); -#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR - if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR)) -#elif PY_MAJOR_VERSION >= 3 - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type))) - #endif -#else - #ifdef __Pyx_CyFunction_USED - if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) - #else - if (likely(PyFunction_Check(descr))) - #endif -#endif - { - meth_found = 1; - } else { - f = Py_TYPE(descr)->tp_descr_get; - if (f != NULL && PyDescr_IsData(descr)) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - } - } - dictptr = _PyObject_GetDictPtr(obj); - if (dictptr != NULL && (dict = *dictptr) != NULL) { - Py_INCREF(dict); - attr = __Pyx_PyDict_GetItemStr(dict, name); - if (attr != NULL) { - Py_INCREF(attr); - Py_DECREF(dict); - Py_XDECREF(descr); - goto try_unpack; - } - Py_DECREF(dict); - } - if (meth_found) { - *method = descr; - return 1; - } - if (f != NULL) { - attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); - Py_DECREF(descr); - goto try_unpack; - } - if (likely(descr != NULL)) { - *method = descr; - return 0; - } - type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return 0; -#else - attr = __Pyx_PyObject_GetAttrStr(obj, name); - goto try_unpack; -#endif -try_unpack: -#if CYTHON_UNPACK_METHODS - if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { - PyObject *function = PyMethod_GET_FUNCTION(attr); - Py_INCREF(function); - Py_DECREF(attr); - *method = function; - return 1; - } -#endif - *method = attr; - return 0; -} - -/* PyObjectCallMethod1 */ -#if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2) -static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) { - PyObject *result = __Pyx_PyObject_CallOneArg(method, arg); - Py_DECREF(method); - return result; -} -#endif -static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) { -#if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2 - PyObject *args[2] = {obj, arg}; - (void) __Pyx_PyObject_GetMethod; - (void) __Pyx_PyObject_CallOneArg; - (void) __Pyx_PyObject_Call2Args; - return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL); -#else - PyObject *method = NULL, *result; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_Call2Args(method, obj, arg); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) return NULL; - return __Pyx__PyObject_CallMethod1(method, arg); -#endif -} - -/* PyObjectCallNoArg */ -static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { - PyObject *arg[2] = {NULL, NULL}; - return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); -} - -/* CoroutineBase */ -#include -#if PY_VERSION_HEX >= 0x030b00a6 && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom) -static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) { - PyObject *et, *ev, *tb; - PyObject *value = NULL; - CYTHON_UNUSED_VAR(__pyx_tstate); - __Pyx_ErrFetch(&et, &ev, &tb); - if (!et) { - Py_XDECREF(tb); - Py_XDECREF(ev); - Py_INCREF(Py_None); - *pvalue = Py_None; - return 0; - } - if (likely(et == PyExc_StopIteration)) { - if (!ev) { - Py_INCREF(Py_None); - value = Py_None; - } -#if PY_VERSION_HEX >= 0x030300A0 - else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) { - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); - } -#endif - else if (unlikely(PyTuple_Check(ev))) { - if (PyTuple_GET_SIZE(ev) >= 1) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - value = PyTuple_GET_ITEM(ev, 0); - Py_INCREF(value); -#else - value = PySequence_ITEM(ev, 0); -#endif - } else { - Py_INCREF(Py_None); - value = Py_None; - } - Py_DECREF(ev); - } - else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) { - value = ev; - } - if (likely(value)) { - Py_XDECREF(tb); - Py_DECREF(et); - *pvalue = value; - return 0; - } - } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - PyErr_NormalizeException(&et, &ev, &tb); - if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) { - __Pyx_ErrRestore(et, ev, tb); - return -1; - } - Py_XDECREF(tb); - Py_DECREF(et); -#if PY_VERSION_HEX >= 0x030300A0 - value = ((PyStopIterationObject *)ev)->value; - Py_INCREF(value); - Py_DECREF(ev); -#else - { - PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args); - Py_DECREF(ev); - if (likely(args)) { - value = PySequence_GetItem(args, 0); - Py_DECREF(args); - } - if (unlikely(!value)) { - __Pyx_ErrRestore(NULL, NULL, NULL); - Py_INCREF(Py_None); - value = Py_None; - } - } -#endif - *pvalue = value; - return 0; -} -static CYTHON_INLINE -void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_CLEAR(exc_state->exc_value); -#else - PyObject *t, *v, *tb; - t = exc_state->exc_type; - v = exc_state->exc_value; - tb = exc_state->exc_traceback; - exc_state->exc_type = NULL; - exc_state->exc_value = NULL; - exc_state->exc_traceback = NULL; - Py_XDECREF(t); - Py_XDECREF(v); - Py_XDECREF(tb); -#endif -} -#define __Pyx_Coroutine_AlreadyRunningError(gen) (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check((PyObject*)gen)) { - msg = "coroutine already executing"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) { - msg = "async generator already executing"; - #endif - } else { - msg = "generator already executing"; - } - PyErr_SetString(PyExc_ValueError, msg); -} -#define __Pyx_Coroutine_NotStartedError(gen) (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL) -static void __Pyx__Coroutine_NotStartedError(PyObject *gen) { - const char *msg; - CYTHON_MAYBE_UNUSED_VAR(gen); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(gen)) { - msg = "can't send non-None value to a just-started coroutine"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(gen)) { - msg = "can't send non-None value to a just-started async generator"; - #endif - } else { - msg = "can't send non-None value to a just-started generator"; - } - PyErr_SetString(PyExc_TypeError, msg); -} -#define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing) (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL) -static void __Pyx__Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) { - CYTHON_MAYBE_UNUSED_VAR(gen); - CYTHON_MAYBE_UNUSED_VAR(closing); - #ifdef __Pyx_Coroutine_USED - if (!closing && __Pyx_Coroutine_Check(gen)) { - PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine"); - } else - #endif - if (value) { - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration); - else - #endif - PyErr_SetNone(PyExc_StopIteration); - } -} -static -PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) { - __Pyx_PyThreadState_declare - PyThreadState *tstate; - __Pyx_ExcInfoStruct *exc_state; - PyObject *retval; - assert(!self->is_running); - if (unlikely(self->resume_label == 0)) { - if (unlikely(value && value != Py_None)) { - return __Pyx_Coroutine_NotStartedError((PyObject*)self); - } - } - if (unlikely(self->resume_label == -1)) { - return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing); - } -#if CYTHON_FAST_THREAD_STATE - __Pyx_PyThreadState_assign - tstate = __pyx_tstate; -#else - tstate = __Pyx_PyThreadState_Current; -#endif - exc_state = &self->gi_exc_state; - if (exc_state->exc_value) { - #if CYTHON_COMPILING_IN_PYPY - #else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #elif PY_VERSION_HEX >= 0x030B00a4 - exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback; - #else - exc_tb = exc_state->exc_traceback; - #endif - if (exc_tb) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - assert(f->f_back == NULL); - #if PY_VERSION_HEX >= 0x030B00A1 - f->f_back = PyThreadState_GetFrame(tstate); - #else - Py_XINCREF(tstate->frame); - f->f_back = tstate->frame; - #endif - #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON - Py_DECREF(exc_tb); - #endif - } - #endif - } -#if CYTHON_USE_EXC_INFO_STACK - exc_state->previous_item = tstate->exc_info; - tstate->exc_info = exc_state; -#else - if (exc_state->exc_type) { - __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } else { - __Pyx_Coroutine_ExceptionClear(exc_state); - __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback); - } -#endif - self->is_running = 1; - retval = self->body(self, tstate, value); - self->is_running = 0; -#if CYTHON_USE_EXC_INFO_STACK - exc_state = &self->gi_exc_state; - tstate->exc_info = exc_state->previous_item; - exc_state->previous_item = NULL; - __Pyx_Coroutine_ResetFrameBackpointer(exc_state); -#endif - return retval; -} -static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) { -#if CYTHON_COMPILING_IN_PYPY - CYTHON_UNUSED_VAR(exc_state); -#else - PyObject *exc_tb; - #if PY_VERSION_HEX >= 0x030B00a4 - if (!exc_state->exc_value) return; - exc_tb = PyException_GetTraceback(exc_state->exc_value); - #else - exc_tb = exc_state->exc_traceback; - #endif - if (likely(exc_tb)) { - PyTracebackObject *tb = (PyTracebackObject *) exc_tb; - PyFrameObject *f = tb->tb_frame; - Py_CLEAR(f->f_back); - #if PY_VERSION_HEX >= 0x030B00a4 - Py_DECREF(exc_tb); - #endif - } -#endif -} -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_MethodReturn(PyObject* gen, PyObject *retval) { - CYTHON_MAYBE_UNUSED_VAR(gen); - if (unlikely(!retval)) { - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - if (!__Pyx_PyErr_Occurred()) { - PyObject *exc = PyExc_StopIteration; - #ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(gen)) - exc = __Pyx_PyExc_StopAsyncIteration; - #endif - __Pyx_PyErr_SetNone(exc); - } - } - return retval; -} -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) -static CYTHON_INLINE -PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) { -#if PY_VERSION_HEX <= 0x030A00A1 - return _PyGen_Send(gen, arg); -#else - PyObject *result; - if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) { - if (PyAsyncGen_CheckExact(gen)) { - assert(result == Py_None); - PyErr_SetNone(PyExc_StopAsyncIteration); - } - else if (result == Py_None) { - PyErr_SetNone(PyExc_StopIteration); - } - else { -#if PY_VERSION_HEX < 0x030d00A1 - _PyGen_SetStopIterationValue(result); -#else - if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) { - PyErr_SetObject(PyExc_StopIteration, result); - } else { - PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result); - if (likely(exc != NULL)) { - PyErr_SetObject(PyExc_StopIteration, exc); - Py_DECREF(exc); - } - } -#endif - } - Py_DECREF(result); - result = NULL; - } - return result; -#endif -} -#endif -static CYTHON_INLINE -PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) { - PyObject *ret; - PyObject *val = NULL; - __Pyx_Coroutine_Undelegate(gen); - __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val); - ret = __Pyx_Coroutine_SendEx(gen, val, 0); - Py_XDECREF(val); - return ret; -} -static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) { - PyObject *retval; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, value); - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - ret = __Pyx_async_gen_asend_send(yf, value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyCoro_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value); - } else - #endif - { - if (value == Py_None) - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - else - ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value); - } - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - retval = __Pyx_Coroutine_FinishDelegation(gen); - } else { - retval = __Pyx_Coroutine_SendEx(gen, value, 0); - } - return __Pyx_Coroutine_MethodReturn(self, retval); -} -static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) { - PyObject *retval = NULL; - int err = 0; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - retval = __Pyx_Coroutine_Close(yf); - if (!retval) - return -1; - } else - if (__Pyx_CoroutineAwait_CheckExact(yf)) { - retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL); - if (!retval) - return -1; - } else - #endif - #ifdef __Pyx_AsyncGen_USED - if (__pyx_PyAsyncGenASend_CheckExact(yf)) { - retval = __Pyx_async_gen_asend_close(yf, NULL); - } else - if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) { - retval = __Pyx_async_gen_athrow_close(yf, NULL); - } else - #endif - { - PyObject *meth; - gen->is_running = 1; - meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_close); - if (unlikely(!meth)) { - if (unlikely(PyErr_Occurred())) { - PyErr_WriteUnraisable(yf); - } - } else { - retval = __Pyx_PyObject_CallNoArg(meth); - Py_DECREF(meth); - if (unlikely(!retval)) - err = -1; - } - gen->is_running = 0; - } - Py_XDECREF(retval); - return err; -} -static PyObject *__Pyx_Generator_Next(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - gen->is_running = 1; - #ifdef __Pyx_Generator_USED - if (__Pyx_Generator_CheckExact(yf)) { - ret = __Pyx_Generator_Next(yf); - } else - #endif - #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3) - if (PyGen_CheckExact(yf)) { - ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL); - } else - #endif - #ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(yf)) { - ret = __Pyx_Coroutine_Send(yf, Py_None); - } else - #endif - ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf); - gen->is_running = 0; - if (likely(ret)) { - return ret; - } - return __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_SendEx(gen, Py_None, 0); -} -static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self); -} -static PyObject *__Pyx_Coroutine_Close(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *retval, *raised_exception; - PyObject *yf = gen->yieldfrom; - int err = 0; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - Py_INCREF(yf); - err = __Pyx_Coroutine_CloseIter(gen, yf); - __Pyx_Coroutine_Undelegate(gen); - Py_DECREF(yf); - } - if (err == 0) - PyErr_SetNone(PyExc_GeneratorExit); - retval = __Pyx_Coroutine_SendEx(gen, NULL, 1); - if (unlikely(retval)) { - const char *msg; - Py_DECREF(retval); - if ((0)) { - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_Coroutine_Check(self)) { - msg = "coroutine ignored GeneratorExit"; - #endif - #ifdef __Pyx_AsyncGen_USED - } else if (__Pyx_AsyncGen_CheckExact(self)) { -#if PY_VERSION_HEX < 0x03060000 - msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)"; -#else - msg = "async generator ignored GeneratorExit"; -#endif - #endif - } else { - msg = "generator ignored GeneratorExit"; - } - PyErr_SetString(PyExc_RuntimeError, msg); - return NULL; - } - raised_exception = PyErr_Occurred(); - if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) { - if (raised_exception) PyErr_Clear(); - Py_INCREF(Py_None); - return Py_None; - } - return NULL; -} -static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb, - PyObject *args, int close_on_genexit) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject *yf = gen->yieldfrom; - if (unlikely(gen->is_running)) - return __Pyx_Coroutine_AlreadyRunningError(gen); - if (yf) { - PyObject *ret; - Py_INCREF(yf); - if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) { - int err = __Pyx_Coroutine_CloseIter(gen, yf); - Py_DECREF(yf); - __Pyx_Coroutine_Undelegate(gen); - if (err < 0) - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); - goto throw_here; - } - gen->is_running = 1; - if (0 - #ifdef __Pyx_Generator_USED - || __Pyx_Generator_CheckExact(yf) - #endif - #ifdef __Pyx_Coroutine_USED - || __Pyx_Coroutine_Check(yf) - #endif - ) { - ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit); - #ifdef __Pyx_Coroutine_USED - } else if (__Pyx_CoroutineAwait_CheckExact(yf)) { - ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit); - #endif - } else { - PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_throw); - if (unlikely(!meth)) { - Py_DECREF(yf); - if (unlikely(PyErr_Occurred())) { - gen->is_running = 0; - return NULL; - } - __Pyx_Coroutine_Undelegate(gen); - gen->is_running = 0; - goto throw_here; - } - if (likely(args)) { - ret = __Pyx_PyObject_Call(meth, args, NULL); - } else { - PyObject *cargs[4] = {NULL, typ, val, tb}; - ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); - } - Py_DECREF(meth); - } - gen->is_running = 0; - Py_DECREF(yf); - if (!ret) { - ret = __Pyx_Coroutine_FinishDelegation(gen); - } - return __Pyx_Coroutine_MethodReturn(self, ret); - } -throw_here: - __Pyx_Raise(typ, val, tb, NULL); - return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0)); -} -static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) { - PyObject *typ; - PyObject *val = NULL; - PyObject *tb = NULL; - if (unlikely(!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb))) - return NULL; - return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1); -} -static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) { -#if PY_VERSION_HEX >= 0x030B00a4 - Py_VISIT(exc_state->exc_value); -#else - Py_VISIT(exc_state->exc_type); - Py_VISIT(exc_state->exc_value); - Py_VISIT(exc_state->exc_traceback); -#endif - return 0; -} -static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) { - Py_VISIT(gen->closure); - Py_VISIT(gen->classobj); - Py_VISIT(gen->yieldfrom); - return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg); -} -static int __Pyx_Coroutine_clear(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - Py_CLEAR(gen->closure); - Py_CLEAR(gen->classobj); - Py_CLEAR(gen->yieldfrom); - __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer); - } -#endif - Py_CLEAR(gen->gi_code); - Py_CLEAR(gen->gi_frame); - Py_CLEAR(gen->gi_name); - Py_CLEAR(gen->gi_qualname); - Py_CLEAR(gen->gi_modulename); - return 0; -} -static void __Pyx_Coroutine_dealloc(PyObject *self) { - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - PyObject_GC_UnTrack(gen); - if (gen->gi_weakreflist != NULL) - PyObject_ClearWeakRefs(self); - if (gen->resume_label >= 0) { - PyObject_GC_Track(self); -#if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE - if (unlikely(PyObject_CallFinalizerFromDealloc(self))) -#else - Py_TYPE(gen)->tp_del(self); - if (unlikely(Py_REFCNT(self) > 0)) -#endif - { - return; - } - PyObject_GC_UnTrack(self); - } -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - /* We have to handle this case for asynchronous generators - right here, because this code has to be between UNTRACK - and GC_Del. */ - Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer); - } -#endif - __Pyx_Coroutine_clear(self); - __Pyx_PyHeapTypeObject_GC_Del(gen); -} -static void __Pyx_Coroutine_del(PyObject *self) { - PyObject *error_type, *error_value, *error_traceback; - __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self; - __Pyx_PyThreadState_declare - if (gen->resume_label < 0) { - return; - } -#if !CYTHON_USE_TP_FINALIZE - assert(self->ob_refcnt == 0); - __Pyx_SET_REFCNT(self, 1); -#endif - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&error_type, &error_value, &error_traceback); -#ifdef __Pyx_AsyncGen_USED - if (__Pyx_AsyncGen_CheckExact(self)) { - __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self; - PyObject *finalizer = agen->ag_finalizer; - if (finalizer && !agen->ag_closed) { - PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self); - if (unlikely(!res)) { - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); - return; - } - } -#endif - if (unlikely(gen->resume_label == 0 && !error_value)) { -#ifdef __Pyx_Coroutine_USED -#ifdef __Pyx_Generator_USED - if (!__Pyx_Generator_CheckExact(self)) -#endif - { - PyObject_GC_UnTrack(self); -#if PY_MAJOR_VERSION >= 3 || defined(PyErr_WarnFormat) - if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0)) - PyErr_WriteUnraisable(self); -#else - {PyObject *msg; - char *cmsg; - #if CYTHON_COMPILING_IN_PYPY - msg = NULL; - cmsg = (char*) "coroutine was never awaited"; - #else - char *cname; - PyObject *qualname; - qualname = gen->gi_qualname; - cname = PyString_AS_STRING(qualname); - msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname); - if (unlikely(!msg)) { - PyErr_Clear(); - cmsg = (char*) "coroutine was never awaited"; - } else { - cmsg = PyString_AS_STRING(msg); - } - #endif - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0)) - PyErr_WriteUnraisable(self); - Py_XDECREF(msg);} -#endif - PyObject_GC_Track(self); - } -#endif - } else { - PyObject *res = __Pyx_Coroutine_Close(self); - if (unlikely(!res)) { - if (PyErr_Occurred()) - PyErr_WriteUnraisable(self); - } else { - Py_DECREF(res); - } - } - __Pyx_ErrRestore(error_type, error_value, error_traceback); -#if !CYTHON_USE_TP_FINALIZE - assert(Py_REFCNT(self) > 0); - if (likely(--self->ob_refcnt == 0)) { - return; - } - { - Py_ssize_t refcnt = Py_REFCNT(self); - _Py_NewReference(self); - __Pyx_SET_REFCNT(self, refcnt); - } -#if CYTHON_COMPILING_IN_CPYTHON - assert(PyType_IS_GC(Py_TYPE(self)) && - _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED); - _Py_DEC_REFTOTAL; -#endif -#ifdef COUNT_ALLOCS - --Py_TYPE(self)->tp_frees; - --Py_TYPE(self)->tp_allocs; -#endif -#endif -} -static PyObject * -__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_name; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_name, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context) -{ - PyObject *name = self->gi_qualname; - CYTHON_UNUSED_VAR(context); - if (unlikely(!name)) name = Py_None; - Py_INCREF(name); - return name; -} -static int -__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(self->gi_qualname, value); - return 0; -} -static PyObject * -__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context) -{ - PyObject *frame = self->gi_frame; - CYTHON_UNUSED_VAR(context); - if (!frame) { - if (unlikely(!self->gi_code)) { - Py_RETURN_NONE; - } - frame = (PyObject *) PyFrame_New( - PyThreadState_Get(), /*PyThreadState *tstate,*/ - (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (unlikely(!frame)) - return NULL; - self->gi_frame = frame; - } - Py_INCREF(frame); - return frame; -} -static __pyx_CoroutineObject *__Pyx__Coroutine_New( - PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type); - if (unlikely(!gen)) - return NULL; - return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name); -} -static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit( - __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure, - PyObject *name, PyObject *qualname, PyObject *module_name) { - gen->body = body; - gen->closure = closure; - Py_XINCREF(closure); - gen->is_running = 0; - gen->resume_label = 0; - gen->classobj = NULL; - gen->yieldfrom = NULL; - #if PY_VERSION_HEX >= 0x030B00a4 - gen->gi_exc_state.exc_value = NULL; - #else - gen->gi_exc_state.exc_type = NULL; - gen->gi_exc_state.exc_value = NULL; - gen->gi_exc_state.exc_traceback = NULL; - #endif -#if CYTHON_USE_EXC_INFO_STACK - gen->gi_exc_state.previous_item = NULL; -#endif - gen->gi_weakreflist = NULL; - Py_XINCREF(qualname); - gen->gi_qualname = qualname; - Py_XINCREF(name); - gen->gi_name = name; - Py_XINCREF(module_name); - gen->gi_modulename = module_name; - Py_XINCREF(code); - gen->gi_code = code; - gen->gi_frame = NULL; - PyObject_GC_Track(gen); - return gen; -} - -/* PyObject_GenericGetAttrNoDict */ -#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 -static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { - __Pyx_TypeName type_name = __Pyx_PyType_GetName(tp); - PyErr_Format(PyExc_AttributeError, -#if PY_MAJOR_VERSION >= 3 - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", - type_name, attr_name); -#else - "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", - type_name, PyString_AS_STRING(attr_name)); -#endif - __Pyx_DECREF_TypeName(type_name); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { - PyObject *descr; - PyTypeObject *tp = Py_TYPE(obj); - if (unlikely(!PyString_Check(attr_name))) { - return PyObject_GenericGetAttr(obj, attr_name); - } - assert(!tp->tp_dictoffset); - descr = _PyType_Lookup(tp, attr_name); - if (unlikely(!descr)) { - return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); - } - Py_INCREF(descr); - #if PY_MAJOR_VERSION < 3 - if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) - #endif - { - descrgetfunc f = Py_TYPE(descr)->tp_descr_get; - if (unlikely(f)) { - PyObject *res = f(descr, obj, (PyObject *)tp); - Py_DECREF(descr); - return res; - } - } - return descr; -} -#endif - -/* PatchModuleWithCoroutine */ -static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - int result; - PyObject *globals, *result_obj; - globals = PyDict_New(); if (unlikely(!globals)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_coroutine_type", - #ifdef __Pyx_Coroutine_USED - (PyObject*)__pyx_CoroutineType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - result = PyDict_SetItemString(globals, "_cython_generator_type", - #ifdef __Pyx_Generator_USED - (PyObject*)__pyx_GeneratorType); - #else - Py_None); - #endif - if (unlikely(result < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore; - if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore; - result_obj = PyRun_String(py_code, Py_file_input, globals, globals); - if (unlikely(!result_obj)) goto ignore; - Py_DECREF(result_obj); - Py_DECREF(globals); - return module; -ignore: - Py_XDECREF(globals); - PyErr_WriteUnraisable(module); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) { - Py_DECREF(module); - module = NULL; - } -#else - py_code++; -#endif - return module; -} - -/* PatchGeneratorABC */ -#ifndef CYTHON_REGISTER_ABCS -#define CYTHON_REGISTER_ABCS 1 -#endif -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) -static PyObject* __Pyx_patch_abc_module(PyObject *module); -static PyObject* __Pyx_patch_abc_module(PyObject *module) { - module = __Pyx_Coroutine_patch_module( - module, "" -"if _cython_generator_type is not None:\n" -" try: Generator = _module.Generator\n" -" except AttributeError: pass\n" -" else: Generator.register(_cython_generator_type)\n" -"if _cython_coroutine_type is not None:\n" -" try: Coroutine = _module.Coroutine\n" -" except AttributeError: pass\n" -" else: Coroutine.register(_cython_coroutine_type)\n" - ); - return module; -} -#endif -static int __Pyx_patch_abc(void) { -#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED) - static int abc_patched = 0; - if (CYTHON_REGISTER_ABCS && !abc_patched) { - PyObject *module; - module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections"); - if (unlikely(!module)) { - PyErr_WriteUnraisable(NULL); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, - ((PY_MAJOR_VERSION >= 3) ? - "Cython module failed to register with collections.abc module" : - "Cython module failed to register with collections module"), 1) < 0)) { - return -1; - } - } else { - module = __Pyx_patch_abc_module(module); - abc_patched = 1; - if (unlikely(!module)) - return -1; - Py_DECREF(module); - } - module = PyImport_ImportModule("backports_abc"); - if (module) { - module = __Pyx_patch_abc_module(module); - Py_XDECREF(module); - } - if (!module) { - PyErr_Clear(); - } - } -#else - if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL); -#endif - return 0; -} - -/* Coroutine */ -static void __Pyx_CoroutineAwait_dealloc(PyObject *self) { - PyObject_GC_UnTrack(self); - Py_CLEAR(((__pyx_CoroutineAwaitObject*)self)->coroutine); - __Pyx_PyHeapTypeObject_GC_Del(self); -} -static int __Pyx_CoroutineAwait_traverse(__pyx_CoroutineAwaitObject *self, visitproc visit, void *arg) { - Py_VISIT(self->coroutine); - return 0; -} -static int __Pyx_CoroutineAwait_clear(__pyx_CoroutineAwaitObject *self) { - Py_CLEAR(self->coroutine); - return 0; -} -static PyObject *__Pyx_CoroutineAwait_Next(__pyx_CoroutineAwaitObject *self) { - return __Pyx_Generator_Next(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_Send(__pyx_CoroutineAwaitObject *self, PyObject *value) { - return __Pyx_Coroutine_Send(self->coroutine, value); -} -static PyObject *__Pyx_CoroutineAwait_Throw(__pyx_CoroutineAwaitObject *self, PyObject *args) { - return __Pyx_Coroutine_Throw(self->coroutine, args); -} -static PyObject *__Pyx_CoroutineAwait_Close(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx_Coroutine_Close(self->coroutine); -} -static PyObject *__Pyx_CoroutineAwait_self(PyObject *self) { - Py_INCREF(self); - return self; -} -#if !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_CoroutineAwait_no_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { - CYTHON_UNUSED_VAR(type); - CYTHON_UNUSED_VAR(args); - CYTHON_UNUSED_VAR(kwargs); - PyErr_SetString(PyExc_TypeError, "cannot instantiate type, use 'await coroutine' instead"); - return NULL; -} -#endif -static PyObject *__Pyx_CoroutineAwait_reduce_ex(__pyx_CoroutineAwaitObject *self, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - PyErr_Format(PyExc_TypeError, "cannot pickle '%.200s' object", - Py_TYPE(self)->tp_name); - return NULL; -} -static PyMethodDef __pyx_CoroutineAwait_methods[] = { - {"send", (PyCFunction) __Pyx_CoroutineAwait_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_CoroutineAwait_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next yielded value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_CoroutineAwait_Close, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, - {"__reduce_ex__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_O, 0}, - {"__reduce__", (PyCFunction) __Pyx_CoroutineAwait_reduce_ex, METH_NOARGS, 0}, - {0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineAwaitType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CoroutineAwait_dealloc}, - {Py_tp_traverse, (void *)__Pyx_CoroutineAwait_traverse}, - {Py_tp_clear, (void *)__Pyx_CoroutineAwait_clear}, -#if !CYTHON_COMPILING_IN_PYPY - {Py_tp_new, (void *)__Pyx_CoroutineAwait_no_new}, -#endif - {Py_tp_methods, (void *)__pyx_CoroutineAwait_methods}, - {Py_tp_iter, (void *)__Pyx_CoroutineAwait_self}, - {Py_tp_iternext, (void *)__Pyx_CoroutineAwait_Next}, - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineAwaitType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - __pyx_CoroutineAwaitType_slots -}; -#else -static PyTypeObject __pyx_CoroutineAwaitType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine_wrapper", - sizeof(__pyx_CoroutineAwaitObject), - 0, - (destructor) __Pyx_CoroutineAwait_dealloc, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, - PyDoc_STR("A wrapper object implementing __await__ for coroutines."), - (traverseproc) __Pyx_CoroutineAwait_traverse, - (inquiry) __Pyx_CoroutineAwait_clear, - 0, - 0, - __Pyx_CoroutineAwait_self, - (iternextfunc) __Pyx_CoroutineAwait_Next, - __pyx_CoroutineAwait_methods, - 0 , - 0 , - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if !CYTHON_COMPILING_IN_PYPY - __Pyx_CoroutineAwait_no_new, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -#if PY_VERSION_HEX < 0x030500B1 || defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static CYTHON_INLINE PyObject *__Pyx__Coroutine_await(PyObject *coroutine) { - __pyx_CoroutineAwaitObject *await = PyObject_GC_New(__pyx_CoroutineAwaitObject, __pyx_CoroutineAwaitType); - if (unlikely(!await)) return NULL; - Py_INCREF(coroutine); - await->coroutine = coroutine; - PyObject_GC_Track(await); - return (PyObject*)await; -} -#endif -#if PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_await_method(PyObject *coroutine, PyObject *arg) { - CYTHON_UNUSED_VAR(arg); - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if defined(__Pyx_IterableCoroutine_USED) || CYTHON_USE_ASYNC_SLOTS -static PyObject *__Pyx_Coroutine_await(PyObject *coroutine) { - if (unlikely(!coroutine || !__Pyx_Coroutine_Check(coroutine))) { - PyErr_SetString(PyExc_TypeError, "invalid input, expected coroutine"); - return NULL; - } - return __Pyx__Coroutine_await(coroutine); -} -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 -static PyObject *__Pyx_Coroutine_compare(PyObject *obj, PyObject *other, int op) { - PyObject* result; - switch (op) { - case Py_EQ: result = (other == obj) ? Py_True : Py_False; break; - case Py_NE: result = (other != obj) ? Py_True : Py_False; break; - default: - result = Py_NotImplemented; - } - Py_INCREF(result); - return result; -} -#endif -static PyMethodDef __pyx_Coroutine_methods[] = { - {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O, - (char*) PyDoc_STR("send(arg) -> send 'arg' into coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS, - (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in coroutine,\nreturn next iterated value or raise StopIteration.")}, - {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS, - (char*) PyDoc_STR("close() -> raise GeneratorExit inside coroutine.")}, -#if PY_VERSION_HEX < 0x030500B1 - {"__await__", (PyCFunction) __Pyx_Coroutine_await_method, METH_NOARGS, - (char*) PyDoc_STR("__await__() -> return an iterator to be used in await expression.")}, -#endif - {0, 0, 0, 0} -}; -static PyMemberDef __pyx_Coroutine_memberlist[] = { - {(char *) "cr_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL}, - {(char*) "cr_await", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY, - (char*) PyDoc_STR("object being awaited, or None")}, - {(char*) "cr_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL}, - {(char *) "__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0}, -#if CYTHON_USE_TYPE_SPECS - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyGetSetDef __pyx_Coroutine_getsets[] = { - {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name, - (char*) PyDoc_STR("name of the coroutine"), 0}, - {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname, - (char*) PyDoc_STR("qualified name of the coroutine"), 0}, - {(char *) "cr_frame", (getter)__Pyx_Coroutine_get_frame, NULL, - (char*) PyDoc_STR("Frame of the coroutine"), 0}, - {0, 0, 0, 0, 0} -}; -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CoroutineType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc}, - {Py_am_await, (void *)&__Pyx_Coroutine_await}, - {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse}, - {Py_tp_methods, (void *)__pyx_Coroutine_methods}, - {Py_tp_members, (void *)__pyx_Coroutine_memberlist}, - {Py_tp_getset, (void *)__pyx_Coroutine_getsets}, - {Py_tp_getattro, (void *) __Pyx_PyObject_GenericGetAttrNoDict}, -#if CYTHON_USE_TP_FINALIZE - {Py_tp_finalize, (void *)__Pyx_Coroutine_del}, -#endif - {0, 0}, -}; -static PyType_Spec __pyx_CoroutineType_spec = { - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - __pyx_CoroutineType_slots -}; -#else -#if CYTHON_USE_ASYNC_SLOTS -static __Pyx_PyAsyncMethodsStruct __pyx_Coroutine_as_async = { - __Pyx_Coroutine_await, - 0, - 0, -#if PY_VERSION_HEX >= 0x030A00A3 - 0, -#endif -}; -#endif -static PyTypeObject __pyx_CoroutineType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "coroutine", - sizeof(__pyx_CoroutineObject), - 0, - (destructor) __Pyx_Coroutine_dealloc, - 0, - 0, - 0, -#if CYTHON_USE_ASYNC_SLOTS - &__pyx_Coroutine_as_async, -#else - 0, -#endif - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, - 0, - (traverseproc) __Pyx_Coroutine_traverse, - 0, -#if CYTHON_USE_ASYNC_SLOTS && CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 && PY_VERSION_HEX < 0x030500B1 - __Pyx_Coroutine_compare, -#else - 0, -#endif - offsetof(__pyx_CoroutineObject, gi_weakreflist), - 0, - 0, - __pyx_Coroutine_methods, - __pyx_Coroutine_memberlist, - __pyx_Coroutine_getsets, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if CYTHON_USE_TP_FINALIZE - 0, -#else - __Pyx_Coroutine_del, -#endif - 0, -#if CYTHON_USE_TP_FINALIZE - __Pyx_Coroutine_del, -#elif PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_Coroutine_init(PyObject *module) { - CYTHON_MAYBE_UNUSED_VAR(module); -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineType_spec, NULL); -#else - __pyx_CoroutineType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; - __pyx_CoroutineType = __Pyx_FetchCommonType(&__pyx_CoroutineType_type); -#endif - if (unlikely(!__pyx_CoroutineType)) - return -1; -#ifdef __Pyx_IterableCoroutine_USED - if (unlikely(__pyx_IterableCoroutine_init(module) == -1)) - return -1; -#endif -#if CYTHON_USE_TYPE_SPECS - __pyx_CoroutineAwaitType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CoroutineAwaitType_spec, NULL); -#else - __pyx_CoroutineAwaitType = __Pyx_FetchCommonType(&__pyx_CoroutineAwaitType_type); -#endif - if (unlikely(!__pyx_CoroutineAwaitType)) - return -1; - return 0; -} - -/* GetAwaitIter */ -static CYTHON_INLINE PyObject *__Pyx_Coroutine_GetAwaitableIter(PyObject *o) { -#ifdef __Pyx_Coroutine_USED - if (__Pyx_Coroutine_Check(o)) { - return __Pyx_NewRef(o); - } -#endif - return __Pyx__Coroutine_GetAwaitableIter(o); -} -static void __Pyx_Coroutine_AwaitableIterError(PyObject *source) { -#if PY_VERSION_HEX >= 0x030600B3 && PY_VERSION_HEX < 0x030d0000 || defined(_PyErr_FormatFromCause) - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - _PyErr_FormatFromCause(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); -#elif PY_MAJOR_VERSION >= 3 - PyObject *exc, *val, *val2, *tb; - __Pyx_TypeName source_type_name = __Pyx_PyType_GetName(Py_TYPE(source)); - assert(PyErr_Occurred()); - PyErr_Fetch(&exc, &val, &tb); - PyErr_NormalizeException(&exc, &val, &tb); - if (tb != NULL) { - PyException_SetTraceback(val, tb); - Py_DECREF(tb); - } - Py_DECREF(exc); - assert(!PyErr_Occurred()); - PyErr_Format(PyExc_TypeError, - "'async for' received an invalid object from __anext__: " __Pyx_FMT_TYPENAME, source_type_name); - __Pyx_DECREF_TypeName(source_type_name); - PyErr_Fetch(&exc, &val2, &tb); - PyErr_NormalizeException(&exc, &val2, &tb); - Py_INCREF(val); - PyException_SetCause(val2, val); - PyException_SetContext(val2, val); - PyErr_Restore(exc, val2, tb); -#else - CYTHON_UNUSED_VAR(source); -#endif -} -static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *obj) { - PyObject *res; -#if CYTHON_USE_ASYNC_SLOTS - __Pyx_PyAsyncMethodsStruct* am = __Pyx_PyType_AsAsync(obj); - if (likely(am && am->am_await)) { - res = (*am->am_await)(obj); - } else -#endif -#if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - if (PyCoro_CheckExact(obj)) { - return __Pyx_NewRef(obj); - } else -#endif -#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE) -#if PY_VERSION_HEX >= 0x030C00A6 - if (PyGen_CheckExact(obj) && (PyGen_GetCode((PyGenObject*)obj)->co_flags & CO_ITERABLE_COROUTINE)) { -#else - if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) { -#endif - return __Pyx_NewRef(obj); - } else -#endif - { - PyObject *method = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, __pyx_n_s_await, &method); - if (likely(is_method)) { - res = __Pyx_PyObject_CallOneArg(method, obj); - } else if (likely(method)) { - res = __Pyx_PyObject_CallNoArg(method); - } else - goto slot_error; - Py_DECREF(method); - } - if (unlikely(!res)) { - __Pyx_Coroutine_AwaitableIterError(obj); - goto bad; - } - if (unlikely(!PyIter_Check(res))) { - __Pyx_TypeName res_type_name = __Pyx_PyType_GetName(Py_TYPE(res)); - PyErr_Format(PyExc_TypeError, - "__await__() returned non-iterator of type '" __Pyx_FMT_TYPENAME "'", res_type_name); - __Pyx_DECREF_TypeName(res_type_name); - Py_CLEAR(res); - } else { - int is_coroutine = 0; - #ifdef __Pyx_Coroutine_USED - is_coroutine |= __Pyx_Coroutine_Check(res); - #endif - #if PY_VERSION_HEX >= 0x030500B2 || defined(PyCoro_CheckExact) - is_coroutine |= PyCoro_CheckExact(res); - #endif - if (unlikely(is_coroutine)) { - /* __await__ must return an *iterator*, not - a coroutine or another awaitable (see PEP 492) */ - PyErr_SetString(PyExc_TypeError, - "__await__() returned a coroutine"); - Py_CLEAR(res); - } - } - return res; -slot_error: - { - __Pyx_TypeName obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "object " __Pyx_FMT_TYPENAME " can't be used in 'await' expression", obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); - } -bad: - return NULL; -} - -/* CoroutineYieldFrom */ - static PyObject* __Pyx__Coroutine_Yield_From_Generic(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - PyObject *source_gen = __Pyx__Coroutine_GetAwaitableIter(source); - if (unlikely(!source_gen)) { - return NULL; - } - if (__Pyx_Coroutine_Check(source_gen)) { - retval = __Pyx_Generator_Next(source_gen); - } else { - retval = __Pyx_PyObject_GetIterNextFunc(source_gen)(source_gen); - } - if (retval) { - gen->yieldfrom = source_gen; - return retval; - } - Py_DECREF(source_gen); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject *gen, PyObject *source) { - PyObject *retval; - if (__Pyx_Coroutine_Check(source)) { - if (unlikely(((__pyx_CoroutineObject*)source)->yieldfrom)) { - PyErr_SetString( - PyExc_RuntimeError, - "coroutine is being awaited already"); - return NULL; - } - retval = __Pyx_Generator_Next(source); -#ifdef __Pyx_AsyncGen_USED - } else if (__pyx_PyAsyncGenASend_CheckExact(source)) { - retval = __Pyx_async_gen_asend_iternext(source); -#endif - } else { - return __Pyx__Coroutine_Yield_From_Generic(gen, source); - } - if (retval) { - Py_INCREF(source); - gen->yieldfrom = source; - } - return retval; -} - -/* PyIntBinop */ - #if !CYTHON_COMPILING_IN_PYPY -static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_MAYBE_UNUSED_VAR(inplace); - CYTHON_UNUSED_VAR(zerodivision_check); - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long x; - long a = PyInt_AS_LONG(op1); - - x = (long)((unsigned long)a + (unsigned long)b); - if (likely((x^a) >= 0 || (x^b) >= 0)) - return PyInt_FromLong(x); - return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - const long b = intval; - long a, x; -#ifdef HAVE_LONG_LONG - const PY_LONG_LONG llb = intval; - PY_LONG_LONG lla, llx; -#endif - if (unlikely(__Pyx_PyLong_IsZero(op1))) { - return __Pyx_NewRef(op2); - } - if (likely(__Pyx_PyLong_IsCompact(op1))) { - a = __Pyx_PyLong_CompactValue(op1); - } else { - const digit* digits = __Pyx_PyLong_Digits(op1); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1); - switch (size) { - case -2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 2: - if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) { - a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 3: - if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) { - a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case -4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - case 4: - if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) { - a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])); - break; - #ifdef HAVE_LONG_LONG - } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) { - lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0])); - goto long_long; - #endif - } - CYTHON_FALLTHROUGH; - default: return PyLong_Type.tp_as_number->nb_add(op1, op2); - } - } - x = a + b; - return PyLong_FromLong(x); -#ifdef HAVE_LONG_LONG - long_long: - llx = lla + llb; - return PyLong_FromLongLong(llx); -#endif - - - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - double result; - - PyFPE_START_PROTECT("add", return NULL) - result = ((double)a) + (double)b; - PyFPE_END_PROTECT(result) - return PyFloat_FromDouble(result); - } - return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2); -} -#endif - -/* GetItemInt */ - static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (unlikely(!j)) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyList_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - Py_ssize_t wrapped_i = i; - if (wraparound & unlikely(i < 0)) { - wrapped_i += PyTuple_GET_SIZE(o); - } - if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); - Py_INCREF(r); - return r; - } - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -#else - return PySequence_GetItem(o, i); -#endif -} -static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, - CYTHON_NCP_UNUSED int wraparound, - CYTHON_NCP_UNUSED int boundscheck) { -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS - if (is_list || PyList_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); - if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { - PyObject *r = PyList_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } - else if (PyTuple_CheckExact(o)) { - Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); - if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, n); - Py_INCREF(r); - return r; - } - } else { - PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping; - PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence; - if (mm && mm->mp_subscript) { - PyObject *r, *key = PyInt_FromSsize_t(i); - if (unlikely(!key)) return NULL; - r = mm->mp_subscript(o, key); - Py_DECREF(key); - return r; - } - if (likely(sm && sm->sq_item)) { - if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) { - Py_ssize_t l = sm->sq_length(o); - if (likely(l >= 0)) { - i += l; - } else { - if (!PyErr_ExceptionMatches(PyExc_OverflowError)) - return NULL; - PyErr_Clear(); - } - } - return sm->sq_item(o, i); - } - } -#else - if (is_list || !PyMapping_Check(o)) { - return PySequence_GetItem(o, i); - } -#endif - return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); -} - -/* ObjectGetItem */ - #if CYTHON_USE_TYPE_SLOTS -static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) { - PyObject *runerr = NULL; - Py_ssize_t key_value; - key_value = __Pyx_PyIndex_AsSsize_t(index); - if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { - return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); - } - if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { - __Pyx_TypeName index_type_name = __Pyx_PyType_GetName(Py_TYPE(index)); - PyErr_Clear(); - PyErr_Format(PyExc_IndexError, - "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", index_type_name); - __Pyx_DECREF_TypeName(index_type_name); - } - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) { - __Pyx_TypeName obj_type_name; - if (likely(PyType_Check(obj))) { - PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_n_s_class_getitem); - if (!meth) { - PyErr_Clear(); - } else { - PyObject *result = __Pyx_PyObject_CallOneArg(meth, key); - Py_DECREF(meth); - return result; - } - } - obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj_type_name); - __Pyx_DECREF_TypeName(obj_type_name); - return NULL; -} -static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) { - PyTypeObject *tp = Py_TYPE(obj); - PyMappingMethods *mm = tp->tp_as_mapping; - PySequenceMethods *sm = tp->tp_as_sequence; - if (likely(mm && mm->mp_subscript)) { - return mm->mp_subscript(obj, key); - } - if (likely(sm && sm->sq_item)) { - return __Pyx_PyObject_GetIndex(obj, key); - } - return __Pyx_PyObject_GetItem_Slow(obj, key); -} -#endif - -/* DictGetItem */ - #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY -static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) { - PyObject *value; - value = PyDict_GetItemWithError(d, key); - if (unlikely(!value)) { - if (!PyErr_Occurred()) { - if (unlikely(PyTuple_Check(key))) { - PyObject* args = PyTuple_Pack(1, key); - if (likely(args)) { - PyErr_SetObject(PyExc_KeyError, args); - Py_DECREF(args); - } - } else { - PyErr_SetObject(PyExc_KeyError, key); - } - } - return NULL; - } - Py_INCREF(value); - return value; -} -#endif - -/* PyIntCompare */ - static CYTHON_INLINE int __Pyx_PyInt_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) { - CYTHON_MAYBE_UNUSED_VAR(intval); - CYTHON_UNUSED_VAR(inplace); - if (op1 == op2) { - return 1; - } - #if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(op1))) { - const long b = intval; - long a = PyInt_AS_LONG(op1); - return (a == b); - } - #endif - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(PyLong_CheckExact(op1))) { - int unequal; - unsigned long uintval; - Py_ssize_t size = __Pyx_PyLong_DigitCount(op1); - const digit* digits = __Pyx_PyLong_Digits(op1); - if (intval == 0) { - return (__Pyx_PyLong_IsZero(op1) == 1); - } else if (intval < 0) { - if (__Pyx_PyLong_IsNonNeg(op1)) - return 0; - intval = -intval; - } else { - if (__Pyx_PyLong_IsNeg(op1)) - return 0; - } - uintval = (unsigned long) intval; -#if PyLong_SHIFT * 4 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 4)) { - unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 3 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 3)) { - unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 2 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 2)) { - unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif -#if PyLong_SHIFT * 1 < SIZEOF_LONG*8 - if (uintval >> (PyLong_SHIFT * 1)) { - unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) - | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); - } else -#endif - unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); - return (unequal == 0); - } - #endif - if (PyFloat_CheckExact(op1)) { - const long b = intval; -#if CYTHON_COMPILING_IN_LIMITED_API - double a = __pyx_PyFloat_AsDouble(op1); -#else - double a = PyFloat_AS_DOUBLE(op1); -#endif - return ((double)a == (double)b); - } - return __Pyx_PyObject_IsTrueAndDecref( - PyObject_RichCompare(op1, op2, Py_EQ)); -} - -/* GetException */ - #if CYTHON_FAST_THREAD_STATE -static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) -#else -static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) -#endif -{ - PyObject *local_type = NULL, *local_value, *local_tb = NULL; -#if CYTHON_FAST_THREAD_STATE - PyObject *tmp_type, *tmp_value, *tmp_tb; - #if PY_VERSION_HEX >= 0x030C00A6 - local_value = tstate->current_exception; - tstate->current_exception = 0; - if (likely(local_value)) { - local_type = (PyObject*) Py_TYPE(local_value); - Py_INCREF(local_type); - local_tb = PyException_GetTraceback(local_value); - } - #else - local_type = tstate->curexc_type; - local_value = tstate->curexc_value; - local_tb = tstate->curexc_traceback; - tstate->curexc_type = 0; - tstate->curexc_value = 0; - tstate->curexc_traceback = 0; - #endif -#else - PyErr_Fetch(&local_type, &local_value, &local_tb); -#endif - PyErr_NormalizeException(&local_type, &local_value, &local_tb); -#if CYTHON_FAST_THREAD_STATE && PY_VERSION_HEX >= 0x030C00A6 - if (unlikely(tstate->current_exception)) -#elif CYTHON_FAST_THREAD_STATE - if (unlikely(tstate->curexc_type)) -#else - if (unlikely(PyErr_Occurred())) -#endif - goto bad; - #if PY_MAJOR_VERSION >= 3 - if (local_tb) { - if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) - goto bad; - } - #endif - Py_XINCREF(local_tb); - Py_XINCREF(local_type); - Py_XINCREF(local_value); - *type = local_type; - *value = local_value; - *tb = local_tb; -#if CYTHON_FAST_THREAD_STATE - #if CYTHON_USE_EXC_INFO_STACK - { - _PyErr_StackItem *exc_info = tstate->exc_info; - #if PY_VERSION_HEX >= 0x030B00a4 - tmp_value = exc_info->exc_value; - exc_info->exc_value = local_value; - tmp_type = NULL; - tmp_tb = NULL; - Py_XDECREF(local_type); - Py_XDECREF(local_tb); - #else - tmp_type = exc_info->exc_type; - tmp_value = exc_info->exc_value; - tmp_tb = exc_info->exc_traceback; - exc_info->exc_type = local_type; - exc_info->exc_value = local_value; - exc_info->exc_traceback = local_tb; - #endif - } - #else - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - tstate->exc_type = local_type; - tstate->exc_value = local_value; - tstate->exc_traceback = local_tb; - #endif - Py_XDECREF(tmp_type); - Py_XDECREF(tmp_value); - Py_XDECREF(tmp_tb); -#else - PyErr_SetExcInfo(local_type, local_value, local_tb); -#endif - return 0; -bad: - *type = 0; - *value = 0; - *tb = 0; - Py_XDECREF(local_type); - Py_XDECREF(local_value); - Py_XDECREF(local_tb); - return -1; -} - -/* pep479 */ - static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) { - PyObject *exc, *val, *tb, *cur_exc; - __Pyx_PyThreadState_declare - #ifdef __Pyx_StopAsyncIteration_USED - int is_async_stopiteration = 0; - #endif - CYTHON_MAYBE_UNUSED_VAR(in_async_gen); - cur_exc = PyErr_Occurred(); - if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) { - #ifdef __Pyx_StopAsyncIteration_USED - if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, __Pyx_PyExc_StopAsyncIteration))) { - is_async_stopiteration = 1; - } else - #endif - return; - } - __Pyx_PyThreadState_assign - __Pyx_GetException(&exc, &val, &tb); - Py_XDECREF(exc); - Py_XDECREF(val); - Py_XDECREF(tb); - PyErr_SetString(PyExc_RuntimeError, - #ifdef __Pyx_StopAsyncIteration_USED - is_async_stopiteration ? "async generator raised StopAsyncIteration" : - in_async_gen ? "async generator raised StopIteration" : - #endif - "generator raised StopIteration"); -} - -/* JoinPyUnicode */ - static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, - Py_UCS4 max_char) { -#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - PyObject *result_uval; - int result_ukind, kind_shift; - Py_ssize_t i, char_pos; - void *result_udata; - CYTHON_MAYBE_UNUSED_VAR(max_char); -#if CYTHON_PEP393_ENABLED - result_uval = PyUnicode_New(result_ulength, max_char); - if (unlikely(!result_uval)) return NULL; - result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND; - kind_shift = (result_ukind == PyUnicode_4BYTE_KIND) ? 2 : result_ukind - 1; - result_udata = PyUnicode_DATA(result_uval); -#else - result_uval = PyUnicode_FromUnicode(NULL, result_ulength); - if (unlikely(!result_uval)) return NULL; - result_ukind = sizeof(Py_UNICODE); - kind_shift = (result_ukind == 4) ? 2 : result_ukind - 1; - result_udata = PyUnicode_AS_UNICODE(result_uval); -#endif - assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0); - char_pos = 0; - for (i=0; i < value_count; i++) { - int ukind; - Py_ssize_t ulength; - void *udata; - PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); - if (unlikely(__Pyx_PyUnicode_READY(uval))) - goto bad; - ulength = __Pyx_PyUnicode_GET_LENGTH(uval); - if (unlikely(!ulength)) - continue; - if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos)) - goto overflow; - ukind = __Pyx_PyUnicode_KIND(uval); - udata = __Pyx_PyUnicode_DATA(uval); - if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) { - memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift)); - } else { - #if PY_VERSION_HEX >= 0x030d0000 - if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad; - #elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters) - _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength); - #else - Py_ssize_t j; - for (j=0; j < ulength; j++) { - Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j); - __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar); - } - #endif - } - char_pos += ulength; - } - return result_uval; -overflow: - PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string"); -bad: - Py_DECREF(result_uval); - return NULL; -#else - CYTHON_UNUSED_VAR(max_char); - CYTHON_UNUSED_VAR(result_ulength); - CYTHON_UNUSED_VAR(value_count); - return PyUnicode_Join(__pyx_empty_unicode, value_tuple); -#endif -} - -/* ReturnWithStopIteration */ - static void __Pyx__ReturnWithStopIteration(PyObject* value) { - PyObject *exc, *args; -#if CYTHON_COMPILING_IN_CPYTHON - __Pyx_PyThreadState_declare - if (PY_VERSION_HEX >= 0x030C00A6 - || unlikely(PyTuple_Check(value) || PyExceptionInstance_Check(value))) { - args = PyTuple_New(1); - if (unlikely(!args)) return; - Py_INCREF(value); - PyTuple_SET_ITEM(args, 0, value); - exc = PyType_Type.tp_call(PyExc_StopIteration, args, NULL); - Py_DECREF(args); - if (!exc) return; - } else { - Py_INCREF(value); - exc = value; - } - #if CYTHON_FAST_THREAD_STATE - __Pyx_PyThreadState_assign - #if CYTHON_USE_EXC_INFO_STACK - if (!__pyx_tstate->exc_info->exc_value) - #else - if (!__pyx_tstate->exc_type) - #endif - { - Py_INCREF(PyExc_StopIteration); - __Pyx_ErrRestore(PyExc_StopIteration, exc, NULL); - return; - } - #endif -#else - args = PyTuple_Pack(1, value); - if (unlikely(!args)) return; - exc = PyObject_Call(PyExc_StopIteration, args, NULL); - Py_DECREF(args); - if (unlikely(!exc)) return; -#endif - PyErr_SetObject(PyExc_StopIteration, exc); - Py_DECREF(exc); -} - -/* pybytes_as_double */ - static double __Pyx_SlowPyString_AsDouble(PyObject *obj) { - PyObject *float_value; -#if PY_MAJOR_VERSION >= 3 - float_value = PyFloat_FromString(obj); -#else - float_value = PyFloat_FromString(obj, 0); -#endif - if (likely(float_value)) { -#if CYTHON_ASSUME_SAFE_MACROS - double value = PyFloat_AS_DOUBLE(float_value); -#else - double value = PyFloat_AsDouble(float_value); -#endif - Py_DECREF(float_value); - return value; - } - return (double)-1; -} -static const char* __Pyx__PyBytes_AsDouble_Copy(const char* start, char* buffer, Py_ssize_t length) { - int last_was_punctuation = 1; - Py_ssize_t i; - for (i=0; i < length; i++) { - char chr = start[i]; - int is_punctuation = (chr == '_') | (chr == '.') | (chr == 'e') | (chr == 'E'); - *buffer = chr; - buffer += (chr != '_'); - if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure; - last_was_punctuation = is_punctuation; - } - if (unlikely(last_was_punctuation)) goto parse_failure; - *buffer = '\0'; - return buffer; -parse_failure: - return NULL; -} -static double __Pyx__PyBytes_AsDouble_inf_nan(const char* start, Py_ssize_t length) { - int matches = 1; - char sign = start[0]; - int is_signed = (sign == '+') | (sign == '-'); - start += is_signed; - length -= is_signed; - switch (start[0]) { - #ifdef Py_NAN - case 'n': - case 'N': - if (unlikely(length != 3)) goto parse_failure; - matches &= (start[1] == 'a' || start[1] == 'A'); - matches &= (start[2] == 'n' || start[2] == 'N'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_NAN : Py_NAN; - #endif - case 'i': - case 'I': - if (unlikely(length < 3)) goto parse_failure; - matches &= (start[1] == 'n' || start[1] == 'N'); - matches &= (start[2] == 'f' || start[2] == 'F'); - if (likely(length == 3 && matches)) - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - if (unlikely(length != 8)) goto parse_failure; - matches &= (start[3] == 'i' || start[3] == 'I'); - matches &= (start[4] == 'n' || start[4] == 'N'); - matches &= (start[5] == 'i' || start[5] == 'I'); - matches &= (start[6] == 't' || start[6] == 'T'); - matches &= (start[7] == 'y' || start[7] == 'Y'); - if (unlikely(!matches)) goto parse_failure; - return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL; - case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': - break; - default: - goto parse_failure; - } - return 0.0; -parse_failure: - return -1.0; -} -static CYTHON_INLINE int __Pyx__PyBytes_AsDouble_IsSpace(char ch) { - return (ch == 0x20) | !((ch < 0x9) | (ch > 0xd)); -} -CYTHON_UNUSED static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length) { - double value; - Py_ssize_t i, digits; - const char *last = start + length; - char *end; - while (__Pyx__PyBytes_AsDouble_IsSpace(*start)) - start++; - while (start < last - 1 && __Pyx__PyBytes_AsDouble_IsSpace(last[-1])) - last--; - length = last - start; - if (unlikely(length <= 0)) goto fallback; - value = __Pyx__PyBytes_AsDouble_inf_nan(start, length); - if (unlikely(value == -1.0)) goto fallback; - if (value != 0.0) return value; - digits = 0; - for (i=0; i < length; digits += start[i++] != '_'); - if (likely(digits == length)) { - value = PyOS_string_to_double(start, &end, NULL); - } else if (digits < 40) { - char number[40]; - last = __Pyx__PyBytes_AsDouble_Copy(start, number, length); - if (unlikely(!last)) goto fallback; - value = PyOS_string_to_double(number, &end, NULL); - } else { - char *number = (char*) PyMem_Malloc((digits + 1) * sizeof(char)); - if (unlikely(!number)) goto fallback; - last = __Pyx__PyBytes_AsDouble_Copy(start, number, length); - if (unlikely(!last)) { - PyMem_Free(number); - goto fallback; - } - value = PyOS_string_to_double(number, &end, NULL); - PyMem_Free(number); - } - if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) { - return value; - } -fallback: - return __Pyx_SlowPyString_AsDouble(obj); -} - -/* pyobject_as_double */ - static double __Pyx__PyObject_AsDouble(PyObject* obj) { - if (PyUnicode_CheckExact(obj)) { - return __Pyx_PyUnicode_AsDouble(obj); - } else if (PyBytes_CheckExact(obj)) { - return __Pyx_PyBytes_AsDouble(obj); - } else if (PyByteArray_CheckExact(obj)) { - return __Pyx_PyByteArray_AsDouble(obj); - } else { - PyObject* float_value; -#if !CYTHON_USE_TYPE_SLOTS - float_value = PyNumber_Float(obj); if ((0)) goto bad; - (void)__Pyx_PyObject_CallOneArg; -#else - PyNumberMethods *nb = Py_TYPE(obj)->tp_as_number; - if (likely(nb) && likely(nb->nb_float)) { - float_value = nb->nb_float(obj); - if (likely(float_value) && unlikely(!PyFloat_Check(float_value))) { - __Pyx_TypeName float_value_type_name = __Pyx_PyType_GetName(Py_TYPE(float_value)); - PyErr_Format(PyExc_TypeError, - "__float__ returned non-float (type " __Pyx_FMT_TYPENAME ")", - float_value_type_name); - __Pyx_DECREF_TypeName(float_value_type_name); - Py_DECREF(float_value); - goto bad; - } - } else { - float_value = __Pyx_PyObject_CallOneArg((PyObject*)&PyFloat_Type, obj); - } -#endif - if (likely(float_value)) { - double value = PyFloat_AS_DOUBLE(float_value); - Py_DECREF(float_value); - return value; - } - } -bad: - return (double)-1; -} - -/* ArgTypeTest */ - static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) -{ - __Pyx_TypeName type_name; - __Pyx_TypeName obj_type_name; - if (unlikely(!type)) { - PyErr_SetString(PyExc_SystemError, "Missing type object"); - return 0; - } - else if (exact) { - #if PY_MAJOR_VERSION == 2 - if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; - #endif - } - else { - if (likely(__Pyx_TypeCheck(obj, type))) return 1; - } - type_name = __Pyx_PyType_GetName(type); - obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); - PyErr_Format(PyExc_TypeError, - "Argument '%.200s' has incorrect type (expected " __Pyx_FMT_TYPENAME - ", got " __Pyx_FMT_TYPENAME ")", name, type_name, obj_type_name); - __Pyx_DECREF_TypeName(type_name); - __Pyx_DECREF_TypeName(obj_type_name); - return 0; -} - -/* PyObjectCallMethod0 */ - static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) { - PyObject *method = NULL, *result = NULL; - int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); - if (likely(is_method)) { - result = __Pyx_PyObject_CallOneArg(method, obj); - Py_DECREF(method); - return result; - } - if (unlikely(!method)) goto bad; - result = __Pyx_PyObject_CallNoArg(method); - Py_DECREF(method); -bad: - return result; -} - -/* ValidateBasesTuple */ - #if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS -static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) { - Py_ssize_t i, n; -#if CYTHON_ASSUME_SAFE_MACROS - n = PyTuple_GET_SIZE(bases); -#else - n = PyTuple_Size(bases); - if (n < 0) return -1; -#endif - for (i = 1; i < n; i++) - { -#if CYTHON_AVOID_BORROWED_REFS - PyObject *b0 = PySequence_GetItem(bases, i); - if (!b0) return -1; -#elif CYTHON_ASSUME_SAFE_MACROS - PyObject *b0 = PyTuple_GET_ITEM(bases, i); -#else - PyObject *b0 = PyTuple_GetItem(bases, i); - if (!b0) return -1; -#endif - PyTypeObject *b; -#if PY_MAJOR_VERSION < 3 - if (PyClass_Check(b0)) - { - PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class", - PyString_AS_STRING(((PyClassObject*)b0)->cl_name)); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } -#endif - b = (PyTypeObject*) b0; - if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE)) - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name); - __Pyx_DECREF_TypeName(b_name); -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - if (dictoffset == 0) - { - Py_ssize_t b_dictoffset = 0; -#if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY - b_dictoffset = b->tp_dictoffset; -#else - PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__"); - if (!py_b_dictoffset) goto dictoffset_return; - b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset); - Py_DECREF(py_b_dictoffset); - if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return; -#endif - if (b_dictoffset) { - { - __Pyx_TypeName b_name = __Pyx_PyType_GetName(b); - PyErr_Format(PyExc_TypeError, - "extension type '%.200s' has no __dict__ slot, " - "but base type '" __Pyx_FMT_TYPENAME "' has: " - "either add 'cdef dict __dict__' to the extension type " - "or add '__slots__ = [...]' to the base type", - type_name, b_name); - __Pyx_DECREF_TypeName(b_name); - } -#if !(CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY) - dictoffset_return: -#endif -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - return -1; - } - } -#if CYTHON_AVOID_BORROWED_REFS - Py_DECREF(b0); -#endif - } - return 0; -} -#endif - -/* PyType_Ready */ - static int __Pyx_PyType_Ready(PyTypeObject *t) { -#if CYTHON_USE_TYPE_SPECS || !(CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API) || defined(PYSTON_MAJOR_VERSION) - (void)__Pyx_PyObject_CallMethod0; -#if CYTHON_USE_TYPE_SPECS - (void)__Pyx_validate_bases_tuple; -#endif - return PyType_Ready(t); -#else - int r; - PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*); - if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1)) - return -1; -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - { - int gc_was_enabled; - #if PY_VERSION_HEX >= 0x030A00b1 - gc_was_enabled = PyGC_Disable(); - (void)__Pyx_PyObject_CallMethod0; - #else - PyObject *ret, *py_status; - PyObject *gc = NULL; - #if PY_VERSION_HEX >= 0x030700a1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400) - gc = PyImport_GetModule(__pyx_kp_u_gc); - #endif - if (unlikely(!gc)) gc = PyImport_Import(__pyx_kp_u_gc); - if (unlikely(!gc)) return -1; - py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_isenabled); - if (unlikely(!py_status)) { - Py_DECREF(gc); - return -1; - } - gc_was_enabled = __Pyx_PyObject_IsTrue(py_status); - Py_DECREF(py_status); - if (gc_was_enabled > 0) { - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_disable); - if (unlikely(!ret)) { - Py_DECREF(gc); - return -1; - } - Py_DECREF(ret); - } else if (unlikely(gc_was_enabled == -1)) { - Py_DECREF(gc); - return -1; - } - #endif - t->tp_flags |= Py_TPFLAGS_HEAPTYPE; -#if PY_VERSION_HEX >= 0x030A0000 - t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE; -#endif -#else - (void)__Pyx_PyObject_CallMethod0; -#endif - r = PyType_Ready(t); -#if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION) - t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE; - #if PY_VERSION_HEX >= 0x030A00b1 - if (gc_was_enabled) - PyGC_Enable(); - #else - if (gc_was_enabled) { - PyObject *tp, *v, *tb; - PyErr_Fetch(&tp, &v, &tb); - ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_enable); - if (likely(ret || r == -1)) { - Py_XDECREF(ret); - PyErr_Restore(tp, v, tb); - } else { - Py_XDECREF(tp); - Py_XDECREF(v); - Py_XDECREF(tb); - r = -1; - } - } - Py_DECREF(gc); - #endif - } -#endif - return r; -#endif -} - -/* Import */ - static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { - PyObject *module = 0; - PyObject *empty_dict = 0; - PyObject *empty_list = 0; - #if PY_MAJOR_VERSION < 3 - PyObject *py_import; - py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); - if (unlikely(!py_import)) - goto bad; - if (!from_list) { - empty_list = PyList_New(0); - if (unlikely(!empty_list)) - goto bad; - from_list = empty_list; - } - #endif - empty_dict = PyDict_New(); - if (unlikely(!empty_dict)) - goto bad; - { - #if PY_MAJOR_VERSION >= 3 - if (level == -1) { - if (strchr(__Pyx_MODULE_NAME, '.') != NULL) { - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, 1); - if (unlikely(!module)) { - if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError))) - goto bad; - PyErr_Clear(); - } - } - level = 0; - } - #endif - if (!module) { - #if PY_MAJOR_VERSION < 3 - PyObject *py_level = PyInt_FromLong(level); - if (unlikely(!py_level)) - goto bad; - module = PyObject_CallFunctionObjArgs(py_import, - name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL); - Py_DECREF(py_level); - #else - module = PyImport_ImportModuleLevelObject( - name, __pyx_d, empty_dict, from_list, level); - #endif - } - } -bad: - Py_XDECREF(empty_dict); - Py_XDECREF(empty_list); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_import); - #endif - return module; -} - -/* ImportDottedModule */ - #if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx__ImportDottedModule_Error(PyObject *name, PyObject *parts_tuple, Py_ssize_t count) { - PyObject *partial_name = NULL, *slice = NULL, *sep = NULL; - if (unlikely(PyErr_Occurred())) { - PyErr_Clear(); - } - if (likely(PyTuple_GET_SIZE(parts_tuple) == count)) { - partial_name = name; - } else { - slice = PySequence_GetSlice(parts_tuple, 0, count); - if (unlikely(!slice)) - goto bad; - sep = PyUnicode_FromStringAndSize(".", 1); - if (unlikely(!sep)) - goto bad; - partial_name = PyUnicode_Join(sep, slice); - } - PyErr_Format( -#if PY_MAJOR_VERSION < 3 - PyExc_ImportError, - "No module named '%s'", PyString_AS_STRING(partial_name)); -#else -#if PY_VERSION_HEX >= 0x030600B1 - PyExc_ModuleNotFoundError, -#else - PyExc_ImportError, -#endif - "No module named '%U'", partial_name); -#endif -bad: - Py_XDECREF(sep); - Py_XDECREF(slice); - Py_XDECREF(partial_name); - return NULL; -} -#endif -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx__ImportDottedModule_Lookup(PyObject *name) { - PyObject *imported_module; -#if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400) - PyObject *modules = PyImport_GetModuleDict(); - if (unlikely(!modules)) - return NULL; - imported_module = __Pyx_PyDict_GetItemStr(modules, name); - Py_XINCREF(imported_module); -#else - imported_module = PyImport_GetModule(name); -#endif - return imported_module; -} -#endif -#if PY_MAJOR_VERSION >= 3 -static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple) { - Py_ssize_t i, nparts; - nparts = PyTuple_GET_SIZE(parts_tuple); - for (i=1; i < nparts && module; i++) { - PyObject *part, *submodule; -#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - part = PyTuple_GET_ITEM(parts_tuple, i); -#else - part = PySequence_ITEM(parts_tuple, i); -#endif - submodule = __Pyx_PyObject_GetAttrStrNoError(module, part); -#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(part); -#endif - Py_DECREF(module); - module = submodule; - } - if (unlikely(!module)) { - return __Pyx__ImportDottedModule_Error(name, parts_tuple, i); - } - return module; -} -#endif -static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) { -#if PY_MAJOR_VERSION < 3 - PyObject *module, *from_list, *star = __pyx_n_s__25; - CYTHON_UNUSED_VAR(parts_tuple); - from_list = PyList_New(1); - if (unlikely(!from_list)) - return NULL; - Py_INCREF(star); - PyList_SET_ITEM(from_list, 0, star); - module = __Pyx_Import(name, from_list, 0); - Py_DECREF(from_list); - return module; -#else - PyObject *imported_module; - PyObject *module = __Pyx_Import(name, NULL, 0); - if (!parts_tuple || unlikely(!module)) - return module; - imported_module = __Pyx__ImportDottedModule_Lookup(name); - if (likely(imported_module)) { - Py_DECREF(module); - return imported_module; - } - PyErr_Clear(); - return __Pyx_ImportDottedModule_WalkParts(module, name, parts_tuple); -#endif -} -static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) { -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030400B1 - PyObject *module = __Pyx__ImportDottedModule_Lookup(name); - if (likely(module)) { - PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_n_s_spec); - if (likely(spec)) { - PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_n_s_initializing); - if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) { - Py_DECREF(spec); - spec = NULL; - } - Py_XDECREF(unsafe); - } - if (likely(!spec)) { - PyErr_Clear(); - return module; - } - Py_DECREF(spec); - Py_DECREF(module); - } else if (PyErr_Occurred()) { - PyErr_Clear(); - } -#endif - return __Pyx__ImportDottedModule(name, parts_tuple); -} - -/* ImportFrom */ - static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { - PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); - if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { - const char* module_name_str = 0; - PyObject* module_name = 0; - PyObject* module_dot = 0; - PyObject* full_name = 0; - PyErr_Clear(); - module_name_str = PyModule_GetName(module); - if (unlikely(!module_name_str)) { goto modbad; } - module_name = PyUnicode_FromString(module_name_str); - if (unlikely(!module_name)) { goto modbad; } - module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__26); - if (unlikely(!module_dot)) { goto modbad; } - full_name = PyUnicode_Concat(module_dot, name); - if (unlikely(!full_name)) { goto modbad; } - #if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400) - { - PyObject *modules = PyImport_GetModuleDict(); - if (unlikely(!modules)) - goto modbad; - value = PyObject_GetItem(modules, full_name); - } - #else - value = PyImport_GetModule(full_name); - #endif - modbad: - Py_XDECREF(full_name); - Py_XDECREF(module_dot); - Py_XDECREF(module_name); - } - if (unlikely(!value)) { - PyErr_Format(PyExc_ImportError, - #if PY_MAJOR_VERSION < 3 - "cannot import name %.230s", PyString_AS_STRING(name)); - #else - "cannot import name %S", name); - #endif - } - return value; -} - -/* PatchInspect */ - static PyObject* __Pyx_patch_inspect(PyObject* module) { -#if defined(__Pyx_Generator_USED) && (!defined(CYTHON_PATCH_INSPECT) || CYTHON_PATCH_INSPECT) - static int inspect_patched = 0; - if (unlikely((!inspect_patched) && module)) { - module = __Pyx_Coroutine_patch_module( - module, "" -"old_types = getattr(_module.isgenerator, '_cython_generator_types', None)\n" -"if old_types is None or not isinstance(old_types, set):\n" -" old_types = set()\n" -" def cy_wrap(orig_func, type=type, cython_generator_types=old_types):\n" -" def cy_isgenerator(obj): return type(obj) in cython_generator_types or orig_func(obj)\n" -" cy_isgenerator._cython_generator_types = cython_generator_types\n" -" return cy_isgenerator\n" -" _module.isgenerator = cy_wrap(_module.isgenerator)\n" -"old_types.add(_cython_generator_type)\n" - ); - inspect_patched = 1; - } -#else - if ((0)) return __Pyx_Coroutine_patch_module(module, NULL); -#endif - return module; -} - -/* PatchAsyncIO */ - static PyObject* __Pyx_patch_asyncio(PyObject* module) { -#if PY_VERSION_HEX < 0x030500B2 &&\ - (defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED)) &&\ - (!defined(CYTHON_PATCH_ASYNCIO) || CYTHON_PATCH_ASYNCIO) - PyObject *patch_module = NULL; - static int asyncio_patched = 0; - if (unlikely((!asyncio_patched) && module)) { - PyObject *package; - package = __Pyx_Import(__pyx_n_s_asyncio_coroutines, NULL, 0); - if (package) { - patch_module = __Pyx_Coroutine_patch_module( - PyObject_GetAttrString(package, "coroutines"), "" -"try:\n" -" coro_types = _module._COROUTINE_TYPES\n" -"except AttributeError: pass\n" -"else:\n" -" if _cython_coroutine_type is not None and _cython_coroutine_type not in coro_types:\n" -" coro_types = tuple(coro_types) + (_cython_coroutine_type,)\n" -" if _cython_generator_type is not None and _cython_generator_type not in coro_types:\n" -" coro_types = tuple(coro_types) + (_cython_generator_type,)\n" -"_module._COROUTINE_TYPES = coro_types\n" - ); - } else { - PyErr_Clear(); - package = __Pyx_Import(__pyx_n_s_asyncio_tasks, NULL, 0); - if (unlikely(!package)) goto asyncio_done; - patch_module = __Pyx_Coroutine_patch_module( - PyObject_GetAttrString(package, "tasks"), "" -"if hasattr(_module, 'iscoroutine'):\n" -" old_types = getattr(_module.iscoroutine, '_cython_coroutine_types', None)\n" -" if old_types is None or not isinstance(old_types, set):\n" -" old_types = set()\n" -" def cy_wrap(orig_func, type=type, cython_coroutine_types=old_types):\n" -" def cy_iscoroutine(obj): return type(obj) in cython_coroutine_types or orig_func(obj)\n" -" cy_iscoroutine._cython_coroutine_types = cython_coroutine_types\n" -" return cy_iscoroutine\n" -" _module.iscoroutine = cy_wrap(_module.iscoroutine)\n" -" if _cython_coroutine_type is not None:\n" -" old_types.add(_cython_coroutine_type)\n" -" if _cython_generator_type is not None:\n" -" old_types.add(_cython_generator_type)\n" - ); - } - Py_DECREF(package); - if (unlikely(!patch_module)) goto ignore; -asyncio_done: - PyErr_Clear(); - asyncio_patched = 1; -#ifdef __Pyx_Generator_USED - { - PyObject *inspect_module; - if (patch_module) { - inspect_module = PyObject_GetAttr(patch_module, __pyx_n_s_inspect); - Py_DECREF(patch_module); - } else { - inspect_module = __Pyx_Import(__pyx_n_s_inspect, NULL, 0); - } - if (unlikely(!inspect_module)) goto ignore; - inspect_module = __Pyx_patch_inspect(inspect_module); - if (unlikely(!inspect_module)) { - Py_DECREF(module); - module = NULL; - } - Py_XDECREF(inspect_module); - } -#else - if ((0)) return __Pyx_patch_inspect(module); -#endif - } - return module; -ignore: - PyErr_WriteUnraisable(module); - if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch asyncio package with custom generator type", 1) < 0)) { - Py_DECREF(module); - module = NULL; - } -#else - if ((0)) return __Pyx_patch_inspect(__Pyx_Coroutine_patch_module(module, NULL)); -#endif - return module; -} - -/* PyObjectSetAttrStr */ - #if CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) { - PyTypeObject* tp = Py_TYPE(obj); - if (likely(tp->tp_setattro)) - return tp->tp_setattro(obj, attr_name, value); -#if PY_MAJOR_VERSION < 3 - if (likely(tp->tp_setattr)) - return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value); -#endif - return PyObject_SetAttr(obj, attr_name, value); -} -#endif - -/* Py3UpdateBases */ - static PyObject* -__Pyx_PEP560_update_bases(PyObject *bases) -{ - Py_ssize_t i, j, size_bases; - PyObject *base, *meth, *new_base, *result, *new_bases = NULL; - size_bases = PyTuple_GET_SIZE(bases); - for (i = 0; i < size_bases; i++) { - base = PyTuple_GET_ITEM(bases, i); - if (PyType_Check(base)) { - if (new_bases) { - if (PyList_Append(new_bases, base) < 0) { - goto error; - } - } - continue; - } - meth = __Pyx_PyObject_GetAttrStrNoError(base, __pyx_n_s_mro_entries); - if (!meth && PyErr_Occurred()) { - goto error; - } - if (!meth) { - if (new_bases) { - if (PyList_Append(new_bases, base) < 0) { - goto error; - } - } - continue; - } - new_base = __Pyx_PyObject_CallOneArg(meth, bases); - Py_DECREF(meth); - if (!new_base) { - goto error; - } - if (!PyTuple_Check(new_base)) { - PyErr_SetString(PyExc_TypeError, - "__mro_entries__ must return a tuple"); - Py_DECREF(new_base); - goto error; - } - if (!new_bases) { - if (!(new_bases = PyList_New(i))) { - goto error; - } - for (j = 0; j < i; j++) { - base = PyTuple_GET_ITEM(bases, j); - PyList_SET_ITEM(new_bases, j, base); - Py_INCREF(base); - } - } - j = PyList_GET_SIZE(new_bases); - if (PyList_SetSlice(new_bases, j, j, new_base) < 0) { - goto error; - } - Py_DECREF(new_base); - } - if (!new_bases) { - Py_INCREF(bases); - return bases; - } - result = PyList_AsTuple(new_bases); - Py_DECREF(new_bases); - return result; -error: - Py_XDECREF(new_bases); - return NULL; -} - -/* CalculateMetaclass */ - static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) { - Py_ssize_t i, nbases; -#if CYTHON_ASSUME_SAFE_MACROS - nbases = PyTuple_GET_SIZE(bases); -#else - nbases = PyTuple_Size(bases); - if (nbases < 0) return NULL; -#endif - for (i=0; i < nbases; i++) { - PyTypeObject *tmptype; -#if CYTHON_ASSUME_SAFE_MACROS - PyObject *tmp = PyTuple_GET_ITEM(bases, i); -#else - PyObject *tmp = PyTuple_GetItem(bases, i); - if (!tmp) return NULL; -#endif - tmptype = Py_TYPE(tmp); -#if PY_MAJOR_VERSION < 3 - if (tmptype == &PyClass_Type) - continue; -#endif - if (!metaclass) { - metaclass = tmptype; - continue; - } - if (PyType_IsSubtype(metaclass, tmptype)) - continue; - if (PyType_IsSubtype(tmptype, metaclass)) { - metaclass = tmptype; - continue; - } - PyErr_SetString(PyExc_TypeError, - "metaclass conflict: " - "the metaclass of a derived class " - "must be a (non-strict) subclass " - "of the metaclasses of all its bases"); - return NULL; - } - if (!metaclass) { -#if PY_MAJOR_VERSION < 3 - metaclass = &PyClass_Type; -#else - metaclass = &PyType_Type; -#endif - } - Py_INCREF((PyObject*) metaclass); - return (PyObject*) metaclass; -} - -/* PyObjectLookupSpecial */ - #if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS -static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) { - PyObject *res; - PyTypeObject *tp = Py_TYPE(obj); -#if PY_MAJOR_VERSION < 3 - if (unlikely(PyInstance_Check(obj))) - return with_error ? __Pyx_PyObject_GetAttrStr(obj, attr_name) : __Pyx_PyObject_GetAttrStrNoError(obj, attr_name); -#endif - res = _PyType_Lookup(tp, attr_name); - if (likely(res)) { - descrgetfunc f = Py_TYPE(res)->tp_descr_get; - if (!f) { - Py_INCREF(res); - } else { - res = f(res, obj, (PyObject *)tp); - } - } else if (with_error) { - PyErr_SetObject(PyExc_AttributeError, attr_name); - } - return res; -} -#endif - -/* Py3ClassCreate */ - static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, - PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) { - PyObject *ns; - if (metaclass) { - PyObject *prep = __Pyx_PyObject_GetAttrStrNoError(metaclass, __pyx_n_s_prepare); - if (prep) { - PyObject *pargs[3] = {NULL, name, bases}; - ns = __Pyx_PyObject_FastCallDict(prep, pargs+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw); - Py_DECREF(prep); - } else { - if (unlikely(PyErr_Occurred())) - return NULL; - ns = PyDict_New(); - } - } else { - ns = PyDict_New(); - } - if (unlikely(!ns)) - return NULL; - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad; -#if PY_VERSION_HEX >= 0x03030000 - if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad; -#else - CYTHON_MAYBE_UNUSED_VAR(qualname); -#endif - if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad; - return ns; -bad: - Py_DECREF(ns); - return NULL; -} -#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS -static int __Pyx_SetNamesPEP487(PyObject *type_obj) { - PyTypeObject *type = (PyTypeObject*) type_obj; - PyObject *names_to_set, *key, *value, *set_name, *tmp; - Py_ssize_t i = 0; -#if CYTHON_USE_TYPE_SLOTS - names_to_set = PyDict_Copy(type->tp_dict); -#else - { - PyObject *d = PyObject_GetAttr(type_obj, __pyx_n_s_dict); - names_to_set = NULL; - if (likely(d)) { - PyObject *names_to_set = PyDict_New(); - int ret = likely(names_to_set) ? PyDict_Update(names_to_set, d) : -1; - Py_DECREF(d); - if (unlikely(ret < 0)) - Py_CLEAR(names_to_set); - } - } -#endif - if (unlikely(names_to_set == NULL)) - goto bad; - while (PyDict_Next(names_to_set, &i, &key, &value)) { - set_name = __Pyx_PyObject_LookupSpecialNoError(value, __pyx_n_s_set_name); - if (unlikely(set_name != NULL)) { - tmp = __Pyx_PyObject_Call2Args(set_name, type_obj, key); - Py_DECREF(set_name); - if (unlikely(tmp == NULL)) { - __Pyx_TypeName value_type_name = - __Pyx_PyType_GetName(Py_TYPE(value)); - __Pyx_TypeName type_name = __Pyx_PyType_GetName(type); - PyErr_Format(PyExc_RuntimeError, -#if PY_MAJOR_VERSION >= 3 - "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %R " "in '" __Pyx_FMT_TYPENAME "'", - value_type_name, key, type_name); -#else - "Error calling __set_name__ on '" __Pyx_FMT_TYPENAME "' instance %.100s in '" __Pyx_FMT_TYPENAME "'", - value_type_name, - PyString_Check(key) ? PyString_AS_STRING(key) : "?", - type_name); -#endif - goto bad; - } else { - Py_DECREF(tmp); - } - } - else if (unlikely(PyErr_Occurred())) { - goto bad; - } - } - Py_DECREF(names_to_set); - return 0; -bad: - Py_XDECREF(names_to_set); - return -1; -} -static PyObject *__Pyx_InitSubclassPEP487(PyObject *type_obj, PyObject *mkw) { -#if CYTHON_USE_TYPE_SLOTS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - PyTypeObject *type = (PyTypeObject*) type_obj; - PyObject *mro = type->tp_mro; - Py_ssize_t i, nbases; - if (unlikely(!mro)) goto done; - (void) &__Pyx_GetBuiltinName; - Py_INCREF(mro); - nbases = PyTuple_GET_SIZE(mro); - assert(PyTuple_GET_ITEM(mro, 0) == type_obj); - for (i = 1; i < nbases-1; i++) { - PyObject *base, *dict, *meth; - base = PyTuple_GET_ITEM(mro, i); - dict = ((PyTypeObject *)base)->tp_dict; - meth = __Pyx_PyDict_GetItemStrWithError(dict, __pyx_n_s_init_subclass); - if (unlikely(meth)) { - descrgetfunc f = Py_TYPE(meth)->tp_descr_get; - PyObject *res; - Py_INCREF(meth); - if (likely(f)) { - res = f(meth, NULL, type_obj); - Py_DECREF(meth); - if (unlikely(!res)) goto bad; - meth = res; - } - res = __Pyx_PyObject_FastCallDict(meth, NULL, 0, mkw); - Py_DECREF(meth); - if (unlikely(!res)) goto bad; - Py_DECREF(res); - goto done; - } else if (unlikely(PyErr_Occurred())) { - goto bad; - } - } -done: - Py_XDECREF(mro); - return type_obj; -bad: - Py_XDECREF(mro); - Py_DECREF(type_obj); - return NULL; -#else - PyObject *super_type, *super, *func, *res; -#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type) - super_type = __Pyx_GetBuiltinName(__pyx_n_s_super); -#else - super_type = (PyObject*) &PySuper_Type; - (void) &__Pyx_GetBuiltinName; -#endif - super = likely(super_type) ? __Pyx_PyObject_Call2Args(super_type, type_obj, type_obj) : NULL; -#if CYTHON_COMPILING_IN_PYPY && !defined(PySuper_Type) - Py_XDECREF(super_type); -#endif - if (unlikely(!super)) { - Py_CLEAR(type_obj); - goto done; - } - func = __Pyx_PyObject_GetAttrStrNoError(super, __pyx_n_s_init_subclass); - Py_DECREF(super); - if (likely(!func)) { - if (unlikely(PyErr_Occurred())) - Py_CLEAR(type_obj); - goto done; - } - res = __Pyx_PyObject_FastCallDict(func, NULL, 0, mkw); - Py_DECREF(func); - if (unlikely(!res)) - Py_CLEAR(type_obj); - Py_XDECREF(res); -done: - return type_obj; -#endif -} -#endif -static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, - PyObject *dict, PyObject *mkw, - int calculate_metaclass, int allow_py2_metaclass) { - PyObject *result; - PyObject *owned_metaclass = NULL; - PyObject *margs[4] = {NULL, name, bases, dict}; - if (allow_py2_metaclass) { - owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass); - if (owned_metaclass) { - metaclass = owned_metaclass; - } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) { - PyErr_Clear(); - } else { - return NULL; - } - } - if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) { - metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases); - Py_XDECREF(owned_metaclass); - if (unlikely(!metaclass)) - return NULL; - owned_metaclass = metaclass; - } - result = __Pyx_PyObject_FastCallDict(metaclass, margs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, -#if PY_VERSION_HEX < 0x030600A4 - (metaclass == (PyObject*)&PyType_Type) ? NULL : mkw -#else - mkw -#endif - ); - Py_XDECREF(owned_metaclass); -#if PY_VERSION_HEX < 0x030600A4 && CYTHON_PEP487_INIT_SUBCLASS - if (likely(result) && likely(PyType_Check(result))) { - if (unlikely(__Pyx_SetNamesPEP487(result) < 0)) { - Py_CLEAR(result); - } else { - result = __Pyx_InitSubclassPEP487(result, mkw); - } - } -#else - (void) &__Pyx_GetBuiltinName; -#endif - return result; -} - -/* PyVectorcallFastCallDict */ - #if CYTHON_METH_FASTCALL -static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - PyObject *res = NULL; - PyObject *kwnames; - PyObject **newargs; - PyObject **kwvalues; - Py_ssize_t i, pos; - size_t j; - PyObject *key, *value; - unsigned long keys_are_strings; - Py_ssize_t nkw = PyDict_GET_SIZE(kw); - newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0])); - if (unlikely(newargs == NULL)) { - PyErr_NoMemory(); - return NULL; - } - for (j = 0; j < nargs; j++) newargs[j] = args[j]; - kwnames = PyTuple_New(nkw); - if (unlikely(kwnames == NULL)) { - PyMem_Free(newargs); - return NULL; - } - kwvalues = newargs + nargs; - pos = i = 0; - keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS; - while (PyDict_Next(kw, &pos, &key, &value)) { - keys_are_strings &= Py_TYPE(key)->tp_flags; - Py_INCREF(key); - Py_INCREF(value); - PyTuple_SET_ITEM(kwnames, i, key); - kwvalues[i] = value; - i++; - } - if (unlikely(!keys_are_strings)) { - PyErr_SetString(PyExc_TypeError, "keywords must be strings"); - goto cleanup; - } - res = vc(func, newargs, nargs, kwnames); -cleanup: - Py_DECREF(kwnames); - for (i = 0; i < nkw; i++) - Py_DECREF(kwvalues[i]); - PyMem_Free(newargs); - return res; -} -static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) -{ - if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) { - return vc(func, args, nargs, NULL); - } - return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw); -} -#endif - -/* CythonFunctionShared */ - #if CYTHON_COMPILING_IN_LIMITED_API -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - if (__Pyx_CyFunction_Check(func)) { - return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc; - } else if (PyCFunction_Check(func)) { - return PyCFunction_GetFunction(func) == (PyCFunction) cfunc; - } - return 0; -} -#else -static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) { - return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc; -} -#endif -static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) { -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - __Pyx_Py_XDECREF_SET( - __Pyx_CyFunction_GetClassObj(f), - ((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#else - __Pyx_Py_XDECREF_SET( - ((PyCMethodObject *) (f))->mm_class, - (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL)); -#endif -} -static PyObject * -__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure) -{ - CYTHON_UNUSED_VAR(closure); - if (unlikely(op->func_doc == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_doc = PyObject_GetAttrString(op->func, "__doc__"); - if (unlikely(!op->func_doc)) return NULL; -#else - if (((PyCFunctionObject*)op)->m_ml->ml_doc) { -#if PY_MAJOR_VERSION >= 3 - op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#else - op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); -#endif - if (unlikely(op->func_doc == NULL)) - return NULL; - } else { - Py_INCREF(Py_None); - return Py_None; - } -#endif - } - Py_INCREF(op->func_doc); - return op->func_doc; -} -static int -__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (value == NULL) { - value = Py_None; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_doc, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_name == NULL)) { -#if CYTHON_COMPILING_IN_LIMITED_API - op->func_name = PyObject_GetAttrString(op->func, "__name__"); -#elif PY_MAJOR_VERSION >= 3 - op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#else - op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); -#endif - if (unlikely(op->func_name == NULL)) - return NULL; - } - Py_INCREF(op->func_name); - return op->func_name; -} -static int -__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__name__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_name, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_qualname); - return op->func_qualname; -} -static int -__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); -#if PY_MAJOR_VERSION >= 3 - if (unlikely(value == NULL || !PyUnicode_Check(value))) -#else - if (unlikely(value == NULL || !PyString_Check(value))) -#endif - { - PyErr_SetString(PyExc_TypeError, - "__qualname__ must be set to a string object"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_qualname, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(op->func_dict == NULL)) { - op->func_dict = PyDict_New(); - if (unlikely(op->func_dict == NULL)) - return NULL; - } - Py_INCREF(op->func_dict); - return op->func_dict; -} -static int -__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context) -{ - CYTHON_UNUSED_VAR(context); - if (unlikely(value == NULL)) { - PyErr_SetString(PyExc_TypeError, - "function's dictionary may not be deleted"); - return -1; - } - if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "setting function's dictionary to a non-dict"); - return -1; - } - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->func_dict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(context); - Py_INCREF(op->func_globals); - return op->func_globals; -} -static PyObject * -__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context) -{ - CYTHON_UNUSED_VAR(op); - CYTHON_UNUSED_VAR(context); - Py_INCREF(Py_None); - return Py_None; -} -static PyObject * -__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context) -{ - PyObject* result = (op->func_code) ? op->func_code : Py_None; - CYTHON_UNUSED_VAR(context); - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { - int result = 0; - PyObject *res = op->defaults_getter((PyObject *) op); - if (unlikely(!res)) - return -1; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - op->defaults_tuple = PyTuple_GET_ITEM(res, 0); - Py_INCREF(op->defaults_tuple); - op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); - Py_INCREF(op->defaults_kwdict); - #else - op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0); - if (unlikely(!op->defaults_tuple)) result = -1; - else { - op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1); - if (unlikely(!op->defaults_kwdict)) result = -1; - } - #endif - Py_DECREF(res); - return result; -} -static int -__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyTuple_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__defaults__ must be set to a tuple object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_tuple, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_tuple; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_tuple; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value) { - value = Py_None; - } else if (unlikely(value != Py_None && !PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__kwdefaults__ must be set to a dict object"); - return -1; - } - PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not " - "currently affect the values used in function calls", 1); - Py_INCREF(value); - __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->defaults_kwdict; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - if (op->defaults_getter) { - if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; - result = op->defaults_kwdict; - } else { - result = Py_None; - } - } - Py_INCREF(result); - return result; -} -static int -__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - if (!value || value == Py_None) { - value = NULL; - } else if (unlikely(!PyDict_Check(value))) { - PyErr_SetString(PyExc_TypeError, - "__annotations__ must be set to a dict object"); - return -1; - } - Py_XINCREF(value); - __Pyx_Py_XDECREF_SET(op->func_annotations, value); - return 0; -} -static PyObject * -__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) { - PyObject* result = op->func_annotations; - CYTHON_UNUSED_VAR(context); - if (unlikely(!result)) { - result = PyDict_New(); - if (unlikely(!result)) return NULL; - op->func_annotations = result; - } - Py_INCREF(result); - return result; -} -static PyObject * -__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) { - int is_coroutine; - CYTHON_UNUSED_VAR(context); - if (op->func_is_coroutine) { - return __Pyx_NewRef(op->func_is_coroutine); - } - is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE; -#if PY_VERSION_HEX >= 0x03050000 - if (is_coroutine) { - PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine; - fromlist = PyList_New(1); - if (unlikely(!fromlist)) return NULL; - Py_INCREF(marker); -#if CYTHON_ASSUME_SAFE_MACROS - PyList_SET_ITEM(fromlist, 0, marker); -#else - if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) { - Py_DECREF(marker); - Py_DECREF(fromlist); - return NULL; - } -#endif - module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0); - Py_DECREF(fromlist); - if (unlikely(!module)) goto ignore; - op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker); - Py_DECREF(module); - if (likely(op->func_is_coroutine)) { - return __Pyx_NewRef(op->func_is_coroutine); - } -ignore: - PyErr_Clear(); - } -#endif - op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine); - return __Pyx_NewRef(op->func_is_coroutine); -} -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject * -__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_GetAttrString(op->func, "__module__"); -} -static int -__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) { - CYTHON_UNUSED_VAR(context); - return PyObject_SetAttrString(op->func, "__module__", value); -} -#endif -static PyGetSetDef __pyx_CyFunction_getsets[] = { - {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, - {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, - {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, - {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, - {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, - {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, - {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, - {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, - {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, - {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, - {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0}, -#if CYTHON_COMPILING_IN_LIMITED_API - {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0}, -#endif - {0, 0, 0, 0, 0} -}; -static PyMemberDef __pyx_CyFunction_members[] = { -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0}, -#endif -#if CYTHON_USE_TYPE_SPECS - {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0}, -#if CYTHON_METH_FASTCALL -#if CYTHON_BACKPORT_VECTORCALL - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0}, -#else -#if !CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0}, -#endif -#endif -#endif -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0}, -#else - {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0}, -#endif -#endif - {0, 0, 0, 0, 0} -}; -static PyObject * -__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args) -{ - CYTHON_UNUSED_VAR(args); -#if PY_MAJOR_VERSION >= 3 - Py_INCREF(m->func_qualname); - return m->func_qualname; -#else - return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name); -#endif -} -static PyMethodDef __pyx_CyFunction_methods[] = { - {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, - {0, 0, 0, 0} -}; -#if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API -#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) -#else -#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist) -#endif -static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { -#if !CYTHON_COMPILING_IN_LIMITED_API - PyCFunctionObject *cf = (PyCFunctionObject*) op; -#endif - if (unlikely(op == NULL)) - return NULL; -#if CYTHON_COMPILING_IN_LIMITED_API - op->func = PyCFunction_NewEx(ml, (PyObject*)op, module); - if (unlikely(!op->func)) return NULL; -#endif - op->flags = flags; - __Pyx_CyFunction_weakreflist(op) = NULL; -#if !CYTHON_COMPILING_IN_LIMITED_API - cf->m_ml = ml; - cf->m_self = (PyObject *) op; -#endif - Py_XINCREF(closure); - op->func_closure = closure; -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_XINCREF(module); - cf->m_module = module; -#endif - op->func_dict = NULL; - op->func_name = NULL; - Py_INCREF(qualname); - op->func_qualname = qualname; - op->func_doc = NULL; -#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API - op->func_classobj = NULL; -#else - ((PyCMethodObject*)op)->mm_class = NULL; -#endif - op->func_globals = globals; - Py_INCREF(op->func_globals); - Py_XINCREF(code); - op->func_code = code; - op->defaults_pyobjects = 0; - op->defaults_size = 0; - op->defaults = NULL; - op->defaults_tuple = NULL; - op->defaults_kwdict = NULL; - op->defaults_getter = NULL; - op->func_annotations = NULL; - op->func_is_coroutine = NULL; -#if CYTHON_METH_FASTCALL - switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) { - case METH_NOARGS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS; - break; - case METH_O: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O; - break; - case METH_METHOD | METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD; - break; - case METH_FASTCALL | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS; - break; - case METH_VARARGS | METH_KEYWORDS: - __Pyx_CyFunction_func_vectorcall(op) = NULL; - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - Py_DECREF(op); - return NULL; - } -#endif - return (PyObject *) op; -} -static int -__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) -{ - Py_CLEAR(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_CLEAR(m->func); -#else - Py_CLEAR(((PyCFunctionObject*)m)->m_module); -#endif - Py_CLEAR(m->func_dict); - Py_CLEAR(m->func_name); - Py_CLEAR(m->func_qualname); - Py_CLEAR(m->func_doc); - Py_CLEAR(m->func_globals); - Py_CLEAR(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API -#if PY_VERSION_HEX < 0x030900B1 - Py_CLEAR(__Pyx_CyFunction_GetClassObj(m)); -#else - { - PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class; - ((PyCMethodObject *) (m))->mm_class = NULL; - Py_XDECREF(cls); - } -#endif -#endif - Py_CLEAR(m->defaults_tuple); - Py_CLEAR(m->defaults_kwdict); - Py_CLEAR(m->func_annotations); - Py_CLEAR(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_XDECREF(pydefaults[i]); - PyObject_Free(m->defaults); - m->defaults = NULL; - } - return 0; -} -static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - if (__Pyx_CyFunction_weakreflist(m) != NULL) - PyObject_ClearWeakRefs((PyObject *) m); - __Pyx_CyFunction_clear(m); - __Pyx_PyHeapTypeObject_GC_Del(m); -} -static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) -{ - PyObject_GC_UnTrack(m); - __Pyx__CyFunction_dealloc(m); -} -static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) -{ - Py_VISIT(m->func_closure); -#if CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(m->func); -#else - Py_VISIT(((PyCFunctionObject*)m)->m_module); -#endif - Py_VISIT(m->func_dict); - Py_VISIT(m->func_name); - Py_VISIT(m->func_qualname); - Py_VISIT(m->func_doc); - Py_VISIT(m->func_globals); - Py_VISIT(m->func_code); -#if !CYTHON_COMPILING_IN_LIMITED_API - Py_VISIT(__Pyx_CyFunction_GetClassObj(m)); -#endif - Py_VISIT(m->defaults_tuple); - Py_VISIT(m->defaults_kwdict); - Py_VISIT(m->func_is_coroutine); - if (m->defaults) { - PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); - int i; - for (i = 0; i < m->defaults_pyobjects; i++) - Py_VISIT(pydefaults[i]); - } - return 0; -} -static PyObject* -__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) -{ -#if PY_MAJOR_VERSION >= 3 - return PyUnicode_FromFormat("", - op->func_qualname, (void *)op); -#else - return PyString_FromFormat("", - PyString_AsString(op->func_qualname), (void *)op); -#endif -} -static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { -#if CYTHON_COMPILING_IN_LIMITED_API - PyObject *f = ((__pyx_CyFunctionObject*)func)->func; - PyObject *py_name = NULL; - PyCFunction meth; - int flags; - meth = PyCFunction_GetFunction(f); - if (unlikely(!meth)) return NULL; - flags = PyCFunction_GetFlags(f); - if (unlikely(flags < 0)) return NULL; -#else - PyCFunctionObject* f = (PyCFunctionObject*)func; - PyCFunction meth = f->m_ml->ml_meth; - int flags = f->m_ml->ml_flags; -#endif - Py_ssize_t size; - switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { - case METH_VARARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) - return (*meth)(self, arg); - break; - case METH_VARARGS | METH_KEYWORDS: - return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); - case METH_NOARGS: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 0)) - return (*meth)(self, NULL); -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - case METH_O: - if (likely(kw == NULL || PyDict_Size(kw) == 0)) { -#if CYTHON_ASSUME_SAFE_MACROS - size = PyTuple_GET_SIZE(arg); -#else - size = PyTuple_Size(arg); - if (unlikely(size < 0)) return NULL; -#endif - if (likely(size == 1)) { - PyObject *result, *arg0; - #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - arg0 = PyTuple_GET_ITEM(arg, 0); - #else - arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; - #endif - result = (*meth)(self, arg0); - #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) - Py_DECREF(arg0); - #endif - return result; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, - "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - py_name, size); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - f->m_ml->ml_name, size); -#endif - return NULL; - } - break; - default: - PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); - return NULL; - } -#if CYTHON_COMPILING_IN_LIMITED_API - py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL); - if (!py_name) return NULL; - PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments", - py_name); - Py_DECREF(py_name); -#else - PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", - f->m_ml->ml_name); -#endif - return NULL; -} -static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { - PyObject *self, *result; -#if CYTHON_COMPILING_IN_LIMITED_API - self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func); - if (unlikely(!self) && PyErr_Occurred()) return NULL; -#else - self = ((PyCFunctionObject*)func)->m_self; -#endif - result = __Pyx_CyFunction_CallMethod(func, self, arg, kw); - return result; -} -static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { - PyObject *result; - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; -#if CYTHON_METH_FASTCALL - __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc); - if (vc) { -#if CYTHON_ASSUME_SAFE_MACROS - return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw); -#else - (void) &__Pyx_PyVectorcall_FastCallDict; - return PyVectorcall_Call(func, args, kw); -#endif - } -#endif - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - Py_ssize_t argc; - PyObject *new_args; - PyObject *self; -#if CYTHON_ASSUME_SAFE_MACROS - argc = PyTuple_GET_SIZE(args); -#else - argc = PyTuple_Size(args); - if (unlikely(!argc) < 0) return NULL; -#endif - new_args = PyTuple_GetSlice(args, 1, argc); - if (unlikely(!new_args)) - return NULL; - self = PyTuple_GetItem(args, 0); - if (unlikely(!self)) { - Py_DECREF(new_args); -#if PY_MAJOR_VERSION > 2 - PyErr_Format(PyExc_TypeError, - "unbound method %.200S() needs an argument", - cyfunc->func_qualname); -#else - PyErr_SetString(PyExc_TypeError, - "unbound method needs an argument"); -#endif - return NULL; - } - result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); - Py_DECREF(new_args); - } else { - result = __Pyx_CyFunction_Call(func, args, kw); - } - return result; -} -#if CYTHON_METH_FASTCALL -static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames) -{ - int ret = 0; - if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { - if (unlikely(nargs < 1)) { - PyErr_Format(PyExc_TypeError, "%.200s() needs an argument", - ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - ret = 1; - } - if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); - return -1; - } - return ret; -} -static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 0)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, NULL); -} -static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - if (unlikely(nargs != 1)) { - PyErr_Format(PyExc_TypeError, - "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", - def->ml_name, nargs); - return NULL; - } - return def->ml_meth(self, args[0]); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames); -} -static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) -{ - __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; - PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; - PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc); -#if CYTHON_BACKPORT_VECTORCALL - Py_ssize_t nargs = (Py_ssize_t)nargsf; -#else - Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); -#endif - PyObject *self; - switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { - case 1: - self = args[0]; - args += 1; - nargs -= 1; - break; - case 0: - self = ((PyCFunctionObject*)cyfunc)->m_self; - break; - default: - return NULL; - } - return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames); -} -#endif -#if CYTHON_USE_TYPE_SPECS -static PyType_Slot __pyx_CyFunctionType_slots[] = { - {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc}, - {Py_tp_repr, (void *)__Pyx_CyFunction_repr}, - {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod}, - {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse}, - {Py_tp_clear, (void *)__Pyx_CyFunction_clear}, - {Py_tp_methods, (void *)__pyx_CyFunction_methods}, - {Py_tp_members, (void *)__pyx_CyFunction_members}, - {Py_tp_getset, (void *)__pyx_CyFunction_getsets}, - {Py_tp_descr_get, (void *)__Pyx_PyMethod_New}, - {0, 0}, -}; -static PyType_Spec __pyx_CyFunctionType_spec = { - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL) - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - __pyx_CyFunctionType_slots -}; -#else -static PyTypeObject __pyx_CyFunctionType_type = { - PyVarObject_HEAD_INIT(0, 0) - __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", - sizeof(__pyx_CyFunctionObject), - 0, - (destructor) __Pyx_CyFunction_dealloc, -#if !CYTHON_METH_FASTCALL - 0, -#elif CYTHON_BACKPORT_VECTORCALL - (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall), -#else - offsetof(PyCFunctionObject, vectorcall), -#endif - 0, - 0, -#if PY_MAJOR_VERSION < 3 - 0, -#else - 0, -#endif - (reprfunc) __Pyx_CyFunction_repr, - 0, - 0, - 0, - 0, - __Pyx_CyFunction_CallAsMethod, - 0, - 0, - 0, - 0, -#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR - Py_TPFLAGS_METHOD_DESCRIPTOR | -#endif -#if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL - _Py_TPFLAGS_HAVE_VECTORCALL | -#endif - Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, - 0, - (traverseproc) __Pyx_CyFunction_traverse, - (inquiry) __Pyx_CyFunction_clear, - 0, -#if PY_VERSION_HEX < 0x030500A0 - offsetof(__pyx_CyFunctionObject, func_weakreflist), -#else - offsetof(PyCFunctionObject, m_weakreflist), -#endif - 0, - 0, - __pyx_CyFunction_methods, - __pyx_CyFunction_members, - __pyx_CyFunction_getsets, - 0, - 0, - __Pyx_PyMethod_New, - 0, - offsetof(__pyx_CyFunctionObject, func_dict), - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, -#if PY_VERSION_HEX >= 0x030400a1 - 0, -#endif -#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) - 0, -#endif -#if __PYX_NEED_TP_PRINT_SLOT - 0, -#endif -#if PY_VERSION_HEX >= 0x030C0000 - 0, -#endif -#if PY_VERSION_HEX >= 0x030d00A4 - 0, -#endif -#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000 - 0, -#endif -}; -#endif -static int __pyx_CyFunction_init(PyObject *module) { -#if CYTHON_USE_TYPE_SPECS - __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL); -#else - CYTHON_UNUSED_VAR(module); - __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); -#endif - if (unlikely(__pyx_CyFunctionType == NULL)) { - return -1; - } - return 0; -} -static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults = PyObject_Malloc(size); - if (unlikely(!m->defaults)) - return PyErr_NoMemory(); - memset(m->defaults, 0, size); - m->defaults_pyobjects = pyobjects; - m->defaults_size = size; - return m->defaults; -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_tuple = tuple; - Py_INCREF(tuple); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->defaults_kwdict = dict; - Py_INCREF(dict); -} -static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { - __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; - m->func_annotations = dict; - Py_INCREF(dict); -} - -/* CythonFunction */ - static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, - PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { - PyObject *op = __Pyx_CyFunction_Init( - PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), - ml, flags, qualname, closure, module, globals, code - ); - if (likely(op)) { - PyObject_GC_Track(op); - } - return op; -} - -/* CLineInTraceback */ - #ifndef CYTHON_CLINE_IN_TRACEBACK -static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { - PyObject *use_cline; - PyObject *ptype, *pvalue, *ptraceback; -#if CYTHON_COMPILING_IN_CPYTHON - PyObject **cython_runtime_dict; -#endif - CYTHON_MAYBE_UNUSED_VAR(tstate); - if (unlikely(!__pyx_cython_runtime)) { - return c_line; - } - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); -#if CYTHON_COMPILING_IN_CPYTHON - cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); - if (likely(cython_runtime_dict)) { - __PYX_PY_DICT_LOOKUP_IF_MODIFIED( - use_cline, *cython_runtime_dict, - __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) - } else -#endif - { - PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); - if (use_cline_obj) { - use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; - Py_DECREF(use_cline_obj); - } else { - PyErr_Clear(); - use_cline = NULL; - } - } - if (!use_cline) { - c_line = 0; - (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); - } - else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { - c_line = 0; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - return c_line; -} -#endif - -/* CodeObjectCache */ - #if !CYTHON_COMPILING_IN_LIMITED_API -static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { - int start = 0, mid = 0, end = count - 1; - if (end >= 0 && code_line > entries[end].code_line) { - return count; - } - while (start < end) { - mid = start + (end - start) / 2; - if (code_line < entries[mid].code_line) { - end = mid; - } else if (code_line > entries[mid].code_line) { - start = mid + 1; - } else { - return mid; - } - } - if (code_line <= entries[mid].code_line) { - return mid; - } else { - return mid + 1; - } -} -static PyCodeObject *__pyx_find_code_object(int code_line) { - PyCodeObject* code_object; - int pos; - if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { - return NULL; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { - return NULL; - } - code_object = __pyx_code_cache.entries[pos].code_object; - Py_INCREF(code_object); - return code_object; -} -static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { - int pos, i; - __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; - if (unlikely(!code_line)) { - return; - } - if (unlikely(!entries)) { - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); - if (likely(entries)) { - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = 64; - __pyx_code_cache.count = 1; - entries[0].code_line = code_line; - entries[0].code_object = code_object; - Py_INCREF(code_object); - } - return; - } - pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); - if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { - PyCodeObject* tmp = entries[pos].code_object; - entries[pos].code_object = code_object; - Py_DECREF(tmp); - return; - } - if (__pyx_code_cache.count == __pyx_code_cache.max_count) { - int new_max = __pyx_code_cache.max_count + 64; - entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( - __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); - if (unlikely(!entries)) { - return; - } - __pyx_code_cache.entries = entries; - __pyx_code_cache.max_count = new_max; - } - for (i=__pyx_code_cache.count; i>pos; i--) { - entries[i] = entries[i-1]; - } - entries[pos].code_line = code_line; - entries[pos].code_object = code_object; - __pyx_code_cache.count++; - Py_INCREF(code_object); -} -#endif - -/* AddTraceback */ - #include "compile.h" -#include "frameobject.h" -#include "traceback.h" -#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION) - #ifndef Py_BUILD_CORE - #define Py_BUILD_CORE 1 - #endif - #include "internal/pycore_frame.h" -#endif -#if CYTHON_COMPILING_IN_LIMITED_API -static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict, - PyObject *firstlineno, PyObject *name) { - PyObject *replace = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL; - replace = PyObject_GetAttrString(code, "replace"); - if (likely(replace)) { - PyObject *result; - result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict); - Py_DECREF(replace); - return result; - } - PyErr_Clear(); - #if __PYX_LIMITED_VERSION_HEX < 0x030780000 - { - PyObject *compiled = NULL, *result = NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL; - if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL; - compiled = Py_CompileString( - "out = type(code)(\n" - " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n" - " code.co_flags, code.co_code, code.co_consts, code.co_names,\n" - " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n" - " code.co_lnotab)\n", "", Py_file_input); - if (!compiled) return NULL; - result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict); - Py_DECREF(compiled); - if (!result) PyErr_Print(); - Py_DECREF(result); - result = PyDict_GetItemString(scratch_dict, "out"); - if (result) Py_INCREF(result); - return result; - } - #else - return NULL; - #endif -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL; - PyObject *replace = NULL, *getframe = NULL, *frame = NULL; - PyObject *exc_type, *exc_value, *exc_traceback; - int success = 0; - if (c_line) { - (void) __pyx_cfilenm; - (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line); - } - PyErr_Fetch(&exc_type, &exc_value, &exc_traceback); - code_object = Py_CompileString("_getframe()", filename, Py_eval_input); - if (unlikely(!code_object)) goto bad; - py_py_line = PyLong_FromLong(py_line); - if (unlikely(!py_py_line)) goto bad; - py_funcname = PyUnicode_FromString(funcname); - if (unlikely(!py_funcname)) goto bad; - dict = PyDict_New(); - if (unlikely(!dict)) goto bad; - { - PyObject *old_code_object = code_object; - code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname); - Py_DECREF(old_code_object); - } - if (unlikely(!code_object)) goto bad; - getframe = PySys_GetObject("_getframe"); - if (unlikely(!getframe)) goto bad; - if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad; - frame = PyEval_EvalCode(code_object, dict, dict); - if (unlikely(!frame) || frame == Py_None) goto bad; - success = 1; - bad: - PyErr_Restore(exc_type, exc_value, exc_traceback); - Py_XDECREF(code_object); - Py_XDECREF(py_py_line); - Py_XDECREF(py_funcname); - Py_XDECREF(dict); - Py_XDECREF(replace); - if (success) { - PyTraceBack_Here( - (struct _frame*)frame); - } - Py_XDECREF(frame); -} -#else -static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( - const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = NULL; - PyObject *py_funcname = NULL; - #if PY_MAJOR_VERSION < 3 - PyObject *py_srcfile = NULL; - py_srcfile = PyString_FromString(filename); - if (!py_srcfile) goto bad; - #endif - if (c_line) { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - #else - py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); - if (!py_funcname) goto bad; - funcname = PyUnicode_AsUTF8(py_funcname); - if (!funcname) goto bad; - #endif - } - else { - #if PY_MAJOR_VERSION < 3 - py_funcname = PyString_FromString(funcname); - if (!py_funcname) goto bad; - #endif - } - #if PY_MAJOR_VERSION < 3 - py_code = __Pyx_PyCode_New( - 0, - 0, - 0, - 0, - 0, - 0, - __pyx_empty_bytes, /*PyObject *code,*/ - __pyx_empty_tuple, /*PyObject *consts,*/ - __pyx_empty_tuple, /*PyObject *names,*/ - __pyx_empty_tuple, /*PyObject *varnames,*/ - __pyx_empty_tuple, /*PyObject *freevars,*/ - __pyx_empty_tuple, /*PyObject *cellvars,*/ - py_srcfile, /*PyObject *filename,*/ - py_funcname, /*PyObject *name,*/ - py_line, - __pyx_empty_bytes /*PyObject *lnotab*/ - ); - Py_DECREF(py_srcfile); - #else - py_code = PyCode_NewEmpty(filename, funcname, py_line); - #endif - Py_XDECREF(py_funcname); - return py_code; -bad: - Py_XDECREF(py_funcname); - #if PY_MAJOR_VERSION < 3 - Py_XDECREF(py_srcfile); - #endif - return NULL; -} -static void __Pyx_AddTraceback(const char *funcname, int c_line, - int py_line, const char *filename) { - PyCodeObject *py_code = 0; - PyFrameObject *py_frame = 0; - PyThreadState *tstate = __Pyx_PyThreadState_Current; - PyObject *ptype, *pvalue, *ptraceback; - if (c_line) { - c_line = __Pyx_CLineForTraceback(tstate, c_line); - } - py_code = __pyx_find_code_object(c_line ? -c_line : py_line); - if (!py_code) { - __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); - py_code = __Pyx_CreateCodeObjectForTraceback( - funcname, c_line, py_line, filename); - if (!py_code) { - /* If the code object creation fails, then we should clear the - fetched exception references and propagate the new exception */ - Py_XDECREF(ptype); - Py_XDECREF(pvalue); - Py_XDECREF(ptraceback); - goto bad; - } - __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); - __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); - } - py_frame = PyFrame_New( - tstate, /*PyThreadState *tstate,*/ - py_code, /*PyCodeObject *code,*/ - __pyx_d, /*PyObject *globals,*/ - 0 /*PyObject *locals*/ - ); - if (!py_frame) goto bad; - __Pyx_PyFrame_SetLineNumber(py_frame, py_line); - PyTraceBack_Here(py_frame); -bad: - Py_XDECREF(py_code); - Py_XDECREF(py_frame); -} -#endif - -/* CIntToPy */ - static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; - if (is_unsigned) { - if (sizeof(long) < sizeof(long)) { - return PyInt_FromLong((long) value); - } else if (sizeof(long) <= sizeof(unsigned long)) { - return PyLong_FromUnsignedLong((unsigned long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { - return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); -#endif - } - } else { - if (sizeof(long) <= sizeof(long)) { - return PyInt_FromLong((long) value); -#ifdef HAVE_LONG_LONG - } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { - return PyLong_FromLongLong((PY_LONG_LONG) value); -#endif - } - } - { - unsigned char *bytes = (unsigned char *)&value; -#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4 - if (is_unsigned) { - return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1); - } else { - return PyLong_FromNativeBytes(bytes, sizeof(value), -1); - } -#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000 - int one = 1; int little = (int)*(unsigned char *)&one; - return _PyLong_FromByteArray(bytes, sizeof(long), - little, !is_unsigned); -#else - int one = 1; int little = (int)*(unsigned char *)&one; - PyObject *from_bytes, *result = NULL; - PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL; - from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes"); - if (!from_bytes) return NULL; - py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long)); - if (!py_bytes) goto limited_bad; - order_str = PyUnicode_FromString(little ? "little" : "big"); - if (!order_str) goto limited_bad; - arg_tuple = PyTuple_Pack(2, py_bytes, order_str); - if (!arg_tuple) goto limited_bad; - if (!is_unsigned) { - kwds = PyDict_New(); - if (!kwds) goto limited_bad; - if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad; - } - result = PyObject_Call(from_bytes, arg_tuple, kwds); - limited_bad: - Py_XDECREF(kwds); - Py_XDECREF(arg_tuple); - Py_XDECREF(order_str); - Py_XDECREF(py_bytes); - Py_XDECREF(from_bytes); - return result; -#endif - } -} - -/* FormatTypeName */ - #if CYTHON_COMPILING_IN_LIMITED_API -static __Pyx_TypeName -__Pyx_PyType_GetName(PyTypeObject* tp) -{ - PyObject *name = __Pyx_PyObject_GetAttrStr((PyObject *)tp, - __pyx_n_s_name); - if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) { - PyErr_Clear(); - Py_XDECREF(name); - name = __Pyx_NewRef(__pyx_n_s__36); - } - return name; -} -#endif - -/* CIntFromPyVerify */ - #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) -#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ - __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) -#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\ - {\ - func_type value = func_value;\ - if (sizeof(target_type) < sizeof(func_type)) {\ - if (unlikely(value != (func_type) (target_type) value)) {\ - func_type zero = 0;\ - if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\ - return (target_type) -1;\ - if (is_unsigned && unlikely(value < zero))\ - goto raise_neg_overflow;\ - else\ - goto raise_overflow;\ - }\ - }\ - return (target_type) value;\ - } - -/* CIntFromPy */ - static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const long neg_one = (long) -1, const_zero = (long) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(long) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (long) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - long val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (long) -1; - val = __Pyx_PyInt_As_long(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) { - return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) { - return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) { - return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (long) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(long) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { - return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(long) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - long val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (long) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (long) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (long) -1; - } else { - stepval = v; - } - v = NULL; - val = (long) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((long) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((long) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (long) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to long"); - return (long) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to long"); - return (long) -1; -} - -/* CIntFromPy */ - static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wconversion" -#endif - const int neg_one = (int) -1, const_zero = (int) 0; -#ifdef __Pyx_HAS_GCC_DIAGNOSTIC -#pragma GCC diagnostic pop -#endif - const int is_unsigned = neg_one > const_zero; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x))) { - if ((sizeof(int) < sizeof(long))) { - __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) - } else { - long val = PyInt_AS_LONG(x); - if (is_unsigned && unlikely(val < 0)) { - goto raise_neg_overflow; - } - return (int) val; - } - } -#endif - if (unlikely(!PyLong_Check(x))) { - int val; - PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); - if (!tmp) return (int) -1; - val = __Pyx_PyInt_As_int(tmp); - Py_DECREF(tmp); - return val; - } - if (is_unsigned) { -#if CYTHON_USE_PYLONG_INTERNALS - if (unlikely(__Pyx_PyLong_IsNeg(x))) { - goto raise_neg_overflow; - } else if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_DigitCount(x)) { - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) { - return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) { - return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) { - return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); - } - } - break; - } - } -#endif -#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7 - if (unlikely(Py_SIZE(x) < 0)) { - goto raise_neg_overflow; - } -#else - { - int result = PyObject_RichCompareBool(x, Py_False, Py_LT); - if (unlikely(result < 0)) - return (int) -1; - if (unlikely(result == 1)) - goto raise_neg_overflow; - } -#endif - if ((sizeof(int) <= sizeof(unsigned long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) -#endif - } - } else { -#if CYTHON_USE_PYLONG_INTERNALS - if (__Pyx_PyLong_IsCompact(x)) { - __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) - } else { - const digit* digits = __Pyx_PyLong_Digits(x); - assert(__Pyx_PyLong_DigitCount(x) > 1); - switch (__Pyx_PyLong_SignedDigitCount(x)) { - case -2: - if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 2: - if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -3: - if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 3: - if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case -4: - if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - case 4: - if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { - if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { - __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) - } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { - return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); - } - } - break; - } - } -#endif - if ((sizeof(int) <= sizeof(long))) { - __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) -#ifdef HAVE_LONG_LONG - } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) { - __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) -#endif - } - } - { - int val; - int ret = -1; -#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API - Py_ssize_t bytes_copied = PyLong_AsNativeBytes( - x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0)); - if (unlikely(bytes_copied == -1)) { - } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) { - goto raise_overflow; - } else { - ret = 0; - } -#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray) - int one = 1; int is_little = (int)*(unsigned char *)&one; - unsigned char *bytes = (unsigned char *)&val; - ret = _PyLong_AsByteArray((PyLongObject *)x, - bytes, sizeof(val), - is_little, !is_unsigned); -#else - PyObject *v; - PyObject *stepval = NULL, *mask = NULL, *shift = NULL; - int bits, remaining_bits, is_negative = 0; - int chunk_size = (sizeof(long) < 8) ? 30 : 62; - if (likely(PyLong_CheckExact(x))) { - v = __Pyx_NewRef(x); - } else { - v = PyNumber_Long(x); - if (unlikely(!v)) return (int) -1; - assert(PyLong_CheckExact(v)); - } - { - int result = PyObject_RichCompareBool(v, Py_False, Py_LT); - if (unlikely(result < 0)) { - Py_DECREF(v); - return (int) -1; - } - is_negative = result == 1; - } - if (is_unsigned && unlikely(is_negative)) { - Py_DECREF(v); - goto raise_neg_overflow; - } else if (is_negative) { - stepval = PyNumber_Invert(v); - Py_DECREF(v); - if (unlikely(!stepval)) - return (int) -1; - } else { - stepval = v; - } - v = NULL; - val = (int) 0; - mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; - shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; - for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) { - PyObject *tmp, *digit; - long idigit; - digit = PyNumber_And(stepval, mask); - if (unlikely(!digit)) goto done; - idigit = PyLong_AsLong(digit); - Py_DECREF(digit); - if (unlikely(idigit < 0)) goto done; - val |= ((int) idigit) << bits; - tmp = PyNumber_Rshift(stepval, shift); - if (unlikely(!tmp)) goto done; - Py_DECREF(stepval); stepval = tmp; - } - Py_DECREF(shift); shift = NULL; - Py_DECREF(mask); mask = NULL; - { - long idigit = PyLong_AsLong(stepval); - if (unlikely(idigit < 0)) goto done; - remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1); - if (unlikely(idigit >= (1L << remaining_bits))) - goto raise_overflow; - val |= ((int) idigit) << bits; - } - if (!is_unsigned) { - if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1)))) - goto raise_overflow; - if (is_negative) - val = ~val; - } - ret = 0; - done: - Py_XDECREF(shift); - Py_XDECREF(mask); - Py_XDECREF(stepval); -#endif - if (unlikely(ret)) - return (int) -1; - return val; - } -raise_overflow: - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); - return (int) -1; -raise_neg_overflow: - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to int"); - return (int) -1; -} - -/* FastTypeChecks */ - #if CYTHON_COMPILING_IN_CPYTHON -static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { - while (a) { - a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*); - if (a == b) - return 1; - } - return b == &PyBaseObject_Type; -} -static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (a == b) return 1; - mro = a->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(a, b); -} -static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) { - PyObject *mro; - if (cls == a || cls == b) return 1; - mro = cls->tp_mro; - if (likely(mro)) { - Py_ssize_t i, n; - n = PyTuple_GET_SIZE(mro); - for (i = 0; i < n; i++) { - PyObject *base = PyTuple_GET_ITEM(mro, i); - if (base == (PyObject *)a || base == (PyObject *)b) - return 1; - } - return 0; - } - return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b); -} -#if PY_MAJOR_VERSION == 2 -static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { - PyObject *exception, *value, *tb; - int res; - __Pyx_PyThreadState_declare - __Pyx_PyThreadState_assign - __Pyx_ErrFetch(&exception, &value, &tb); - res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - if (!res) { - res = PyObject_IsSubclass(err, exc_type2); - if (unlikely(res == -1)) { - PyErr_WriteUnraisable(err); - res = 0; - } - } - __Pyx_ErrRestore(exception, value, tb); - return res; -} -#else -static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { - if (exc_type1) { - return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2); - } else { - return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); - } -} -#endif -static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { - Py_ssize_t i, n; - assert(PyExceptionClass_Check(exc_type)); - n = PyTuple_GET_SIZE(tuple); -#if PY_MAJOR_VERSION >= 3 - for (i=0; i= 0x030B00A4 - return Py_Version & ~0xFFUL; -#else - const char* rt_version = Py_GetVersion(); - unsigned long version = 0; - unsigned long factor = 0x01000000UL; - unsigned int digit = 0; - int i = 0; - while (factor) { - while ('0' <= rt_version[i] && rt_version[i] <= '9') { - digit = digit * 10 + (unsigned int) (rt_version[i] - '0'); - ++i; - } - version += factor * digit; - if (rt_version[i] != '.') - break; - digit = 0; - factor >>= 8; - ++i; - } - return version; -#endif -} -static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) { - const unsigned long MAJOR_MINOR = 0xFFFF0000UL; - if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR)) - return 0; - if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR))) - return 1; - { - char message[200]; - PyOS_snprintf(message, sizeof(message), - "compile time Python version %d.%d " - "of module '%.100s' " - "%s " - "runtime version %d.%d", - (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF), - __Pyx_MODULE_NAME, - (allow_newer) ? "was newer than" : "does not match", - (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF) - ); - return PyErr_WarnEx(NULL, message, 1); - } -} - -/* InitStrings */ - #if PY_MAJOR_VERSION >= 3 -static int __Pyx_InitString(__Pyx_StringTabEntry t, PyObject **str) { - if (t.is_unicode | t.is_str) { - if (t.intern) { - *str = PyUnicode_InternFromString(t.s); - } else if (t.encoding) { - *str = PyUnicode_Decode(t.s, t.n - 1, t.encoding, NULL); - } else { - *str = PyUnicode_FromStringAndSize(t.s, t.n - 1); - } - } else { - *str = PyBytes_FromStringAndSize(t.s, t.n - 1); - } - if (!*str) - return -1; - if (PyObject_Hash(*str) == -1) - return -1; - return 0; -} -#endif -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { - while (t->p) { - #if PY_MAJOR_VERSION >= 3 - __Pyx_InitString(*t, t->p); - #else - if (t->is_unicode) { - *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); - } else if (t->intern) { - *t->p = PyString_InternFromString(t->s); - } else { - *t->p = PyString_FromStringAndSize(t->s, t->n - 1); - } - if (!*t->p) - return -1; - if (PyObject_Hash(*t->p) == -1) - return -1; - #endif - ++t; - } - return 0; -} - -#include -static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) { - size_t len = strlen(s); - if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) { - PyErr_SetString(PyExc_OverflowError, "byte string is too long"); - return -1; - } - return (Py_ssize_t) len; -} -static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return __Pyx_PyUnicode_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) { - Py_ssize_t len = __Pyx_ssize_strlen(c_str); - if (unlikely(len < 0)) return NULL; - return PyByteArray_FromStringAndSize(c_str, len); -} -static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { - Py_ssize_t ignore; - return __Pyx_PyObject_AsStringAndSize(o, &ignore); -} -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT -#if !CYTHON_PEP393_ENABLED -static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - char* defenc_c; - PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); - if (!defenc) return NULL; - defenc_c = PyBytes_AS_STRING(defenc); -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - { - char* end = defenc_c + PyBytes_GET_SIZE(defenc); - char* c; - for (c = defenc_c; c < end; c++) { - if ((unsigned char) (*c) >= 128) { - PyUnicode_AsASCIIString(o); - return NULL; - } - } - } -#endif - *length = PyBytes_GET_SIZE(defenc); - return defenc_c; -} -#else -static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { - if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - if (likely(PyUnicode_IS_ASCII(o))) { - *length = PyUnicode_GET_LENGTH(o); - return PyUnicode_AsUTF8(o); - } else { - PyUnicode_AsASCIIString(o); - return NULL; - } -#else - return PyUnicode_AsUTF8AndSize(o, length); -#endif -} -#endif -#endif -static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { -#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT - if ( -#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII - __Pyx_sys_getdefaultencoding_not_ascii && -#endif - PyUnicode_Check(o)) { - return __Pyx_PyUnicode_AsStringAndSize(o, length); - } else -#endif -#if (!CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)) - if (PyByteArray_Check(o)) { - *length = PyByteArray_GET_SIZE(o); - return PyByteArray_AS_STRING(o); - } else -#endif - { - char* result; - int r = PyBytes_AsStringAndSize(o, &result, length); - if (unlikely(r < 0)) { - return NULL; - } else { - return result; - } - } -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { - int is_true = x == Py_True; - if (is_true | (x == Py_False) | (x == Py_None)) return is_true; - else return PyObject_IsTrue(x); -} -static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { - int retval; - if (unlikely(!x)) return -1; - retval = __Pyx_PyObject_IsTrue(x); - Py_DECREF(x); - return retval; -} -static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { - __Pyx_TypeName result_type_name = __Pyx_PyType_GetName(Py_TYPE(result)); -#if PY_MAJOR_VERSION >= 3 - if (PyLong_Check(result)) { - if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, - "__int__ returned non-int (type " __Pyx_FMT_TYPENAME "). " - "The ability to return an instance of a strict subclass of int is deprecated, " - "and may be removed in a future version of Python.", - result_type_name)) { - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; - } - __Pyx_DECREF_TypeName(result_type_name); - return result; - } -#endif - PyErr_Format(PyExc_TypeError, - "__%.4s__ returned non-%.4s (type " __Pyx_FMT_TYPENAME ")", - type_name, type_name, result_type_name); - __Pyx_DECREF_TypeName(result_type_name); - Py_DECREF(result); - return NULL; -} -static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { -#if CYTHON_USE_TYPE_SLOTS - PyNumberMethods *m; -#endif - const char *name = NULL; - PyObject *res = NULL; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_Check(x) || PyLong_Check(x))) -#else - if (likely(PyLong_Check(x))) -#endif - return __Pyx_NewRef(x); -#if CYTHON_USE_TYPE_SLOTS - m = Py_TYPE(x)->tp_as_number; - #if PY_MAJOR_VERSION < 3 - if (m && m->nb_int) { - name = "int"; - res = m->nb_int(x); - } - else if (m && m->nb_long) { - name = "long"; - res = m->nb_long(x); - } - #else - if (likely(m && m->nb_int)) { - name = "int"; - res = m->nb_int(x); - } - #endif -#else - if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { - res = PyNumber_Int(x); - } -#endif - if (likely(res)) { -#if PY_MAJOR_VERSION < 3 - if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { -#else - if (unlikely(!PyLong_CheckExact(res))) { -#endif - return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); - } - } - else if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_TypeError, - "an integer is required"); - } - return res; -} -static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { - Py_ssize_t ival; - PyObject *x; -#if PY_MAJOR_VERSION < 3 - if (likely(PyInt_CheckExact(b))) { - if (sizeof(Py_ssize_t) >= sizeof(long)) - return PyInt_AS_LONG(b); - else - return PyInt_AsSsize_t(b); - } -#endif - if (likely(PyLong_CheckExact(b))) { - #if CYTHON_USE_PYLONG_INTERNALS - if (likely(__Pyx_PyLong_IsCompact(b))) { - return __Pyx_PyLong_CompactValue(b); - } else { - const digit* digits = __Pyx_PyLong_Digits(b); - const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b); - switch (size) { - case 2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -2: - if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -3: - if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case 4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - case -4: - if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { - return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); - } - break; - } - } - #endif - return PyLong_AsSsize_t(b); - } - x = PyNumber_Index(b); - if (!x) return -1; - ival = PyInt_AsSsize_t(x); - Py_DECREF(x); - return ival; -} -static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { - if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { - return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); -#if PY_MAJOR_VERSION < 3 - } else if (likely(PyInt_CheckExact(o))) { - return PyInt_AS_LONG(o); -#endif - } else { - Py_ssize_t ival; - PyObject *x; - x = PyNumber_Index(o); - if (!x) return -1; - ival = PyInt_AsLong(x); - Py_DECREF(x); - return ival; - } -} -static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { - return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); -} -static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { - return PyInt_FromSize_t(ival); -} - - -/* #### Code section: utility_code_pragmas_end ### */ -#ifdef _MSC_VER -#pragma warning( pop ) -#endif - - - -/* #### Code section: end ### */ -#endif /* Py_PYTHON_H */ diff --git a/handlers/payments/yookassa_pay.cpython-312-x86_64-linux-gnu.so b/handlers/payments/yookassa_pay.cpython-312-x86_64-linux-gnu.so old mode 100755 new mode 100644 index 4e1645f7d08a4e9c3dbf1dca00df404a4715e76a..47d0ff3b4c8cc80a5601e76287927f92a023004e GIT binary patch literal 442264 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